探索与分享软件工程中的创新
序言
我们信心满满的进入一个项目组,以高昂的士气推进项目,并预期着项目顺利验收。而随着项目的进行,在某一天会突然发现项目变得难以推进,在一些小问题中浪费了很多时间。更糟糕的是解决一个问题之后,出现了一系列新的问题!天哪,这简直就是陷入了一个无底的漩涡。随之而来的就是进度落后,加班无穷无尽;团队成员情绪焦躁,开始各种互相伤害,甚至有人离开团队;最可怕的是输出成果与客户预期大相径庭,于是各种在程序员们看来是千奇百怪的需求冒了出来,接下来的一段时间便会陷入“改改改!拖拖拖!”的怪圈,至此项目已经完全失败。
其实软件工程早就告诉我们如何管理,这类知识表达的无非是:首先必须做好需求,并且要控制甚至是冻结需求变更;接下来做好时间管量,文档管理,配置管理,版本控制。制定好项目各个阶段的里程碑,分配好各阶段需要的资源;然后做好人员管理,外包管理。做好各种沟通工作,包括团队内部的沟通、与客户的沟通、与监理的沟通;最后做好项目的验收工作以及运维计划,整个项目就可以结束了。
然而在软件工程的指导下仍然不乏因为管理原因造成的软件项目失败。当初“软件工程”的诞生就是应对“软件危机”,而在以此来看我们似乎并没有摆脱“软件危机”。
在我看来,这一切根本原因为在于软件领域的单位生产力不足。这一项的不足制约着软件公司生产效率,进而制约着生产大规模软件的能力。多少程序员因为低效沦为码奴,多少有想法有追求的团队因为生产效率低最终只能沦为一支外包团队,多少创业公司因为低效而倒下。
因此,我萌生写这么一本书的想法,用我的理论和实践来探索新的方法,并分享经验教训,希望您能觉得这是一本有用的书。
网友评论