定义:

  • 水晶是一种方法论家族。 水晶方法论旨在根据项目规模(项目中涉及的人员数量)以及项目的关键性来量化并提供方法严格程度选择。
  • 水晶方法认识到每个项目可能需要一系列轻量剪裁的策略、实践和过程,以匹配项目的独特特征。 该方法论家族根据“重要性”使用不同的颜色来确定要使用的方法。 “水晶”一词的使用源自宝石,它的不同面代表了根本的核心原则和价值观。不同面代表了技术、工具、标准和角色

    裁剪:

  • 水晶方法论旨在根据项目规模(项目中涉及的人员数量)以及项目的关键性来量化并提供方法严格程度选择。 | Crystal Methodologies | | | | | | | | | | —- | —- | —- | —- | —- | —- | —- | —- | —- | | | | 透明
    Clear | 黄色
    Yellow | 橙色
    Orange | 红色
    Red | 褐红色
    Maroon | 蓝色
    Blue | 紫色
    Violet | | 缺陷导致损失
    关键性 | 生命
    Life(L) | L3 | L10 | L30 | L80 | L150 | L300 | L600 | | | 必要资金
    Essential Money(E) | E3 | E10 | E30 | E80 | E150 | E300 | E600 | | | 自由自配资金
    Discretionary Money(D) | D3 | D10 | D30 | D80 | D150 | D300 | D600 | | | 舒适性
    Comfort(C) | C3 | C10 | C30 | C80 | C150 | C300 | C600 | | | | 1~4 | 6~20 | 20~40 | 40~100 | 100~200 | 200~500 | 500 | | | 涉及人数(总人数±20%) | | | | | | |

  • 水晶方法论是软件开发的灵活和轻便的一系列方法学。这一系列方法学运用颜色代码来相互区别。例如:透明,黄色,橙色和红色,颜色依据所需的负荷水平来决定。在光谱的一端是水晶透明的,表示较小负荷,而水晶红色则表示较大负荷

  • 在交付迭代,水晶团队在持续1周至2个月的迭代中,迭代地开发,集成,测试和发布产品。像其他敏捷架构,水晶架构包括:协作性事件,例如:站立会议反思提高研讨会。在完成时,团队总结项目并举行完成仪式,在此团队反思整个项目。

    透明水晶:

  • 这是Crystal方法中最轻的一种,适用于小型团队,比如3 - 8名成员坐在一间或相邻的办公室里,从事对生命至关重要的系统工作。所需的角色是赞助商,高级设计师兼程序员,另一个设计师兼程序员谁是相对初级和用户。像Crystal家族的所有其他成员一样,重点是没有以人为中心的流程带来效率,定期的反思研讨会,需要“几乎不够”的文档,并接近真正的用户。团队利用重要的工具,如配置管理系统和信息散热器,如可打印的白板。团队可以自由地从本章讨论的其他方法中“借鉴”一些实践,如每日站立、计时和结对编程。

    橙水晶

  • 这一级别适用于位于同一建筑内的由30~50人组成的中型团队,他们在一个中型项目中工作,可能持续1到2年。在稍微大一点的团队规模中,团队需求被组织成角色家族,这些角色家族负责计划、监视、设计和架构、编码和基础设施以及测试活动。仍然遵循增量和频繁的交付方法,但是迭代可能会变得更长,并延长到3-4个月。类似地,这种方法需要更多的文档。

  • 上述的Crystal Orange web变体针对的是不断向web交付代码和特性的团队。

    红水晶

  • 在这个级别中,团队规模要大得多,大约有70~80人从事可能对生命至关重要的系统的工作。团队需要组织成子团队,以便进行更好的管理和控制。该方法转向了具有更多文档和详细流程(如设计和代码审查)的更繁重的方面。

    核心价值观:

    | 核心价值观 | 常见属性 | | —- | —- | |
    - 人员 People
    - 交互 Interaction
    - 社区 Community
    - 技能 Skill
    - 人才 Talent
    - 沟通 Communication
    |
    - 频繁交付 Frequent Delivery
    - 反思式改进 Reflective Improvement
    - 密切或渗透型沟通 Close to osmotic Communication
    - 个人安全 Personal Safety
    - 专注 Focus
    - 容易接触专家用户 Ease access to Expert User
    - 具有自动化测试、配詈管理和频繁整合的技术环 Technical environment with automated tests, configuration management, and frequent integration
    |

三个基本过程:

  1. 项目章程charter(通常需要多长时间来创建一个章程?几天到几周
    1. 建设团队 Built Team
    2. 做探索性的360°评估:商业评估
    3. 为团队定义实践标准 Practice Standard
    4. 建立初始项目计划
  2. 交付迭代 Delivery cycles
    • 开发、测试、集成、类似Scrum和XP的做法
  3. 项目总结 Wrap-up
    • 完成项目并反思

      探索性的360°评估

  • 对项目的商业事务作评估,包括以下方面:项目商业价值,需求,范畴,技术影响。基于评估结果,团队采用水晶方法适应需求;或者在某些案例情况下,如果评估发现重大问题,团队会取消项目