十几年前,有个小老乡,985计算机专业硕士,品学兼优,编程了得,应届毕业后过五关斩六将入职某大公司,待遇丰厚,干了短短不到两年,买房买车提上议事日程,女友催婚,前途大好。
突然一日,小老乡前来拜访,颜容憔悴,神情黯然。问其缘由,果然受了打击。原来,小老乡作为某项目组小组长,带了五六个人,驻扎客户现场,没日没夜搞开发。开始还算顺利,后来换了个比较刁的客户接口,软件改来改去总是验收不过,天天出版本,但总被客户挖到五花八门似是而非的问题,眼看时间不多,小伙子们几乎崩溃。关键时刻,客户经理出马,陪客户吃了顿小龙虾,这也怪了,后面的验收出奇的顺利。
小老乡感叹,读了这么多书,工作这么努力,居然输给了一顿小龙虾。
关键在于,小老乡没有弄明白,软件开发不仅仅是个技术活,更是一个政治活(技术之外的因素)。
怎么做好项目呢?总结几点:
1、转变观念,技术思维到商业思维
上大学时,我们崇尚的是去开发个操作系统,弄个数据库,要不整个编译器什么的,再次也得整个牛X的算法。结果毕业跑到企业后一看,哪需要你干这些事,这些事老美已经帮我们干得差不多了。相反,一些以前不屑一顾或不怎么会的因素,反而成了主流。比如,在学校时更多的是鼓励你独立去完成某项工作,但在工作中,沟通交流甚至比技术本身还重要。
有人对几十个失败的大中项目进行统计,发现几乎没有技术原因导致的失败。更多的原因在于:项目需求范围无法控制,项目结束时间遥遥无期;组织分工不清,多头指挥,无所适从;不同的部门之间相互角力,互不相让,弄不好也整个平安的打架事件;和客户沟通不畅,总是有很多刁钻难缠的客户;员工离职率奇高……
记住:技术很重要,但在很多情况下,技术并非决定性因素。客户要的是解决问题,而不是你的技术有多先进
2、注重与客户以及内外的沟通交流
程序员最擅长的是面对机器,和人打交道是弱项。
其实,和机器打交道是比较容易的,至少规则恒定,只要IQ还可以,总可以找到解决之道。但人心难测,据调查发现,说服一个人,沟通的方式、环境等甚至比沟通的内容本身还重要。学会让人接受你的观点,或柔软身段去接受别人的观点,这都是对软件开发的重大挑战,很多情况下,并没有绝对的对错。
记住:当你发现,与人斗其乐无穷的时候,你就真的长进了。当然,这里的与人斗不是把别人干倒,而是理解并喜欢上沟通之后。
3、将心比心,感情就是生产力
项目实际中,有很多问题,比如和上下级关系不和,项目组团队成员没有工作动力,员工高离职率等等。这些问题的产生,很大程度上是因为把人当机器管理,总是试图套用一些现成的规则,把人当坏人。
尽管流程很清晰,规则很清楚,但如果完全能够套流程规则,还要你干什么呢,直接机器自动化效率岂不更高。如果把人当机器,基于不信任来管理,东西在人家脑子里,你管得了这么多吗?就算管得了,最后人家还是会选择用脚跑路。
所以,人在这种情况下的优势就发挥出来了,人是有感情的,人是有人性的,管理其实就是对人性的顺从。
我一直认为,管理不仅仅是科学,更是一门艺术。科学可以有板有眼地学习,但艺术则需要大量的实践和时间锤炼,有的操作只能意会不能言传。
试想,前面提到的请客户吃小龙虾,至少这一点就说明,原来项目组和客户的感情连接是脆弱的。哪里有没有问题的软件,找你一点麻烦还不容易。
4、建立一个良好的工作环境
见过很多公司,防民甚于防川,打卡、穿着打扮极其严格;工作位置狭小拥挤,美名其曰便于交流;室内空气污浊,打电话声音不绝于耳;开不完会,写不完的文档;不许出错,一出错严厉处罚……
扪心自问,你自己会喜欢这种环境吗?在这种情况下你可以发挥出最佳效率吗?
答案显然是否定的。己所不欲勿施于人啊,怎么就忘记了这一点呢。
让人快乐地工作,产生的能量可能比复杂的管理高上好几倍。
5、记住一点:加班只是手段,而不是目的
有一位兄弟,某小公司研发负责人,向我诉苦,现在的年轻人啊,似乎不怎么爱工作了,下班后人影都不见了,真的好难管。
我问他:他的工作做完了吗?
答:做完了。
问:那你还想咋地?
答:可以多做一点啊,日期可以提前。
这明显就是你的问题啊,目标定了,人家的结果也达成了,你还想怎么样?有本事当时做计划就做紧一点啊,否则让人干耗在办公室,还浪费你的电费呢!
6、选对人,一个合适的人比不合适的人强上好几倍
一个牛人,效果真的比一个渣人好上至少好几倍。
如果项目不成功,你的为人、你的氛围再好,最后团队恐怕也就散了。
一定要基于项目成功来选择人员以及组建团队。实在太笨的,还是尽早换掉吧,于人于己都是解脱。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!