Well OP, there isn't a single documented step-by-step guide for 'agile software development' and any procedure that aligns with the manifesto qualifies as agile
But I also understand that to get started, there has to be a 'hand-holding'/'by-the book' phase of learning. So I'd recommend that - you take a look at your current development process. Find out the 'waste' activities that sink a lot of time and pick up an agile practice that counters/minimizes the time spent in that activity. e.g. if you're routinely fighting build issues, set up a continous integration server first and set up a stringent check-in pre-screening. Instead of changing everything such that everyone feel lost and alienated,
pick up one practice at a time
Invest about 2-3 weeks with it..get comfortable with it
check if everyone in the team feels that it is helpful. If yes, stick with it, make it part of your new process. Else discard and find and replace with another alternative remedy.
In case your entire team is new to agile, I'd recommend (in order of intensity)
Practices of an Agile Developer (Andy Hunt, Venkat S., thin book, high value-to-page ratio for newbies)
Agile Principles Practices and Patterns (Robert & Micah Martin)
Conduct weekly 'Getting Better' sessions for select practices like TDD (beck, astels, et.all), Refactoring (Fowler, Joshua K.), etc that are bound to have huge payoffs.
a month or so in.. go for the philosophical books like XP Embrace Change - Beck, Lean Books by Poppendieck, Agile S/w Development - Alistair Cockburn, Peopleware - DeMarco, Lister
There is a screencast series called Autumn of Agile, that gives an introduction to the agile principles. There are not that many episodes out yet, but the episode plan looks like this:
What the best way is to adopt an Agile software development approach very much depends on the situation you are in. Why do you want to adopt Agile? What benefits are most important to you? What are the biggest problems you need to solve? Do you have the resources to do a disruptive all-at-once adoption? Or do you prefer to start with a longer taking, potentially more painful incremental adoption?
I'd highly recommend the book "Agile Adoption Patterns" to help you think about which is the right adoption approach for you. It might also be a good idea to get direct (on site) help from someone who is knowledgable in Agile development - someone who can observe your team, see patterns and antipatterns and contribute his experience on how to deal with them.
One of the practices that I'd always want to adapt as one of the first are iteration retrospectives. Those are vital to the adaption cycle of Agile approaches.
I think the single most valuable piece of the book is the description of what practices to adopt first to achieve certain business values (quality, time to market, ...).
The best way is to hire a technically-experienced agile coach. Get somebody to work on your team that has done whatever agile method you want to adopt (scrum, xp, crystal, kanban, ... whatever) before. They're going to have to see your working circumstances - and preferably work in the environment to help. Check their references and make sure they really have used it in practice. Lots of wannabees and fakes around.
Having somebody experienced on the team makes all the difference. It's extremely difficult to adopt from just from reading a book. You're trying to change a culture and you can't do that using a checklist or an algorithm. It's a social complexity thing. You're trying to encourage emergent behaviour in a complex system.
If you can't hire an agile coach, find other people on the team or in your department or company that have experience and invite them 'round to see the team. Show them your circumstances and get their opinion.
Different teams will need different pieces of advice - it depends on lots of things including the team members, the kind of technologies you use, the type of business you work in...
Above all else, make contacts with local agilists and learn face-to-face.
You're not agile or not, you're more or less agile.
To start getting more agile from what you're already doing,
visualize more (metrics on screen, visual board, etc)
get more feedback and shorten feedback loops (CI, code metrics, bug metrics, etc)
reduce the amount of simultaneous work in progress (WIP) - i.e., reduce multi-tasking both on individual and team level
If you're able to try something new I'd recommend Kanban. It's the least prescriptive and most flexible agile tool, and you just start by visualizing your work flow and limit your WIP.
发布评论
评论(10)
好吧,OP,没有一个记录的“敏捷软件开发”分步指南,也没有任何与 宣言符合敏捷
但我也明白,要开始,必须有一个“手持”/“按书本”的学习阶段。 所以我建议
- 你看一下你目前的开发流程。 找出耗费大量时间的“浪费”活动,并采取敏捷实践来抵消/最大限度地减少在该活动上花费的时间。 例如,如果您经常遇到构建问题,请首先设置持续集成服务器并设置严格的签入预筛选。 不要改变一切,让每个人都感到失落和疏远,而是
如果您的整个团队都是敏捷新手,我会推荐(按强度顺序)《
我建议您看一下 此处列出的书籍
Well OP, there isn't a single documented step-by-step guide for 'agile software development' and any procedure that aligns with the manifesto qualifies as agile
But I also understand that to get started, there has to be a 'hand-holding'/'by-the book' phase of learning. So I'd recommend that
- you take a look at your current development process. Find out the 'waste' activities that sink a lot of time and pick up an agile practice that counters/minimizes the time spent in that activity. e.g. if you're routinely fighting build issues, set up a continous integration server first and set up a stringent check-in pre-screening. Instead of changing everything such that everyone feel lost and alienated,
In case your entire team is new to agile, I'd recommend (in order of intensity)
I'd recommend taking a look at the books listed here
有一个名为敏捷之秋的截屏视频系列,介绍了敏捷原则。 目前还没有那么多集,但集计划如下:
There is a screencast series called Autumn of Agile, that gives an introduction to the agile principles. There are not that many episodes out yet, but the episode plan looks like this:
看看 Robert Marin 的《敏捷软件开发、原则、模式和实践》。 有 java 和 ac# 版本。 http://www.amazon.com/Software-Development-Principles-Patterns-Practices/ dp/0135974445
have a look at "Agile Software Development, Principles, Patterns, and Practices" by robert marin. there is a java and a c# version. http://www.amazon.com/Software-Development-Principles-Patterns-Practices/dp/0135974445
Henrik Kniberg 整理了一个简短的 PDF,快速且易于阅读。 你可以从阅读它开始。 您将得到问题的答案以及更多信息。
Henrik Kniberg put together a short PDF, quick and easy to read. You could start by reading it. You'll get the answer to your question and a lot more.
采用敏捷软件开发方法的最佳方法很大程度上取决于您所处的情况。为什么要采用敏捷? 什么好处对您来说最重要? 您需要解决的最大问题是什么? 您是否有资源进行颠覆性的一次性采用? 或者您更喜欢从耗时更长、可能更痛苦的渐进式采用开始?
我强烈推荐《敏捷采用模式》一书,以帮助您思考哪种采用方法适合您。 从精通敏捷开发的人那里获得直接(现场)帮助也可能是一个好主意——这个人可以观察你的团队,看到模式和反模式,并贡献他如何处理它们的经验。
我一直想采用的第一个实践是迭代回顾。 这些对于敏捷方法的适应周期至关重要。
What the best way is to adopt an Agile software development approach very much depends on the situation you are in. Why do you want to adopt Agile? What benefits are most important to you? What are the biggest problems you need to solve? Do you have the resources to do a disruptive all-at-once adoption? Or do you prefer to start with a longer taking, potentially more painful incremental adoption?
I'd highly recommend the book "Agile Adoption Patterns" to help you think about which is the right adoption approach for you. It might also be a good idea to get direct (on site) help from someone who is knowledgable in Agile development - someone who can observe your team, see patterns and antipatterns and contribute his experience on how to deal with them.
One of the practices that I'd always want to adapt as one of the first are iteration retrospectives. Those are vital to the adaption cycle of Agile approaches.
我推荐 Gregory S. Smith 撰写的文章“创建敏捷环境”(http: //www.methodsandtools.com/archive/archive.php?id=70)和视频“在企业中过渡到敏捷方法论”(http://www.renewtek.com/index.php?page=agile-methodology-in-the-enterprise)
I recommend the article "Creating an Agile Environment" by Gregory S. Smith (http://www.methodsandtools.com/archive/archive.php?id=70) and the video "Transition To Agile Methodology In The Enterprise" (http://www.renewtek.com/index.php?page=agile-methodology-in-the-enterprise)
我会赞同 Ilja 对这本书的推荐:http://www.amazon.com/ Agile-Adoption-Patterns-Roadmap-Organizational/dp/0321514521
我认为这本书中最有价值的部分是描述首先采用哪些实践来实现某些业务价值(质量、上市时间等)。 .)。
本书评论:http://www.amazon.com/Agile-Adoption-Patterns -路线图-组织/dp/0321514521
示例章节: http://www.informit.com/store/product .aspx?isbn=0321514521#info8
最后加入 groups.yahoo.com 上的敏捷邮件列表,ScrumDevelopment 或 AgileProjectManagement 都将很好地满足您的需求。
I'll second Ilja's recommendation for the book: http://www.amazon.com/Agile-Adoption-Patterns-Roadmap-Organizational/dp/0321514521
I think the single most valuable piece of the book is the description of what practices to adopt first to achieve certain business values (quality, time to market, ...).
Reviews of the book: http://www.amazon.com/Agile-Adoption-Patterns-Roadmap-Organizational/dp/0321514521
Sample Chapter: http://www.informit.com/store/product.aspx?isbn=0321514521#info8
Finally come join an Agile mailing list at groups.yahoo.com either ScrumDevelopment or AgileProjectManagement will suit your needs well.
我读过很多敏捷书籍,其中我真正推荐的一本书是 James Shore 的《敏捷开发的艺术》。
I've read a lot of Agile books, and the one book I could truly recommend from all those is "The Art of Agile Development" by James Shore.
最好的方法是聘请一位技术经验丰富的敏捷教练。 让某人在你的团队中工作,该人之前已经做过你想要采用的任何敏捷方法(scrum、xp、crystal、看板……等等)。 他们必须了解您的工作环境 - 最好是在能够提供帮助的环境中工作。 检查他们的参考资料并确保他们确实在实践中使用过它。 周围有很多崇拜者和假货。
团队中有经验丰富的人会让一切变得不同。 仅仅通过阅读一本书来采用是非常困难的。 你试图改变一种文化,但使用清单或算法是无法做到这一点的。 这是一个社会复杂性的问题。 你试图鼓励复杂系统中的紧急行为。
如果您无法聘请敏捷教练,请在团队或您的部门或公司中找到其他有经验的人,并邀请他们参观团队。 向他们展示您的情况并征求他们的意见。
不同的团队需要不同的建议 - 这取决于很多因素,包括团队成员、您使用的技术类型、您从事的业务类型......
最重要的是,与当地敏捷专家建立联系并学习面对面 -面对。
The best way is to hire a technically-experienced agile coach. Get somebody to work on your team that has done whatever agile method you want to adopt (scrum, xp, crystal, kanban, ... whatever) before. They're going to have to see your working circumstances - and preferably work in the environment to help. Check their references and make sure they really have used it in practice. Lots of wannabees and fakes around.
Having somebody experienced on the team makes all the difference. It's extremely difficult to adopt from just from reading a book. You're trying to change a culture and you can't do that using a checklist or an algorithm. It's a social complexity thing. You're trying to encourage emergent behaviour in a complex system.
If you can't hire an agile coach, find other people on the team or in your department or company that have experience and invite them 'round to see the team. Show them your circumstances and get their opinion.
Different teams will need different pieces of advice - it depends on lots of things including the team members, the kind of technologies you use, the type of business you work in...
Above all else, make contacts with local agilists and learn face-to-face.
你不敏捷或不敏捷,你或多或少敏捷。
为了从你已经在做的事情开始变得更加敏捷,
如果您能够尝试新事物,我会推荐看板。 它是规定最少、最灵活的敏捷工具,您只需从可视化您的工作流程并限制您的 WIP 开始。
You're not agile or not, you're more or less agile.
To start getting more agile from what you're already doing,
If you're able to try something new I'd recommend Kanban. It's the least prescriptive and most flexible agile tool, and you just start by visualizing your work flow and limit your WIP.