博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[敏捷开发培训] 敏捷宣言和 Subway Map to Agile Practices/
阅读量:4040 次
发布时间:2019-05-24

本文共 3751 字,大约阅读时间需要 12 分钟。

再次理解敏捷宣言

看到这张图片时,是不是倍感亲切。每一个接触敏捷的人,几乎都是从这张图片里的内容开始的。

右项虽然也有价值,但是我们认为 左项 具有更大价值

下面我们来理解下敏捷宣言中的四句话:

1、个体和互动高于流程和工具

流程和工具是我们项目中需要的,将团队的目的聚焦于个体参与和互动。项目是通过人来完成的,而不是通过工具。困难也是通过人来解决的,而不是通过流程。同样,项目是由人来完成的,范围由人来确定,项目成功也是由人来定义的。个体的参与和交互有利于项目的成功。但是,并不是说流程和工具对项目的成功和没有帮助,这些反而是重要的组织过程资产。我们拥有工科背景的人,会自然地倾向于流程和工具带来的逻辑性和遇见性。然而,项目最终还是关系到人,所以要想成功,我们需要花费大量的时间去完善一些不可预知的领域。第一条价值观"个体和交互胜过流程和工具"有助于聚焦个体的时间、能量和激情。

2、可以工作的软件高于详尽的文档

软件项目可以创造价值、高质量的软件为首要目标。然而很多人经常会过多的关注一些临时的可交付成果,比如泛泛的文档,却不太关注支持项目最终目标的可工作的软件。没有文档描述的软件在技术支持和维护上一定会出现问题及障碍,但是只有详尽的文档而没有完成软件对于任何一个组织而言都是没有价值的。所以,文档是需要的,但是需要把握其中的度。

在庞大的团队、复杂的软件系统中,会经常出现无文本遗留等问题。所以,在这样的环境下,文档是必需的。很多软件开发人员都会注重细节和流程,虽然这些可以带来高的收益,但是会使开发人员的关注点远离软件开发的项目的初衷————完成可工作的软件。所以敏捷宣言"可工作的软件胜过详尽的文档"提醒项目成员更多的聚焦与项目的目标————价值。如果过度的关注了文档而牺牲了可工作的软件,那么文档也是无用的、没有价值的。

3、客户合作高于合同谈判

本条价值观提醒我们需要做到灵活与包容,而不能死板,类似于"正确的做事"和"做正确的事"。我们可以完全按照最初规定来完成产品,一旦客户改变想法或优先级,最好的做法就是通过灵活的方法完成新目标,而不是用最初的规定来对抗。

知识型项目是动态的,特别是软件系统;软件是无形的和难以参考的,每一个软件都是独特的。外界的需求变化很快,技术的革新非常迅速,我们应该识别出将要发生变更的事件,与客户共同的定义"完成"。这将取决于互信关系和更灵活的合同模式,同时也需要将我们工作的重点从没有附加值的活动(例如对范围的争论)转移至更富有价值的工作上。

4、响应变化高于遵循变化

遵循计划是指按计划行事,中间可能需要采取纠正措施,目的是为了使预期的未来绩效与项目计划一致而做的一切事情。响应变化则是适应的过程,通过卓越构想和不断的反馈来采取适应性措施,适应性的目的是对实践而非预定计划的回应,是响应而非纠正。

最初的计划有时候是不完全完善的。如果我们努力将项目按照最初的计划执行,那么会使我们投入更多的精力去响应必然的更变,从而导致投入的精力会浪费掉。但是敏捷宣言并没有建议我们为了应对变化而完全放弃计划。我们需要对项目做计划,同时我们也要明白,最初的项目计划是我们开始的时候制定的,随着工作的进程,我们需要持续更新计划。

"响应变化胜过遵循计划"对于存在很高变更比率的软件项目尤为重要。同样,我们通过相应变化来代替抑制变化以及大量的时间和精力来遵循一个大型计划。敏捷项目具有很高的工作队列的可视性,通过代办事项和任务看板来形成计划。敏捷价值观的主旨就是提倡适应性计划,要求全员积极参与。

 

敏捷的七个领域

  • 敏捷准则和理念
  • 价值驱动的交付
  • 干系人参与
  • 团队绩效
  • 适应性计划
  • 问题发现与解决
  • 持续改进(产品、过程、人员)

 《敏捷宣言》十二大原则

1. 我们最重要的目标,是通过及早和持续不断地交付有价值的软件使客户满意。

2. 欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。

3. 经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。

4. 业务人员和开发人员必须相互合作,项目中的每一天都不例外。

5. 激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以信任,从而达成目标。

6. 不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。

7. 可工作的软件是进度的首要度量标准。

8. 敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。

9. 坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。

10. 以简洁为本,它是极力减少不必要工作量的艺术。

11. 最好的架构、需求和设计出自自组织团队。

12. 团队定期地反思如何能提高成效,并依此调整自身的行为表现。

敏捷宣言的17位作者

  • Alistair Cockburn
  • Andrew Hunt
  • Arie van Bennekum
  • Brian Marick
  • Dave Thomas
  • James Grenning
  • Jeff Sutherland
  • Jim Highsmith
  • Jon Kern
  • Kent Beck
  • Ken Schwaber
  • Martin Fowler
  • Mike Beedle
  • Robert C. Martin
  • Ron Jeffries
  • Steve Mellor
  • Ward Cunningham

---------------------------------------------------------------------------------------------------------------------------------------

Link to:

Principles behind the Agile Manifesto

We follow these principles:

1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

4. Business people and developers must work together daily throughout the project.

5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

7. Working software is the primary measure of progress.

8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

9. Continuous attention to technical excellence and good design enhances agility.

10. Simplicity--the art of maximizing the amount of work not done--is essential.

11. The best architectures, requirements, and designs emerge from self-organizing teams.

12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

 

Subway Map to Agile Practices

Agile Glossary

 

转载地址:http://wxvdi.baihongyu.com/

你可能感兴趣的文章
搭建一个学习图像处理的平台
查看>>
读一点<鲁迅全集>
查看>>
购书记录
查看>>
ARM多核引导过程
查看>>
ARM linux SMP
查看>>
ARM linux 多核启动分析
查看>>
linux 多CPU动态开关命令
查看>>
Uboot 中的hush shell
查看>>
从zImage中提取出Image的方法
查看>>
zImage构成图解
查看>>
arm-linux启动过程中的内存布局
查看>>
ARM LINUX内核如何确定自己的实际物理地址
查看>>
Kernel low-level debugging functions linux汇编的调试方法
查看>>
LINUX内核代码在线阅读网址
查看>>
Linux芯片级移植与底层驱动(基于3.7.4内核)
查看>>
Linux CCF框架简要分析和API调用
查看>>
Linux common clock framework(1)_概述
查看>>
Linux common clock framework(2)_clock provider
查看>>
Linux common clock framework(3)_实现逻辑分析
查看>>
Common Clock Framework系统结构
查看>>