技术开发 频道

用增量预算+精益生产提升业务价值

增量式的项目规划

    SOA是一个迭代增量式的过程,它通过增量式开发和周期检查获得最终结果。有关迭代增量式SOA开发的主要建议包括:

    在项目整体阶段:

  • 列出系统的高层构件
  • 列出各构件的组件
  • 对各种技术做出评估
  • 定义组件的接入点
  • 使组件能协调工作以保证服务正常运行

    在促进增量/版本开发功能用例的项目层阶段:

  • 列出子系统的组件
  • 决定组件的元素
  • 决定业务过程的数量与范围
  • 验证内部服务与外部服务的活动
  • 决定业务服务的数量与范围
  • 决定应用服务的数量与范围
  • 决定非SOA服务的数量与范围
  • 估计数据需求并计算出平均影射影响
  • 对技术集成做出评估
  • 预测安全性方面可能面临的挑战

    项目团队将以增量式依次交付各个可用或可执行的系统(即整体系统的子系统),并最终完成整个项目。

    各个增量开发团队都应有专业技术人员(业务分析、数据分析、数据建模、架构设计师/开发人员、开发人员/测试人员等),这些技术人员要完全负责增量的交付工作、模块的部署、部署后的维护,以及将模块添加到其它模块等一系列工作。团队应该按照“精益生产方式”,减少浪费,并在交付增量中产生更多的价值。

    这样将产生一个“初始增量”,计划并说明项目目标、项目章程、项目计划、高层需求、架构框架、增量计划、部署方案和基础设施规划。

  • 业务团队应该说明其高层业务需求,并依重要性分出优先级。
  • 技术团队构建架构框架,并对架构规划中的各个组件做出架构风险评估,然后建立高层非功能需求的文档。

    仍以飞机制造公司的案例来说,项目经理应该根据功能和框架对增量进行规划和优先分级。这项工作的分解结构如下:

  • 通过“增量1”迭代(从1到n)解决功能性问题
  • 通过“增量1+a” 迭代(从1到n)标志已解决的问题
  • 对“增量1”和“增量1+a”做出评估
  • 以迭代方式重复“增量1”和“增量1+a”系统(从1到n)
  • 用业务测试数据和生产数据验证“增量1”和“增量1+a”运行正常
  • 迭代结合“增量1”和“增量1+a”(从1到n)
  • 用“增量1+b” 迭代(从1到n)解决存货更新功能
  • 用增量“1+c”迭代解决前年更新功能(从1到n)
  • 对“增量1+b”和“增量1+c”做出评估
  • 以迭代方式重复“增量1+b”和“增量1+c”的评估(从1到n)
  • 用业务的测试数据和生产数据验证“增量1+b”和“增量1+c”运行正常
  • 迭代结合“增量1+b”和“增量1+c”(从1到n)

    这样,如果在某个交付期限内不能完成所有的功能,便可先交付已测试好的结构和功能,然后可让同一团队开始另一增量的工作,完成剩下的功能(以增量E1代替增量1)。

    同样,如果技术或项目关键人员发生变动,项目经理或团队需要再次审阅相关参数,并对相关工具或资源做出调整。最后,如果公司战略有所变动,则项目经理或团队需要将已完成的功能列表交付到项目部门并等待进一步指示。

    因此,首要目标应该是交付和部署系统的可用部分;然后依次添加可用部分,以完成整个系统的交付。

    项目经理/团队按精益原则增加业务价值和交付系统的可用部分,并通过之前的增量学习经验改善策略,为将来的增量做准备(见图6)。

0
相关文章