水晶方法概论

2020-07-06 08:00:00
yanruiyu
翻译:
ActiveCollab
7893
摘要:Crystal方法是一种敏捷的软件开发方法,主要关注在项目中工作时的人员及其交互,而不是过程和工具。


1991年,IBM邀请Alistair Cockburn为面向对象的项目开发方法论时,他知道这是一个真正的挑战,因为他当时并不了解项目方法论。因此,他决定采访一些项目团队,了解他们对该项目的看法。

在做了大量的研究之后,他得出了这样的结论:成功的团队共享相同的模式和技术,甚至没有使用任何特定的项目方法。换句话说,它们增加了诸如密切沟通、士气、与用户的接触等方面的价值,这些都是你在任何具体方法中都找不到的。

什么是水晶方法?

Crystal方法是一种敏捷的软件开发方法,主要关注在项目中工作时的人员及其交互,而不是过程和工具。Alistair认为,人们的技能和才华以及他们的沟通方式对项目的成果影响最大。

水晶方法论基于两个基本假设:

  • 团队可以简化工作流程,成为一个更优化的团队
  • 项目是独特、活动的,需要特定的方法

根据Cockburn的观点,我们应该将产品开发视为一种游戏,它可以激发每个人的互动,使其更有创造力并产生绝妙想法。他说,与其关注诸如“我们的模型准确吗?”之类的问题,我们应该寻找问题的答案,比如“我们的产品是否满足客户需求?”或“我们的团队目标是否一致?”

水晶方法家族

Cockburn发现,项目属性的变化取决于项目中涉及的人员数量和当前项目的关键程度。虽然较小的团队可以在没有大量状态报告和文书工作的情况下处理和构建产品,但是“沟通工件”的数量会随着从事大型项目的较大团队的增加而增加。换句话说,团队中拥有的人员越多,项目就越关键,方法也就越复杂。因此,没有一种单晶方法,不同类型的项目有不同的Crystal方法。为了使这种分类易于理解,Cockburn将其命名为Crystal,并沿尺寸和临界度这两个与矿物相匹配的维度(颜色和硬度)对其进行了分类。本质上,Cockburn开发这些系列是为了指出每个项目可能需要一套特定的政策、实践和过程来满足该项目的独特特征。Cockburn试图通过将Crystal称为“可以根据情况调整的一组样本”来解释这一点。

辨别方法是否适合项目取决于三个方面:

  1. 团队规模
  2. 关键性
  3. 项目优先级

通常,项目所涉及团队中人员数量以 不同颜色作为区分:

  • 透明——适用于8人以下的团队
  • 黄色——适用于10至20人的团队
  • 橙色——适用于20至50人的团队
  • 红色——适用于50至100人的团队

水晶方法的特点

  • 人力

这意味着参与该项目的人员至关重要,过程应该适应人们的需要。它还强调,人们有能力组织自己,随着过程的发展,他们可以变得更有组织,更有能力。

  • 适应性强

Crystal是一种适用于方法论的延伸方法,这意味着过程和工具不是固定的,但必须进行调整以满足团队和当前项目的要求。

  • 轻量

Crystal不需要太多的文档、管理和报告。通过关注团队和客户之间透明的工作流程,以及通过实践团队成员之间的开放式交流,能使事情变得轻松起来。

水晶方法的7个特性

  1. 频繁交付:它允许开发人员频繁地向实际用户交付可工作的、经过测试的代码。这样,你就不必面对这样的事实:时间和精力都投入到没人想买的产品上了。
  2. 反思性改进:无论产品的好坏,总有一些地方可以改进。此外,你的团队始终可以采用一些新技术和方法来改进其未来的实践。
  3. 渗透沟通:与在同一地点工作的团队一起,信息在团队中流动。这使他们能够在不直接参与某一特定问题讨论的情况下获取有价值的信息。这种思想的逐渐吸收被称为渗透交流。考克伯恩认为,这种工作氛围可以在很少的结构下运作。
  4. 个人安全:建立一个健康的工作氛围和真正的团队文化的唯一途径是进行开放和诚实的沟通。团队成员应该能够毫无畏惧地发言,无论他们是在提出一个新想法还是在讨论一个潜在的问题。
  5. 专注:每个团队成员都确切知道该做什么,这能让他们集中注意力,避免从一个任务切换到另一个任务。同时,这也促进了团队沟通,帮助团队分清主次,朝着相同的目标努力。
  6. 轻松访问专家用户:Crystal使您的团队保持沟通,并从实际用户身上获得定期反馈。
  7. 具有自动化测试,配置管理和频繁集成的技术环境 :对于强调持续集成以便在几分钟内捕获错误的软件团队来说,这是非常具体的工具。

为什么水晶方法有用

Crystal 以关注人和通讯为组织原则,这是他区别于其他软件开发方法的地方。

与其他敏捷方法不同,Crystal专注于调整项目中使用的技术,以加强团队沟通的过程。除此之外,Crystal还允许:

  • 持续集成
  • 灵活且可配置的流程
  • 积极的用户参与

请记住,Crystal主要是为了提醒开发人员如何在项目开发过程中集中精力工作。这意味着,如果你想成功地实现它并在未来的项目中取得成功,那么你需要在软件开发方面拥有广泛的知识和丰富的经验。


文章分类
联系我们
  • 联系人:阿道
  • 联系方式: 17762006160
  • 地址:青岛市黄岛区长江西路118号青铁广场18楼
投稿邀请

如果您有优秀的原创文章,欢迎添加联系人直接与我们联系,或通过下方邮箱发送投稿文章,一经采用,我们会付以一定的稿件报酬。

  • 投稿邮箱: yanruiyu@easycorp.ltd
  • 投稿标题:向 [敏捷开发] 网站投稿
  • 稿件要求:与敏捷开发相关的任何内容

更多投稿相关请点击 更多进行了解~