前言
对于小开发团队来说,经典的软件开发管理过程,由于时间进度等原因,在实际开发中实施的程度很有限,这就导致了开发团队总是围绕着某一两个核心开发人员进行,工作量趋向于集中至核心开发人员,团队的效率和优势发挥不出来,团队没有高效协作,最后就变成一盘散沙,专业性提不上来,质量提不上来,逐渐演变成作坊式开发过程。随着时间的推移,项目和工作量的增多,核心开发人员将不堪重负。这不仅效率低下,而且会导致很大的项目风险和管理风险。
所以对小开发团队来说,需要量身定制的软件研发过程,开发模型,研发管理体系。这里我总结实践经验,给出几点建议。
1. 过程文档
软件(模块)开发过程必须产出以下文档。
业务流程图
用于简单描述业务需求及业务逻辑。
软件模块结构图
用于描述代码实现逻辑,代码结构。
模块完成报告
包括:
- 软件状态:描述软件状态,记录已完成功能,未完成功能,遗留问题。
- git提交清单:记录代码提交commit-id,便于代码审核。
- 静态代码检查工具报告的问题修改情况。以上图表可以使用visio,drawio等软件绘制,内容要求简洁易懂。所有文档非正式,简要描述即可。过程文档提交至git中的文档项目中。
2. 自测试
所有功能必须完成自测,尽可能提高测试覆盖率。需要产出测试用例文档,简要描述如何测试开发的功能。
3. 引入低成本高效团队开发活动
- 每日立会
- 偶尔结对编程
- 代码审核:基于过程文档,可以实现非面对面沟通,提高沟通效率,代码审核可以脱离原开发者进行。代码审核需要产出代码审核报告(即修改建议),可依据编码规范,提出编码规范建议;依据可扩展性,可复用性,提出代码重构建议;依据业务逻辑,发现代码BUG。代码审核报告同样提交至git。
4. 重视质量
不重视质量什么都是白说。有问题一定要跟踪和解决,不能只顾着添加新功能,没有质量的软件就是一堆垃圾。
搞质量不能只搞形式,我见过只在检查的时候搞文档,搞报告的质量部门,项目过程没有参与任何监督与检查,这样的部门存在,除了应对各种上级检查,实际意义并不大。
以上建议仅供参考,合格的团队管理者,系统架构师,应该采用各种办法去提高产品质量,而不是规避问题和糊弄领导。提高产品质量是提高企业生存能力的基本保证,特别是中小企业。