软件开发需要的是专注而不是专制
我原来的单位是个伟大的单位,它有着辉煌的历史,有着傲人的成绩,它也是较早实施GJB5000的单位之一。
在GJB5000发布实施之后不久,单位就开始筹备实施GJB5000。
那时的我,还是一个从元器件材料专业毕业,没有多少软件工程知识,却一头扎进GJB5000的圈子当中的懵懂青年。好在,我善于学习,喜欢思考,渐渐的跟上了那些专家的脚步。
实施GJB5000的初期,经常会听到有以下争议:作为一个开发人员,他需要不需要了解GJB5000,需要不需要了解软件过程管理体系;作为管理者,是希望有一个听话的按照自己的指令行事,专注于开发活动,致力于交付高质量软件的程序员,还是希望有一个边工作边思考还能帮助自己改进过程的开发者?
有些专家认为,开发人员不需要了解那么多管理体系,只要在流程上明确他们何时该做什么,完成的工作应达到什么样的标准就行;但是外部评价访谈时这样的人通常会表现很差,甚至连GJB5000体系里面的一些专有术语都不知道是啥,会显得组织的GJB5000实施水平低下。
这个问题我也纠结了很久,直到我看到了敏捷团队的角色和职责。
敏捷开发注重的是开发出来的产品的价值,这是开发的核心,其他的一切都应围绕它来进行。
而一个人的精力是有限的,如果开发人员不能把他的时间和精力投入到产品开发上面,他就不可能开发出好的产品。那些管理活动,包括与利益相关方的沟通、技术策略的制定、发布计划的开发、工作环境的建立等都有团队中的管理者负责,他们为开发人员扫清所有开发过程中的障碍,使得开发人员可以全身心地投入到开发活动中来。
而且开发人员不是教条地按照领导的要求去做,他们可以选择自己感兴趣的工作去完成,可以相互之间进行技术上的交流和学习。
他们专注于技术,但又有一定的自由。这样的氛围也许才能发挥出敏捷所提倡的人的主观能动性,从而开发出高价值的产品。
所以,软件开发需要的是专注而不是专制。
这正是:
开发是个技术活,需要专注不分心
但是管理要配合,不能专制管太死
参考数目:规范敏捷交付——企业级敏捷软件交付的方法与实践,作者:Scott W.Ambler Mark Lines,出版社:机械工业出版社
夜雨聆风
