本文摘自敏捷开发
20世纪90年代末,Alistair Cockburn提出水晶方法论。
自2001年的敏捷宣言提出以来,以极限编程为首的一系列敏捷方法逐渐走入大众视野,其中就包括水晶方法(Crystal Method)。在随后的发展中,各类敏捷方法都有所偏向,逐渐形成各自的特点及原则。
极限编程(XP)以客户的需求变化为重点,同时强调团队合作。XP更为注重开发过程中,团队(包括客户、管理人员、开发人员)不约而同地聚在一起讨论方案,解决难题;
Scrum的开发模式称为“橄榄球”式方法:团队成员都对产品开发的整个过程保留自己的看法,实现自治。产品开发方式由线性方法转向集成方法,这种转变刺激团队内部各层次间的交叉学习、交流以及思维发散。
功能驱动开发模式(FDD)主要针对中小型软件开发项目,“是一个以Architecture为中心的,采用短迭代期、目期驱动的开发过程。它首先对整个项目建立起一个整体的模型,然后通过两周一次‘设计功能——实现功能’的迭代完成项目开发。”
Crystal——水晶方法论是由Alistair Cockburn和Jim Highsmith建立的敏捷方法系列。Alistair Cockburn将水晶方法细化为透明水晶方法论(Crystal Clear)、黄色水晶方法论(Crystal Yellow)、橙色水晶方法论(Crystal Orange)以及红色水晶方法论(Crystal Red)。这几种水晶方法论按照项目重要程度以及参加人员规模进行划分。
一般来讲,透明水晶方法,适用于一个小团队来进行敏捷开发,人数在6人以下为宜。相比于同样适用于小规模团队的XP,水晶方法的纪律性较弱,但其管理运作与团队产出相协调。
水晶方法有七大体系特征:
01.经常交付:
敏捷方法对交付成果要求很高,注重频繁小批次交付,水晶方法也不例外。通过经常交付以及时获得客户、产品经理的反馈,从而提升客户价值,使产品价值最大化。
02.反思改进:
对于在迭代开发过程中出现的问题和在交付成果中发现的问题,团队要进行及时的反思。把握住问题的关键,快速地找到解决方案。当问题发现不及时,或者团队并未进行反思改进时,常常会导致问题的叠加,最终影响可用产品的交付。
03.渗透式交流:
在两个或多个成员进行交流的时候,与他们同处于一个空间范围内的其他人员会或多或少地获取他们的对话信息。因此,这种接收并非有意创造的信息来源的方式称为渗透式交流,成员根据自己的当前工作可以选择忽略,也可以选择接收。
04.个人安全:
个人安全类似于极限编程强调的“勇气”,当个人产生问题困惑的时候,选择指出问题而不是隐瞒问题,且自己的人身安全受到保障。首先,只有坦然面对不足,才能及时改正,促使自身与团队不断得到提升。其次,人身安全又是团队中互相信任的表现,只有相互信任,才能更好地完成团队协作。
05.焦点:
焦点就是首要计划。团队制定出要完成的计划,然后安排时间。
所谓“焦点”,就是确定首先要做什么,然后安排时间,以平和的心态开展工作。确保团队成员清楚的了解他们自己最重要的任务是什么,确保他们能够有充分的时间去完成这些任务。
06.与专家、用户建立方便的联系:
建立方便的联系是保证专家、用户、团队能够形成一个短周期反应链。对于小批次交付成果、用户需求变动等建立一个快速反馈机制,可以提高团队工作效率。
07.测试、管理和集成的技术环境:
1)自动化测试可以对代码进行自动测试,减少了人工成本,使工作变得高效、快捷;
2)简单来说,配置管理就是可以返回上一步,能够通过撤销新操作出现的失误来解决问题;
3)经常集成功能使团队对系统快速集成,以及时发现错误、纠正错误。
水晶方法保证了产品开发的进度,较好地满足了客户的需求,使开发过程顺利实施。但在产品开发过程中,不能运用单一的敏捷方法,应该要根据项目的具体情况,借鉴多种方法,取长补短,形成新的敏捷思维。
网友评论