敏捷软件开发 – 总结

敏捷软件开发简介

  • 一套适应变化,立足于变化的软件开发方法
  • 一套被证明过的目前最有效的软件开发方法

Scrum、 XP 和 敏捷的关系

  • 敏捷是一种指导思想或开发方式(价值观)
  • Scrum和XP是敏捷开发的具体实现方法 (方法论)

敏捷和瀑布

瀑布,主要继承自大工业时代遗留下来的思想,关注流程和契约

敏捷,因互联网兴起一种软件开发思想,应变化而生,关注反馈和沟通

互联网软件开发的特点

  • 需求总是在不断变化

  • 不清楚需求最终是什么,一切需求都来自于未经验证的假设

  • 对软件系统和团队的要求,必须快速适应变化

  • 互联网时代的产品需求来源已经发生变化

  • 传统IT的软件需求来自于客户,软件开发商必须基于合约按期向客户交割软件产品。(契约)

  • 互联网应用软件,以服务提供给用户/客户,需求来源于互联网企业对用户/客户体验或服务自身的挖掘。(变化、不确定性)

互联网开发的问题

  • 什么样规模的团队最能保证效率和安全?

小团队

  • 什么时候才能确定最终的技术方案

编程的时候

软件开发方法的演化过程 (敏捷开发的推导过程)

  • 小作坊式开发

  • 传统瀑布模式(螺旋模式等等一系列模式)

  • 迭代式开发

  • 敏捷开发

Scrum 流程简介

参考维基百科

感性体验

对敏捷的反思

  • A/B 实验

需求是不确定的、易变的,原因之一是因为需求往往来自于假设,对假设的验证可以进行A/B实验。

  • 灰度发布

保证安全,减小风险。

  • 技术驱动

技术驱动能最大的激发团队成员的积极性。

问题

  • 敏捷适合小团队?

并非如此,按照敏捷的思想,团队要保持精简。若原有团队是大团队,则拆分为小团队。

敏捷软件开发 – 总结》上有2条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax