`
desert3
  • 浏览: 2158592 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

Agile - 前言&故事

 
阅读更多
Scrum敏捷开发团队之旅

Agile是关于软件产品开发的一种思想、一种价值观(Manifesto for Agile Software Development(敏捷软件开发宣言))。强调以人为本、迭代开发、增量交付、持续集成、积极反馈
从广义上讲,如果能持续地进行单元测试以及快速响应业务变化那么它就是敏捷。今天做的比昨天好那就是敏捷。
敏捷宣言遵循的十二条原则

参考:Scrum中文网
敏捷有很多实现。它们包括:极限编程(XP),Scrum,精益开发(Lean Development),动态系统开发方法(DSDM),特征驱动开发(Feature Driver Development),水晶开发(Cristal Clear)等等。所有这些方法都具有以下共同特征,它们也是敏捷开发的原则和方法
  • 1.迭代式开发。即整个开发过程被分为几个迭代周期,每个迭代周期是一个定长或不定长的时间块每个迭代周期持续的时间一般较短,通常为一到六周。
  • 2.增量交付。产品是在每个迭代周期结束时被逐步交付使用,而不是在整个开发过程结束的时候一次性交付使用。每次交付的都是可以被部署到用户应用环境中被用户使用的、能给用户带来即时效益和价值的产品。
  • 3.开发团队和用户反馈推动产品开发。敏捷开发方法主张用户能够全程参与到整个开发过程中。这使需求变化和用户反馈能被动态管理并及时集成到产品中。同时,团队对于用户的需求也能及时提供反馈意见。
  • 4.持续集成。新的功能或需求变化总是尽可能频繁地被整合到产品中。一些项目是在每个迭代周期结束的时候集成, 有些项目则每天都在这么做。
  • 5.开发团队自我管理。拥有一个积极的、自我管理的、具备自由交流风格的开发团队,是每个敏捷项目必不可少的条件。人是敏捷开发的核心。敏捷开发总是以人为中心建立开发的过程和机制,而非把过程和机制强加给人。

XP(eXtreme Programming)是一个针对某种特定环境(需求变化快的小型团队)的具体过程实施模型和方法论。XP更多地聚焦工程实践,如单元测试、持续集成、结对编程等
RUP(Rational Unified Process)是一个风险驱动的基于UML 和构件式架构的迭代递增型开发过程(框架)。

现在很多公司都宣扬在用敏捷,更多的是在做用一些敏捷实践:如XP, TDD等
Scrum在中国——企业实施情况调查实录

Scrum是从项目管理角度出发,遵从敏捷宣言指导原则,定义在软件开发时需要遵循的一系列规则。它是一个敏捷过程,是一种采用迭代式增量开发的开发软件过程。
如果我们说15分钟的standup meeting: 它并不是agile需要的,scrum需要它。

敏捷社区代表张克强重申了敏捷社区的基本原则:“通过在互相尊重(Respect)的基础上,充满勇气(Courage)的进行有效的交流(Communication)和积极的反馈(Feedback),任何问题都可以用一个尽量简单(Simple)的方式解决。

只要不养成习惯,失败是件好事情!

罗马手势
全部人员都要表达意见: 同意、不同意

透明性
八元老鼠肉汉堡故事

少数服从多数?倾听理由,是否有特殊情况、特殊理由需要照顾。尽量照顾到每个人 - Team

Scrum联盟的Certified Scrum Master(CSM)、CSP(Certified Scrum Professional)认证: 认证有必要吗?重要的是过程,得到认证的过程中付出的努力,学到的东西。

“猪”和“鸡”的故事:
一天,一头猪和一只鸡在路上散步。鸡对猪说:“嗨,我们合伙开一家餐馆怎么样?”猪回头看了一下鸡说:“好主意,那你准备给餐馆起什么名字呢?”鸡想了想说:“叫‘火腿和鸡蛋’怎么样?”“那可不行”,猪说:“我把自己全搭进去了,而你只是参与而已。”

一个国外小学生做的实验:
一群小学生通过一道简单的题目被分成'effort'努力组,即智商不那么高的一组,和'smart'组,即智商比较高的一组。然后让两组继续做选择题,结果奇怪的是,'effort'组更喜欢选择难题,接受挑战,获得提高。但'smart'组则倾向选择简单的题目,回避挑战,结果丧失了挑战的机会。

如果你真的想做一件事,你一定会找到方法; 如果你不想做一件事,你一定会找到借口。

無計可施/消防員救人的故事:
以下是發生在丹麥首都哥本哈根的一則真實故事。
消防隊的電話總機在清晨三點收到一個電話。二十二歲的年青消防員,艾利希在值班。

「喂喂!這裡是消防隊」。

電話的那端沒人回答,可是艾利希聽到一沉重的呼吸聲。後來一個十分激動的聲音,說:「救命,救命啊!我站不起來!我的頭血在流!」

「別慌,太太」,艾利希回答,「我們馬上就到,您在那裡?」

「我不知道。」

「不在您的家裡?」

「是的,我想是在家裡。」

「家在哪裡,哪條街?」

「我不知道,我的頭好暈,我在流血。」

「您至少要告訴我您叫什麼名字!」

「我記不得了,我想我撞到了頭。」

「請不要把電話掛掉。」

艾利希拿起第二具電話,撥到電話公司。回答他的是一個年老的男士。

「請您幫我找一下一個電話客戶的號碼,這客戶現在正和消防總隊通電話。」

「不,我不能,我是守夜的警衛,我不懂這些事。而且今天是星期六,沒有任何人在。

艾利希掛上電話。他有了另一個主意,於是問那女人:「你怎樣找到消防隊的電話號碼的?」

「號碼寫在電話機上,我跌倒時把它給拖下來了。」

「那您看看電話機上是否也有您家的電話號碼。」

「沒有,沒有別的任何號碼。請你們快點來啊!」那女人的聲音愈來愈弱。

「您告訴我,您能看到什麼東西?」

「我 … 我看到窗子,窗外,街上,有一盞路燈。

好啊-艾利希想-她家面向大街,而且必定是在一層不太高的樓上,因為她看得見路燈。

「窗戶是怎樣的?」他繼續查問,「是正方形的嗎?」

「不,是長方形的。」

那麼,一定是在一個舊區內。

「您點了燈嗎?」

「是的,燈亮著。」

艾利希還想問,但不再有聲音回答了。

需要趕快採取行動!但是做什麼?

艾利希打電話給上司,向他陳述案情。

上司說:「一點辦法也沒有。不可能找到那個女人。而且,」他幾乎生起氣來,「那女人佔了我們的一條電話線,要是哪裡發生火警?」

但是艾利希不願放棄。救命是消防隊員的首要職責!他是這樣被教導的。

突然,他興起一個瘋狂的念頭。上司聽了,嚇壞了:「人們會以為原子戰爭爆發了!」

他說。「在深夜,在哥本哈根這樣一個大都會裡! … 」

「我懇求您!」艾利希堅持,「我們必須趕快行動,否則全都徒勞無益!」

電話線的另一端靜默了片刻,而後艾利希聽到答覆:「好的,我們就這麼做。我馬上來」

十五分鐘後,二十輛救火車在城中發出響亮的警笛聲:每輛車在一個區域內四面八方的跑。

那女人已經不能再說話了,但艾利希仍聽到她那急促的呼吸聲。

十分鐘後艾利希喊說:「我聽到電話裡傳來警笛聲!」

隊長透過收發對講機,下令:「一號車,熄滅警笛!」而後轉問埃裡希。

「我還聽到警笛聲!」他答說。

「二號車,熄滅警笛!」

「我還聽得見 … 。」

直到第十二輛車,艾利希喊說:「我現在聽不見了。」

隊長下令:「十二號車,再放警笛。」

艾利希告知:「我現在又聽到了,但越走越遠!」

「十二號車掉回頭!」隊長下令。

不久,艾利希喊道:「又逐漸地近了,現在聲音非常刺耳,應該剛好到了正確的路上。」

「十二號車,你們找一個有燈光的窗戶!」

「有上百盞的燈在亮著,人們出現在窗口為看發生了什麼事!」

「利用擴音機!」隊長下令。

艾利希經由電話聽到擴音機的聲音:「各位女士和 先生,我們正在尋找一個生命有嚴重危險的婦女。我們知道她在一間有燈光的房間裡,請你們關掉你們的燈。

所有的窗戶都變黑了,除了一個。

過了一會兒,艾利希聽到消防隊員闖入房間,而後一個男音向行動電話說:「這女人已失去知覺,但脈搏仍在跳動。我們立刻把她送到醫院。我相信有救。」

海倫.索恩達--這是那女人的名字--真的獲救了。她甦醒了,幾個星期後,也恢復了記憶。

那天清晨,哥本哈根市的消防報警中心不斷接到市民們詢問老婦人病情的電話,還有許多市民打來電話說,那天凌晨響徹哥本哈根市的警笛聲,是他們一生當中聽到的最動聽的聲音。
分享到:
评论

相关推荐

    Springer - Agile Software Development.2010

    - **前言内容**: - 提出了关于敏捷开发与计划驱动开发之间的对比与选择问题。 - 强调了在组织中推行敏捷开发作为基本原则时面临的挑战。 - 暗示了两种不同的工作态度(以结果为导向与以过程为导向)对于采用敏捷...

    Agile Product

    - **文档结构**:通常会包括前言、系统要求、安装步骤、配置指南、故障排除等部分,以便用户能够顺利完成安装并正确配置环境。 #### 知识点六:Agile PLM的应用场景 - **制造业**:对于汽车制造、航空航天等行业,...

    Agile Web Development with Rails 3nd Edition Beta.pdf

    此外,在书中的序言部分提供了一个表格,总结了更新进度的情况。值得注意的是,尽管许多章节的内容已经更新,但其中的一些截图尚未同步更新到Rails 2.1所呈现的结果。 Rails核心团队仍在持续改进Rails 2。随着时间...

    Agile Web Development with Rails, 4th Edition, Rails 3.1

    #### 一、前言 《敏捷Web开发与Rails》第四版是面向Ruby on Rails框架的一本经典著作,由Sam Ruby、Dave Thomas、David Heinemeier Hansson等多位专家共同编著。本书针对Rails 3.1版本进行了全面而深入的讲解,不仅...

    Agile Web Development with Rails 3nd Edition Beta

    第三版的序言中有一张表格总结了更新过程的状态。特别需要注意的是,在许多章节中,屏幕截图尚未更新以匹配 Rails 2.1 的结果。 #### Rails 的持续发展 Rails 核心团队仍在对 Rails 2 进行开发。随着时间推移,新...

    Essential Skills for Agile Development

    #### 前言 随着软件行业的快速发展和技术的不断创新,软件开发领域面临着诸多挑战。自1998年左右开始,“敏捷软件开发”作为一种新兴的开发方法论逐渐受到全球开发者的关注和青睐,因为它能够有效地解决软件开发过程...

    Agile Web Development With Rails 3rdEdition

    第三版序言中有一张表格总结了更新过程的状态。特别值得注意的是,在许多章节中,截图尚未更新以匹配Rails 2.1产生的结果。 Rails核心团队仍在持续改进Rails 2。不时地,新版本可能会引入与先前版本的Rails不兼容的...

    agile web development with rails 3 edition

    - 第三版的前言部分提供了一个表格,总结了整个更新过程的状态。 - 许多章节中的截图尚未更新以匹配Rails 2.1产生的结果。 - **版本控制**: - Rails核心团队持续对Rails 2进行维护和升级。新的发布可能会引入与...

    敏捷技能修炼(Essential Skills for the Agile Developer)

    #### 一、前言 《敏捷技能修炼:敏捷软件开发与设计的最佳实践》是由Alan Shalloway、Scott Bain、Ken Pugh和Amir Kolsky四位世界顶级软件开发专家和敏捷导师共同编著的一本经典著作。本书深入探讨了敏捷开发的核心...

    UOOC拓展英语词汇词根总和大全.doc

    - agile: 敏捷的 7. tain (握,持): - maintain: 宣称、维修、维持或赡养 - obtain: 获得 - obtainment: 获得物 - contain: 包含 - retain: 保存 - detain: 拘留 - abstain: 弃权、戒绝或抑制 8. prehend/...

    HP-UX 系统管理员指南.pdf

    #### 前言 - **文档目的**:该文档旨在为HP-UX系统管理员提供全面的操作指南,包括系统安装、配置、管理和故障排除等方面的知识。 #### 目标读者 - 主要面向已经具备一定Unix系统管理经验的专业人士,特别是那些...

    UML_Distille.pdf

    - **序言 (Preface)**:阐述了本书的目标读者、编写目的等信息。 - **为何关注UML (Why Bother with the UML)?**:解释了UML的重要性及其在软件开发中的作用。 - **书籍结构 (Structure of the Book)**:概括了全书...

    项目管理-软件质量计划书-模板及实例实战.doc

    * 前言:简介项目背景、质量目标和质量策略 * 质量目标:明确项目的质量目标和要求 * 质量策略:描述项目的质量策略和方法 * 质量管理计划:详细介绍项目的质量管理计划,包括质量目标、质量指标、质量控制和质量...

    .NET下的动态解密与反动态解密

    #### 前言 随着软件保护技术的发展,各种形式的代码加密和混淆技术变得越来越普遍。在.NET平台中,开发者经常使用不同的工具和技术对程序进行保护,这包括但不限于字符串加密、代码混淆、以及运行时解密等。其中动态...

    全国博士英语词汇大纲

    #### 一、前言 《全国博士英语统一考试词汇大纲》是一本旨在帮助准备参加全国博士英语统一考试的学习者掌握必备词汇的重要参考资料。该书由starch收集整理,仅用于学习交流,版权归属于原作者。以下是根据该大纲内容...

    java编码规范

    #### 一、前言 1. **目的** 本规范旨在为编写高质量、高效的Java代码提供一套标准、约定及指南。遵循这些规范可以帮助开发者写出更加安全、可靠且易于理解和维护的代码。通过提高代码的一致性和可读性,能够显著...

    AgileWebDevelopmentWithRails3rdEditionBeta.pdf

    - **更新状态**:第三版前言中包含一张表格总结了更新过程的状态,包括哪些章节已完成迁移至Rails 2。 #### 二、边缘Rails(Edge Rails)与实验性功能 随着Rails的发展,核心团队会不断引入新特性并修正问题。为了...

Global site tag (gtag.js) - Google Analytics