新闻动态

app软件开发_手机app开发_手机软件开发_手机app制作公司_深圳金绣科技开发有限公司

2019-03-05 19:53:31 作者:小麦

                                                                                Scrum的原则

当了解过Scrum的一些机制后,CXO们应该要理解指引Scrum的一些关键原则。

坚信经验行的流程而非计划型流程才是最有效的软件开发流程。

坚信一旦组织的障碍移除了,一个自组织和自管理的团队自然而然能够交付比其他管理状态下更好的软件。

你能够在规定的时间和预算内交付最有价值的软件,但是你无法精确地预测团队能够交付什么功能。

Scrum断言只要能够认清这些关键原则,就能够将组织从众多妨碍有效软件开发的束缚中解救出来。然而,CXO们还必须意识到要采用这些关键原则同时也预示着对组织潜在的重大变革。由于这些原则组成了Scrum的根基,因此每项原则都值得我们进一步地探讨。

采用经验型流程还是计划型流程

Scrum相信大多数今天的系统开发都基于一个不正确的思想基础通过更多更好的计划就可以获得更可预测和更高质量的结果Scrum认识到应用程序开发是一个不可预测并且异常复杂的过程(试想一下其中包括了几十万行人工编写的代码),其中的价值也只能够使用经验来度量。毕竟你所开发的应用程序可能从来没有被别的团队在任何地方开发过,你的团队开发过同样的程序的可能性就更小因此,像手册或者按部就班的计划这样方法是无法有效地解决软件开发中固有的、不可预测性的问题的。

Scrum将系统开发流程定义成一套宽松的实践,其中包含了一些

知、可行的工具和技术,还有一个和客户或者产品负责人密切相关

的被授权的团队。由于其中很多实践是宽松的,因此需要加以控制

例如经常性地检查和说明)来管理风险,并在每个时间点提供项目

状态的实时经验证据

权衡是否使用 Scrum非常简单:

要利用Scrum然后每天都知道实际进展如何?

还是

以为你正按照非常完善的计划按部就班地前进,却很久以后才发现你是错的?

消除障碍团队就可以专注工作

多年以来,—个公司的组织流程和软件开发实践通常会变得越来越烦琐,直到软件开发变得非常困难。然而,当他们引入Scrum之后这些妨碍有效软件开发的“组织性”障碍将无所遁形,因为它们会降低团队按照 Scrum的方式,即快速迭代増量式交付软件的能力。通过改变这些流程和实践,人们可能会发现CXO或者执行负责人( executive champion)需要启动、驱动并监督一项主要的变革工程(稍后会进一步讨论)。此外,Scrum中团队是最重要的。因为他们是真正负责设计、开发和交付程序的人。因此,帮助他们消除障碍来提高他们的表现就能提升组织向客户交付商业价值的表现。管理层的使命是帮助团队消除障碍;而团队的使命就是完成他们承诺需要完成的Sprint待办列表项。

换而言之,Scrum中团队是被授权并且负责交付产品的。团队必须要自我组织,自我管理并且自我达成Sprint的目标。对于很多组织来说,这样就等于要在组织里引起翻天覆地的变化。那种层次型技术型的管理思想会从本质上被Scrum淘汰。现在,只要产品负责人设定好目标和优先级,团队就可以自己找出达成目标的方法,而不再一直需要有人告诉他们怎么做。

更少却更好的预测与错误的自信

Scrum开始于这样—个前提:开发软件是一项在瞬息万变的技术环境中施展的非常复杂的业务。没有人能够可靠地预测或者确定地计划出团队将会交付什么,何时交付以及交付的质量和成本如何Scrum相信团队可以做这样的预测,并就这些预测进行交流,根据不同的风险通过讨论制订一个短期的计划,随着项目的进行还可以根据实际情况进行调整。在这里需要达成的共识是:团队需要在给定的条件下交付最好的软件,遵循任何手册都不会改变“最好”的定义,而只会减缓团队对现实世界的复杂度和不确定性的响应速度。

根据过往的经验,忽略以上这些原则会给组织带来众多问题,如:

管理层相信他们可以预测成本、交付时间表以及可以交付的功能,然后根据这些预测制订计划。

软件开发人员和项目经理被迫生存在谎言中——他们假装能够可靠地计划、预测和交付。他们以一种方式工作,然而却必须假装正在使用另外一种方式。到最后,他们将会变得完全不受控制。

在系统将要交付的时候,通常会偏离需求,需要重大的修改。导致这种问题的关键就在于过高的迭代成本让人们直到最后一刻才能看清团队正在开发的东西是否有用。

认清这些事实同样也是一项挑战——试想一下哪位经理会告诉高管他不清楚在给定的日期团队会交付什么东西?然而,这样做的好处是组织真正地能够自由地为其终端用户制造更好的产品,同时由于能够更迅速地制造出这些产品,因此也毫无疑问地为业务创造了更多竟争优势。