Back to top

Essential Practices

基于实践的精益软件开发方法

软件过程改进可以是破坏性的,但当然并不是必须如此。通过我们基于实践的方法,可以使你的软件开发组织聚焦并改变那些需要改变的,同时保留那些工作的很好的已有的软件过程或者方法的能力。实践提供了解决具体的软件开发问题的一揽子方案。通过单独使用或者任意组合实践,以满足组织或项目的需要。

  • 不再是一成不变
  • 通过标准实践库实现一致性
  • 通过为特定工作创建合适的实践来实现灵活性

从流程到实践

处理流程作为实践集合从根本上是不同的:不是学习或采用整个流程,从业者只是学习单独的实践,并逐步采用这些实践以便快速改进工作方式。首先,他们选择最合适的实践来满足他们的需求,应对他们所面临的挑战。然后,他们可以任意组合实践,并以合适的速度来实施所需的实践。重要的是,他们可以在已有的工作方式中增加新的实践,但不需要改变或者扔掉任何他们已经了解并依赖的实践。

将管理需求与从业者需求分开

软件从业者需要被授权以采取必需的行动来构建卓越的系统,而管理者则需要对所做工作的有可视性并达到控制。这两种需求之间经常是对立的 - 从业者害怕被干涉,而管理者则害怕失去控制。基于实践的方法可以达到使项目活动和项目管理之间不同诉求的分离。通过实践不仅可以建立和组合任意的实践以满足你的特定需求,还可以创建并采用适合项目、计划或组织治理所需要的任何生命期模型。 我们的许多客户使用的统一过程(UP)生命周期 - 对他们来说,这是经过时间验证的并且可行的。然而,许多其他客户创建自己的生命周期(通常是2个或3个) ,以满足组织内部特定项目类型的需要。如探索性项目,项目需求或架构是稳定或不稳定的,或维护性的项目。

使之简单并轻量

大多数流程文档属于“写完之后,从来不去读”。但是对于如要成功的在大型从业者社区推广新的方法,提供一定的指导是必须的。为了人们能够阅读和理解实践的指导,它必须是简单轻量的。我们所有的实践都包含一个简单的基于卡片形式呈现的指导。卡片的使用意味着指导是简洁和重点突出的。实践指导需聚焦于本质:那些你总是要去做的事情,以及为了获得成功所需的能力。