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

24

什么是敏捷软件开发的基本步骤?
以及如何使用敏捷方法启动新项目?

10个回答

20

嗯,OP,目前没有一份“敏捷软件开发”的详细的逐步指南,只要符合宣言原则的任何流程都可以被认为是敏捷的。

但我也知道,要开始,必须有一个“手把手”、“按部就班”的学习阶段。因此,我建议你: - 先看看现有的开发流程。找出“浪费时间”的活动,并采用一项敏捷实践来对抗/减少在这些活动中花费的时间。例如,如果你经常遇到构建问题,首先设置一个持续集成服务器并设置严格的预检查筛选。不要改变所有东西,让每个人都感到迷茫和疏离,

  • 挑选一项实践
  • 投入大约2-3周时间,熟悉它
  • 检查团队中是否每个人都觉得有帮助。如果是,坚持下去,将其作为新流程的一部分。否则,放弃并寻找其他替代方法。

如果你的整个团队都是新手,我建议(按强度排序):

  • 敏捷开发实践(Andy Hunt、Venkat S.,纤薄的书,对新手来说价值高)
  • 敏捷原则、实践和模式(Robert & Micah Martin)
  • 定期开展“变得更好”的会议,针对像TDD(Beck、Astels等)、重构(Fowler、Joshua K.)等重要实践。
  • 一个月左右后,阅读像XP Embrace Change - Beck、Poppendieck的精益书籍、Agile S/w Development - Alistair Cockburn、Peopleware - DeMarco、Lister的哲学书籍。

我建议你看一下这里列出的书籍


非常好的答案。非常感谢。我会去做的。 - ecleel
@Gishu,你的链接无法打开。 - Inquisitive

10

有一系列名为《敏捷之秋》的视频,介绍了敏捷开发的原则。目前发布的集数不算多,但是预计后续的集数包括:

  • 敏捷价值和实践概述
  • 基础面向对象设计原则
  • 设计模式实战
  • 单元测试基础
  • Mock对象
  • TDD(Test-driven development)
  • 项目文件/文件夹组织
  • 源代码控制基础
  • 持续集成/自动化构建
  • 敏捷项目规划原则
  • 领域驱动设计核心概念概述

WAW,太好了Erik。感谢你提供那些有用的内容 :) - ecleel

3

Henrik Kniberg编写了一个简短的PDF,快速易读。你可以开始阅读它。你会得到你的问题的答案和更多的信息。


3

2

2
采用敏捷软件开发方法的最佳途径非常取决于您所处的情况。为什么要采用敏捷?哪些好处对您来说最重要?您需要解决的最大问题是什么?您是否有资源进行破坏性的一次性采用?还是您更喜欢从较长时间的渐进式采用开始,尽管可能会更加痛苦?
我强烈推荐阅读《敏捷采纳模式》这本书,以帮助您思考哪种采纳方法最适合您。获取敏捷开发方面知识渊博的人员的直接(现场)帮助也可能是一个不错的主意,这个人员可以观察您的团队,看到模式和反模式,并贡献他的经验,以便处理它们。
我总是希望首先采用的做法之一是迭代回顾。这对于敏捷方法的适应循环至关重要。

1

我读了很多关于敏捷开发的书,但是唯一能真正推荐的一本是James Shore所著的《敏捷开发艺术》。


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,都能满足您的需求。


1

你是不是敏捷的,其实你可能只是更或者更少地敏捷而已。

要想从现有情况开始变得更加敏捷,可以尝试以下几点:

  • 增加可视化(屏幕上的度量指标、可视化面板等等)
  • 获得更多反馈并缩短反馈周期(CI、代码度量、错误度量等等)
  • 减少同时进行的工作量(WIP)——个人和团队都应该减少多任务处理。

如果你想尝试新东西,我建议使用看板。它是最灵活、最少规定的敏捷工具,你只需要从可视化工作流程和限制WIP开始即可。


1
最好的方法是雇用一位有技术经验的敏捷教练。请找一个曾经使用过你想采用的任何敏捷方法(如scrum、xp、crystal、kanban等)的人加入你的团队。他们需要了解你的工作环境,并最好在现场协助工作。检查他们的参考资料,确保他们真正在实践中使用过这些方法。周围有很多冒充者和骗子。
有经验的人加入团队会让一切变得不同。仅仅通过阅读书籍来采用敏捷方法是极其困难的。你正在试图改变一种文化,而你不能使用清单或算法来做到这一点。这是一种社会复杂性问题。你正在试图在一个复杂的系统中鼓励出现行为。
如果你无法雇用敏捷教练,请找到团队或部门或公司中其他有经验的人,并邀请他们来看看团队。向他们展示你的情况,并听取他们的意见。
不同的团队需要不同的建议——这取决于很多因素,包括团队成员、你使用的技术类型、你所从事的业务类型等等。
最重要的是,与当地的敏捷专家建立联系,并面对面学习。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接