全国客服热线:4006-880844

屏障条件和敏捷开发

- 编辑:admin -

我们在实践中发现,我们的许多客户都有一种误解,以为在敏捷开发流程中加人或定义标准、约束或流程是有悖于敏捷的理念。流程违反敏捷开发方法这一一概念的问题在于,任何敏捷方法本身就是个流程。我们常常发现,客户为了逃避流程或标准,常常会脱离上下文引用敏捷宣言。

我们在实践中发现,我们的许多客户都有一种误解,以为在敏捷开发流程中加人或定义标准、约束或流程是有悖于敏捷的理念。流程违反敏捷开发方法这一一概念的问题在于,任何敏捷方法本身就是个流程。我们常常发现,客户为了逃避流程或标准,常常会脱离上下文引用敏捷宣言。


 
让我们来回顾一下敏捷宣言中有关敏捷方法的价值观:

●个体和交互重于流程和工具
 
●可用的软件重于完备的文档
 
●客户协作重于合同谈判
 
●响应变化重于遵循计划 
 
有些组织常常会忽略“个体和交互重于过程和工具”的上下文,没有读到这儿点之后的句子,即“简而言之,虽然这些对比中右边的项目也有价值,但左边的项目价值更大”。。有了这句话,那么显然流程是有价值的,只是在我们需要作出选择时,人员和交互具有的价值更大。我们完全同意这种方法,并且倾向于在快捷开发中嵌人流程作为测试的屏障条件,以得到合理的质量、可扩展性和可用性水平,或者借此帮助确保长期以来工程师得到了正确的评估和培训。现在让我们来分析一下某些关键的屏障条件是如何帮助增强敏捷方法的。

我们从对比可用的软件与完备的文档的价值人手。从ARB到代码审查,到性能测试和生产环境评估,我们的每个建议都与这个原则没有冲突。在敏捷方法中,ARB和联合架构设计(JAD)这样的屏障条件可用于确保开发中的产品能够适当地扩展。可以由-组人通过开会执行ARB和JAD,然后进行少量的文档记录,这样就符合敏捷方法了。

引人屏障条件和标准来帮助确保系统和产品能够在生产环境中正常运行,实际上是支持了可用软件的开发。对于我们提出的所有活动,虽然它们的结果都会被记录在某个地方,但我们并没有把完备的文档作为它们的必要组成部分。要记住,我们是想不断改善我们的流程,所以才记录性能结果的,例如记录性能结果可以帮助我们确定在开发过程中我们多久会犯一次错误,导致QA的性能测试失败或者生产环境出现扩展问题。

我们建议的流程既不会妨碍客户协作,也没有支持说合同谈判重于客户协作。事实上,由于加入了扩展屏障条件,说明你关注客户的需求,因而它们营造了能够更好与最终客户协作的工作环境。你的客户可能没有能力执行判断产品是否能够扩展到满足需求所需的设计评估、审查、测试或衡量,但他们的确预期你交付的产品或服务不仅能够满足他们的业务目标,还要满足他们的扩展需求。因此,与客户协作进行测试和衡量,有助于确保你的产品满足客户需求,而把这些测试和衡量加人开发流程,是满足客户需求以及创造股东价值的好方法。

最后,加人我们建议的屏障条件,有助于我们发现发生了变更,从而有助于我们对变更进行响应。如果应用或服务没有通过屏障条件,这就是存在问题的早期警报,我们需要立即解决这些问题。如果在ARB会议上就发现一个组件是不能水平扩展的(根据我们建议的架构设计原则,要横向扩展而不是纵向扩展),这就说明存在一个潜在的问题。虽然我们可能仍然会决定发布这个功能、产品或服务,但我们最好能够确保将来的敏捷开发周期能够修复我们发现的问题。然而,如果扩展需求非常强烈,不能横向扩展就会导致我们失败,难道我们不应该立即对这个问题作出响应,把它修复吗?而如果没有这样的流程和一系列检查,我们又怎么能确保我们满足了客户需求呢?

希望我们已经说服了你,在敏捷开发生命周期中加人评判条件,用它们来评估你是否达到了扩展目标,这是一种好方法。如果我们还没有说服你,你是否敢声明在开发生命周期中,绝对不加人任何流程以确保你的产品或服务可以扩展吗? 那么你认为自己这份工作还能做多久? 试想一下你对他们说:“我们不会实施任何方式和形式的屏障条件或评判标准来确保我们不会发布具有扩展问题的产品!”  
 
牛仔编码 
 
对于没有任何流程、计划或衡量方法来确保结果满足了业务需求的开发方法,我们称之为牛仔编码。像牛仔编码这样的环境完全缺少流程,这正是扩展方 我们常常会发现有些团队声称牛仔编码是“敏捷的”。 坦白地说,事实并非如此。敏捷方 案取得成功的重大障碍。

法是使开发生命周期逐渐适应你的需要,而其他模型则趋于更具预测性。而像牛仔编码这样的 模型,缺少流程,既没有适应性,也没预测性。敏捷方法并不反对衡量和管理。它们是适用于迅速发布较小的组件和功能子集的方法,这些方法是通过管理较小的、容易管理的组件,而不是反复尝试预测和控制非常复杂的大型项目来帮助控制混乱局面的。

不要让你和你的微信网站制作团队陷入敏捷方法不应该衡量或管理的误区。可以用速度这样的指标来提高工程师的评估能力,而不要采用过度打击的方法,这是敏捷方法的基本原则之一。如果你缺少衡量方法,那么注定永远无法提高,而如果缺少管理,那么在通往目标和完成使命的道路上,你注定会迷失方向。在设计高可扩展的解决方案时,如果你是牛仔,那么一定会被扩展这匹野马甩下马背。

上一篇:衡量网站风险 下一篇:回退的技术考量