从学通信的博士到从事IT行业的工程师 从原华为项目经理,到现任职公司架构师
分类: 项目管理
2012-12-23 20:44:07
完成一个项目或者一个特性相关的开发工作,对于软件工程 师来说就如履行一份合同或者一份契约和承诺。涉及的甲乙双方应该都对合同所涉及的工作、完成日期以及报酬达成一致意见。如果甲方(通常是客户或者是领导)将合同强加给乙方(通常是软件开发团队或者软件工程师),那么在开发工作开始之前就埋下了项目失败的隐患,这时软件工程师是以被动接受的心态开始具体工作的。对于大多数人来说,这往往表现为一种抵触的情绪,进而表现为消极代工,不主动承担责任。也许这低估了工程师们的职业素养,姑且不说心态的影响,那么强加到工程师头上的工作多是讨论不够充分,需求不够清晰的,如果是在充分讨论需求识别风险的情况,那往往是领导在项目完成时间上不做丝毫退让,不然就不是强加的了。
如何让工程师们乐于接受当前这份开发工作呢?我想首先要让工程师充分了解和讨论新需求的具体工作。一方面这体现出工程师的主人翁地位,毕竟是他/她们将完成合同涉及的实际工作,只有充分尊重他/她们,才是一份平等的合同(我承认合同往往是不平等的)。另外,这有助于需求的澄清以及风险的识别,尤其是那些经验丰富的老手,他/她们的建议至关重要。在前期合同内容充分讨论的基础上,工程师们会给出一个工作量估计和合同完成时间,一般情况下,这和领导们期待的日期相差很远,也许这时候会有一番讨价还价,但最终预计的项目结束日期肯定超出了预想值。不过还好,这毕竟是双方达成的一致意见。工程师们再没有什么理由逃避了吧,这是你认可的工作范围,你承诺了交货时间,你必须为此作出努力。
经过项目开始前充分的讨论,我们解决了大部分的难题,规避了相当多的风险。但是项目开始后,还会有各种各样的问题等着我们。我们还可能会被暗处潜伏的风险击中。前行中的项目,还需要充分调动工程师们的积极性,保持适当的紧张感,不能等到项目进行到90%时才想过味来。每日站会,工作分解,确定工作验收标准,组织讨论识别风险,和上下游沟通项目进展…,工作在紧张而确定的方向上前进!
相比于之前被领导或者客户追着屁股赶的场景,我们似乎掌握了主动权。尽管也会出现问题,但它是我们主动识别的。尽管也会延期,但它是我们主动规避风险下的最小延期。团队的主动工作扭转了颓势!!
究竟是谁改变了这一切呢?这一切似乎都太理想化了!