犹记得PMP中提到的敏捷开发,是为了“提高软件开发效率”,“降低开发风险”,“增强软件的可适应性和灵活性”,“提高客户满意度”,“增强团队协作”。
但现实中失控得极为严重,几乎不存在完美迭代。结合一直研究的【领域驱动设计】,我们可以【针对得到的UML模型图进行实施有效的编码】这一事实,那么一定是可以对项目管理是有帮助的。
(如何实施领域驱动设计,可查看本人其他文章。 技术栈概要描述:基于领域驱动设计的后端框架abp vnext,领域建模工具:plantUML + tmorin-plantumml-libs)
首先明白一组事实情况:
1,通过事件风暴建模后得到的业务模型图,代表着稳定的可实施的项目
2,得到后的模型是可以根据业务重要性分类的。区分出【核心业务模块】【次级业务模块】【支撑业务模块】
3,对业务模块进行分类后,后续的变更和需求都会通过【事件风暴建模】对已有的模型图进行更新,那么会引发业务模块的重要性变更,但同时可以直观的看到【哪些需求挂载在核心业务模块】上,那么我们认定这个需求是高价值的
4,人月传说,根据人的能力和时间安排做高价值的需求。同时,尽可能培养人员往核心领域上培养,这样团队才能形成自组织
5,项目代码腐化是需要【真正真实有效的治理】的,业务模型图保证【领域对象整洁】,但无法保证service层级的整洁,无法保证技术人员思维一致,所以需要【代码审核环节】,且该环节是需要真实的记录为工作量。最终的路线: 需求通过领域模型规整,在正常的迭代中,正确的分配到了正确的人手中执行。
这样,实现【需求在领域驱动设计上流转】, 领域驱动不仅仅指导程序员如何实现(业务实现,对象划分,项目防腐等),还能通过一次一次的需求输入实现高优先级的需求,让优质资源被安排在正确的工作上,让成员成长,让团队透明化。 帮助项目迭代可控,降低项目实施风险。