敏捷软件开发方法的基本步骤

时间:2008-11-16 06:53:35

标签: agile methodology

Agile software development的基本步骤是什么? 您如何使用敏捷方法开始一个新项目?

10 个答案:

答案 0 :(得分:19)

OP OP,“敏捷软件开发”没有单一的文档分步指南,任何与the manifesto一致的程序都符合敏捷

但我也明白,要开始,必须有一个“手持”/“按书”阶段的学习。所以我建议那样做 - 您将了解当前的开发过程。找出浪费大量时间的“浪费”活动,并采取敏捷实践来对抗/最小化在该活动中花费的时间。例如如果您经常打击构建问题,请先建立一个连续的集成服务器,并设置严格的登记预先筛选。而不是改变一切,让每个人都感到迷茫和疏远,

  • 一次选择一次练习
  • 用它投资2-3周......对此感到满意
  • 检查团队中的每个人是否认为它有用。如果是,请坚持下去,使其成为新流程的一部分。否则丢弃并找到并替换另一种替代补救措施。

如果您的整个团队都是敏捷的新手,我建议(按强度顺序)

  • 敏捷开发人员的实践(Andy Hunt,Venkat S.,薄书,新手的高页面比率)
  • 敏捷原则实践与模式(Robert& Micah Martin)
  • 为TDD(beck,astels,et.all),Refactoring(Fowler,Joshua K.)等精选实践每周举办一次“改善”会议,这些实践必将带来丰厚回报。
  • 一个月左右..去寻找像XP拥抱变化的哲学书籍 - Beck,Poppendieck的精益书籍,敏捷S / W开发 - Alistair Cockburn,Peopleware - DeMarco,Lister

我建议您查看books listed here

答案 1 :(得分:10)

有一个名为Autumn of Agile的截屏视频系列,介绍了敏捷原则。目前还没有那么多剧集,但剧集计划如下:

  • 敏捷价值观和实践概述
  • 基本OO设计原则
  • 行动中的设计模式
  • 单元测试基础
  • 模拟对象
  • TDD
  • 项目文件/文件夹组织
  • 源控制基础
  • 持续集成/构建自动化
  • 敏捷项目规划原则
  • 域驱动设计核心概念概述

答案 2 :(得分:3)

Henrik Kniberg整理了short PDF,快速易读。你可以从阅读开始。你会得到你的问题的答案以及更多。

答案 3 :(得分:2)

了解罗伯特马林的“敏捷软件开发,原则,模式和实践”。有一个java和一个c#版本。 http://www.amazon.com/Software-Development-Principles-Patterns-Practices/dp/0135974445

答案 4 :(得分:2)

采用敏捷软件开发方法的最佳方式在很大程度上取决于您所处的情况。为什么要采用敏捷?哪些好处对您最重要?您需要解决的最大问题是什么?您是否有资源进行破坏性的一次性采用?或者你更愿意从更长时间的采取开始,可能更痛苦的增量采用?

我强烈推荐“敏捷采用模式”一书,以帮助您思考哪种方法适合您。从敏捷开发中知识渊博的人那里获得直接(现场)帮助也是一个好主意 - 有人可以观察你的团队,看模式和反模式,并提供他如何处理它们的经验。

我一直想要适应的第一种做法是迭代回顾。这些对于敏捷方法的适应周期至关重要。

答案 5 :(得分:2)

我推荐Gregory S. Smith撰写的文章“创建敏捷环境”(http://www.methodsandtools.com/archive/archive.php?id=70)和视频“企业中的敏捷方法转变”(http://www.renewtek.com/index.php?page=agile-methodology-in-the-enterprise

答案 6 :(得分:1)

我将推断Ilja对该书的推荐:http://www.amazon.com/Agile-Adoption-Patterns-Roadmap-Organizational/dp/0321514521

我认为本书中最有价值的部分是描述首先采用哪些实践来实现某些商业价值(质量,上市时间......)。

对该书的评论:http://www.amazon.com/Agile-Adoption-Patterns-Roadmap-Organizational/dp/0321514521 示例章节:http://www.informit.com/store/product.aspx?isbn=0321514521#info8

最后加入groups.yahoo.com上的敏捷邮件列表,ScrumDevelopment或AgileProjectManagement将很好地满足您的需求。

答案 7 :(得分:1)

我读过很多敏捷书籍,而我能真正推荐的那本书是詹姆斯肖尔的“敏捷发展的艺术”。

答案 8 :(得分:1)

最好的方法是聘请技术经验丰富的敏捷教练。让一个人在你的团队中工作,他们之前已经采用了你想采用的任何敏捷方法(scrum,xp,crystal,kanban,......等等)。他们将不得不看到你的工作环境 - 最好在环境中工作以提供帮助。检查他们的参考文献,确保他们确实在实践中使用过它。很多崇拜者和假货。

让团队中有经验的人会有所不同。从阅读一本书中采用它是非常困难的。你正试图改变一种文化,你不能使用清单或算法来做到这一点。这是一个社会复杂的事情。你试图在复杂的系统中鼓励紧急行为。

如果您不能聘请敏捷教练,请在团队或您的部门或公司中找到其他有经验的人,并邀请他们参观团队。向他们展示你的情况并征求他们的意见。

不同的团队需要不同的建议 - 这取决于很多事情,包括团队成员,您使用的技术类型,您所从事的业务类型......

最重要的是,与当地的敏捷专家联系,并面对面学习。

答案 9 :(得分:1)

你不敏捷或不灵活,你或多或少敏捷。

要开始从你正在做的事情中获得更多敏捷,

  • 可视化更多(屏幕上的指标,可视板等)
  • 获得更多反馈并缩短反馈循环(CI,代码指标,错误指标等)
  • 减少正在进行的同时工作量(WIP) - 即减少个人和团队级别的多任务处理

如果你能尝试新的东西我会推荐看板。它是最不具说明性和最灵活的敏捷工具,您只需将工作流程可视化并限制WIP。