如何管理小型软件项目?
如何管理小型软件项目?这个问题在多个客户那里探讨过多次。
所谓的小型项目一般是指估计工作量大于3人月小于9个人月的项目。对于没有实施CMMI的企业,这类项目一般是放任自流,少有管理了。
对于实施CMMI的企业,如果这类项目也想要达到CMMI的要求,管理的成本投入相对比较大,难以平衡管理的成本与收益,因此,需要做裁剪。如何裁剪,就是难点。
经过与多个客户讨论,最终形成了下方的参考意见,但每个企业的特点不同,这些实践对于不同的企业,仍然有不同的实现困难,可以在下述实践的基础上继续裁剪。
01、商务管理
商务人员与客户谈判时,应要求客户明确需求;
商务人员与客户应确定需求变更的流程;
商务人员谈判时,应定义需求变更的成本由哪方承担;
商务人员与客户商定项目验收标准;
商务人员与客户商定双方合作中的沟通问题,包含沟通渠道、沟通方式、沟通时间以及反馈时间约束,并商议多长时间内不给反馈信息,即可默认接受;
合同评审应由项目经理参与。
02、项目策划
项目经理与高层经理、客户确定项目的平衡策略,即需求、质量、进度、成本哪个指标优先;
项目经理根据本项目实际情况,制定项目执行的过程规范;
项目经理确定代码评审和单元测试的代码覆盖率等质量目标;
项目经理确定项目的生命周期模型、阶段划分;
项目经理制定项目阶段计划,并明确每个阶段的交付物;
项目经理进行WBS分解,并细化《项目阶段计划》,采用MS project工具;
识别需求与进度风险,定义规避措施。
03、项目监督与控制
项目经理负责召开周例会,并生成《周进展报告》或会议纪要;
项目所有成员填写日志,项目经理根据日志每天跟踪项目组成员的任务进展情况;
建立日志软件,每天填写日志的工作量要少于5分钟;
定期向高层经理汇报进度;
周例会时要监督风险的状态情况;
项目结束时,项目经理负责召开结项总结会,并生成《项目总结报告》。
04、质量保证活动
代码规范的检查;
需求变更流程的检查;
缺陷关闭情况的检查;
监督项目组单元测试和代码评审的覆盖率的落实情况;
监督项目各工作产品是否满足组织级标准与规范。
05、配置管理活动
使用SVN工具进行配置管理;
所有的工作文档均应入库;
项目结束时,所有的文档应完整入库;
客户往来邮件定期整理备份。
06、度量与分析
根据工作日志,按计划内外、工作类型、阶段进行统计分析,由日志系统自动进行;
统计全生命周期生产率;
工作量数据均来自日志系统,代码规模数据在项目结束时采集。
07、需求工程
识别重要的功能需求和非功能需求,形成文档化的SRS;
描述需求时采用界面原型与USE CASE方式;
接受客户电子档形式的需求变更(含邮件);
至少2人以上参与需求变更的影响分析,并反馈客户;
项目需求须由项目经理确认同意后方可变更。
08、软件设计与实现
系统架构设计文档化,形式不限;
评审系统架构设计;
编码;
单元测试及代码重构,引入Junit、Nunit等工具;
代码走查;
每日联调所有已完成的模块,并进行冒烟测试;
在开发过程中,请客户每月参与1次对已完成的部分软件进行确认;
系统测试,未经公司系统测试通过,不能发布。
本文来源于:艾纵咨询