失败的过程也是过程。他提到做过程不是做工程。也就是告诉我们不能按照固定的模型去做工程,这样就显得特别机械化。一种模型是不可能适合做所有的工程的。所以说在做工程的时候,我们不能只是照着别人的模板去做,我们需要根据实际情况,实事求是的去做好工程的过程。失败了不要紧,没有失败也就找不到自己的不足,也就不会发现自己的问题,更不用谈改进了。我们的前辈们就是在不断的失败中才总结出了“瀑布模型”“螺旋模型”等模型,方便了我们。但是现在有了工程模型之后,我们反而做不出项目来了,究其原因,是我们习惯了模型,却忽略了或者遗忘了建立模型的初衷,只是一味的“照着葫芦画瓢”。虽然在做项目时会经历失败,但那也是一种经验,以后再出现类似情况时我们不会再出错,失败的过程也是过程。
走过场,他们只是按固定的模式一遍又一遍的演下去,只是一场永无休止的演出,其实并没有什么内容,并不是很好的项目。这样的工程就毫无意义可言。
软件开发不同于其他产品的制造,软件的整个过程都是设计过程(没有制造过程)。另外,软件开发不需要使用大量的物质资源,而主要是人力资源;并且,软件开发的产品只是程序代码和技术文件,并没有其他的物质结果。基于上述的特点,软件项目管理与其他项目管理相比,有很大的独特性。所以,软件项目开发管理过程中,不仅要努力实现项目的范围、时间、成本和质量等目标,还必须协调整个项目过程,以满足项目参与者及其他利益相关者的需要和期望;随着软件规模和所涉及的领域不断地扩大,软件项目的管理越来越困难。纵观所有失败的软件项目,基本原因是不能管理其软件过程,在无纪律的、混乱的项目状态下,组织不可能从较好的方法和工具中获益。严谨的软件过程控制与管理不仅可以在每个阶段回顾和纠正项目的偏差,识别软件项目的风险甚至果断中止项目,而且可以将人才流动带来的不利影响减少到最小。要进行有效的过程控制,必须明确软件项目管理流程
我们总是在说“做工程”,好象工程就是面包馒头一样,有个模子,拿来照着一堆面按上一按,放在笼屉上蒸上一蒸,就可以“做”出来了。但是经历过工程的人都知道,我们没有那个模子,而工程中的人员也不是那一堆面。
所以我们当然不能“做”工程,而是要“组织”工程。项目经理的工作,就是要去组织这个工程中的各个角色,使得分工明确,步调一致,共同地完成这个项目。