本文还总结了一个集成方法的价值主张——使用 Rational Method Composer 来文档化开发方法,并使用 Jazz 方法来自动化这些方法的制定。后续的文章将涉及记录和制定方法的各种场景。
方法 是团队协力实现其目标的工作方式。它描述如何确定和分配责任、要应用哪些技术、如何确定成功的标准,以及如何达到这些标准。
曾经,方法是位于布满灰尘的绑定者中的静态文档——是强制性的,但几乎无法理解和应用。团队在最低限度地应用方法,以便不引起流程警察的注意。几年的时间很快就过去了,敏捷的革命已经推翻了流程警察。自由的时代。一切都是和平、友爱和协作!
但敏捷并不意味着无秩序。正确应用敏捷方法需要纪律。原则是存在的,如在 Agile Manifesto(敏捷宣言)中看到的那些原则。有许多替代技术可供选择,如待办事项梳理、计划扑克和测试优先的开发。对于许多组织来说,敏捷方法是不够的。随着组织和技术复杂性的增加,需要考虑额外的扩展因素,并且需要扩展流程来匹配。
随着方法变得越来越复杂,文档变得越来越重要,自动化的方法也变得更有价值。本文利用 IBM® Rational® Method Composer 和基于 Jazz 技术的制定工具来探讨记录和自动化方法的价值。
为什么方法很重要
每个人、每个团队都遵循一些方法。有些是临时性的,在有需要时创造,而另一些则是正式的、刚性的、强制的。有些方法与特定的角色、工作产品、任务、模板、检查表和指南一起记录。其他方法是没有记录的,所以开发人员依赖于团队成员之间的共识,以及知道要找谁去获得更多信息。大多数组织处于两种极端之间,原因有两个:
刚性的方法可在需求出现时避免发生更改,但临时性方法会导致混乱 详细记录的方法可能很难创建和维护,而没有记录的方法则限制了最佳实践的沟通和共享。
方法是重要的,因为它们决定团队合作得究竟有多好。方法确定在项目上应用的技术是否有效,它们甚至可以定义我们心目中成功 的标准。问题不在于是否有一种方法,而是如何确保您的方法有效。
记录方法的原因
临时性的、没有记录的方法会很有吸引力,因为它们不需要投资并且非常敏捷,因为您是在工作中创造它们。然而,这会变得难以扩展。Rational Method Composer 中包括了一些来自 Disciplined Agile Delivery(纪律敏捷交付)流程的扩展因素:
团队规模 主流敏捷流程在小团队 (10-15) 中可良好应用,但如果团队有 50 人呢?一百人?一千人?
合规性要求 如果有监管问题适用,如 Sarbanes Oxley、ISO
9000 或 FDA CFR21?
地理分布 如果团队分散在大厦中,或在世界
各地?
域复杂性 如果问题域错综复杂(如生化过程监控或空中交通管制),或者快速变化(如金融衍生品交易或电子安全保证)?
组织分布 有时一个项目团队的成员来自不同部门、不同的合作伙伴公司,或来自外部机构。
技术复杂性 使用遗留系统、多平台,或混合不同的技术,可能会增加技术的复杂性。
组织复杂性 组织结构和文化可以反映传统的价值观,从而增加采用和扩展敏捷战略的复杂性。组织内不同的部门机构对自己应
该如何工作可能有不同的看法。
企业纪律 组织希望利用通用的基础架构平台,以较
低成本,减少产品上市时间,并提高一致性。他们需要有效的企业架构、企业业务建模、战略重用和组合管理等纪律。这些纪律必须与软件开发过程协同工作,更好的是,利用它们来增强该流程。
图 1. 规范敏捷交付扩展因素
随着项目和组织复杂性的增加,记录这些方法变得越来越重要。记录的方法使组织能够:
定义明确的责任和关键的事件顺序
由于团队变得高度分散,随时随地都能以某种记录的形式提供信息就变得非常重要。没有时间去等待一个解释,也承担不起对由谁在什么时候需要做什么事情这种问题感到困惑。 捕获和推广该组织的最佳实践
为了保持竞争力,企业必须使用行业标准的最佳实践,并从自己的错误和成功中总结经验。 对变更的效果设定基线并进行测量
如果不建立一个基线方法,您要
改善什么呢?文档可帮助您实现基于回顾的持续改进这一敏捷原则。 满足合规性与审计
例如,CMMi、DO-178B、ITIL、COBIT、SOX。合规性可能是一个挑战。记录方法通常是必需的,以实现合规性并作为演示合规性的证据。 使用符合项目特征的方法快速启动项目。
越来越明显的是,问题并不在于有否记录的方法,而是要记录什么以及如何记录。