软件开发管理,以人为本,还是以流程为本

正方观点:软件开发可以通过不断细分的工序化流程来减弱开发人员个人对于项目的影响,只需要少部分人的创造性思维,而大部分开发者则严格按照工序流程进行开发

反方观点:流程管理只能一定程度上控制项目进度和质量,项目的完成情况关键靠个人能力和素质。

辩论前提:这里的软件开发不是指领先技术的开发,例如搜索引擎,3D引擎等,而是普通的企业应用软件开发。

正方论证
某软件开发小组
组长:歪子(管理),道长(架构师)
开发成员:hoho,可乐,小牛,麻子

开发流程之详细设计(DD):
第一步,道长(架构师)构建文档,设计主要的接口类和具体类(方法及重要的成员变量),并在组内进行review
第二步,歪子(管理)根据各个类的功能复杂度分配具体任务,每个开发人员负责完成一部分DD的工作
第三步,歪子(管理)和道长(架构师)每天抽样review每个开发人员DD完成的质量和进度,同时提出修改意见,歪子(管理)则对修改造成的进度影响进行评估和调整
第四步,对于某些十分复杂而且重要的模块,如果负责的开发人员难以完成,则转移给道长(架构师)亲自实施,歪子(管理)对进度进行重新调整
第五步,设计初稿完成后,歪子(管理)组织所有开发人员进行交叉review,制定计划,具体要求每天的最低指摘数,道长(架构师)则对重点模块进行review

在上面的案例中,歪子的主要任务是制定和控制开发进度,严格监督每天的工作量,并对项目风险做出预期判断。道长的主要任务是设计系统架构,细分模块的功能,将复杂的系统拆分成简单的逻辑单元。歪子和道长就是正方观点中所指的具有创造性思维的人员。其他开发人员则在完成细分后的简单逻辑单元基础上,严格按照项目的进度要求进行工序化的开发。

开发流程之程序编码(CD):
第一步,道长(架构师)制定编码规范,并在组内review,要求严格按照编码规范
第二步,道长(架构师)编写主要的接口类和具体类(方法及重要的成员变量),并在组内进行review
第三步,歪子(管理)根据各个类的功能复杂度分配具体任务,每个开发人员负责完成一部分CD的工作
第四步,开发人员在进行CD过程中,必须编写必要的unit test以验证实现的正确性
第五步,道长(架构师)每天抽样review每个开发人员的unit test,确认其合理性
第六步,歪子(管理)每天抽样review每个开发人员CD完成的质量和进度,尤其确保符合编码规范,同时提出修改意见,歪子(管理)则对修改造成的进度影响进行评估和调整
第七步,对CD中出现的技术难点,开发人员应及时提出,必要时组织技术骨干集中攻克,歪子(管理)则对这些因素造成的进度影响进行评估和调整
第八步,CD完成后,歪子(管理)组织所有开发人员进行交叉review,制定计划,具体要求每天的最低指摘数,道长(架构师)则对重点模块进行review

 

To be continued

你可能感兴趣的:(开发管理)