很多时候我们经常听到,程序员都是很不错的,就是项目做得一点底也没有,这就涉及到一个软件研发的团队具体如何去管理的问题,就中层领导的管理工作来说,主要集中两个方面,即作业和人员,具体下来包括十个要点:
1. 组织结构
2. 岗位职能
3. 方针目标
4. 工作流程
5. 流程控制
6. 危机处理
7. 绩效考核
8. 项目激励
9. 能力培养
10. 团队建设
前六点是针对作业的管理,后四点是针对人本的管理,下面就谈谈软件开发部门在开发管理工作中对管理的要求。
组织结构:
对于从事软件研发的组织来说,就工作类型至少包括项目管理、产品设计、编码、测试、质量保证和软件配置管理,以及其它人员,如文档编制人员和美工人员/系统硬件管理人员等,根据职能需要,可以以半独立方式进行部门和项目的矩阵管理,即职员要对项目经理负责,也要对部门经理负责,工作考核由双方共同完成,标准的组织应包括技术开发部/组(主要是编码和设计人员),产品开发部/组(产品需求和项目管理),测试部/组,配置管理部/组(因为配置管理人员基本上是按20个技术人员配一个配置管理人员,所以一般部门规模较小,或者只是配置管理组),软件质量保障部/组,其它部/组(如系统/文档/美工等)。
当然随着管理的扁平化发展,也可以取消中层管理层,即去掉部门级,而直接由高层经理管理各个项目组,这种情况下减少汇报的环节有助于加强的项目的控制。
因为软件质量保障和软件验收测试的特殊性的要求,软件质量保障部/组和软件测试部/组尽量独立,以方便这两个部门的工作的展开。
就组织的改动来说,一般不赞成一次性大规模的调整,因为在组织中变动过大可能会直接影响到企业的经营,也就是说风险太大,所以合适的时机做合适的调整就很重要。
一般来说,软件研发组织,从零做起的话,那么首先成立研发部,负责设计、编码、测试等,随着项目规模和人员的扩大,会再成立产品部,负责产品需求和项目管理,再之后成立测试部,软件质保部和配置管理部。没有成立部门,可以以组的形式或是兼职的形式存在并挂靠在其它的部中,当然具体一个企业的组织结构还应与其产品特点、公司历史、成员以及公司文化等多种因素相关,它是一个由高级经理总体统筹安排的体系。
岗位职能
明确每个岗位的名称、权利、义务,以及对在岗人员的素质要求和审核办法。做到岗位与能力挂钩,能力与薪金挂钩。
方针目标
工作方针是一切工作活动的基础,它是一个大的指挥棒,应对公司的方针进行充分的理解,它是公司团队活力的源泉;工作目标是对工作方针实施的具体阶段性目标,工作目标要求是经过足够的努力能够实现的,各级管理者应将工作目标在各个层次进行分解和实施。
就具体的过程活动来说,也存在一些过程活动的方针要求,软件开发的过程中,可能会存在:软件需求管理方针、软件项目管理方针、软件配置管理方针、软件质量保证方针等,随着队伍的建设及工作活动的发展,如软件测试管理方针等也将随之而制定。具体的工作方针里限定工作内容、工作方法是最基本也是最重要的要素。例如说软件项目管理方针,就包括对项目的定义,对项目的管理要求,如必须有一个项目经理和一个高层经理。必须依照相应的项目任务书开展项目工作,在项目任务书中应指定项目资源,对项目规模进行估计,制定项目进度计划,评估项目风险制定项目汇报方法等等。
工作流程
准确简洁的流程是高质量高效率的基础,通过规范工作流程,保证工作质量和降低工作成本,明确所有的工作产品,工作的入口和出口,特别是如何保证入口和出口的工作产品的质量。
研发的工作口号应该是质量第一,效率第一,要将质