views:

2992

answers:

10

Hi,

What are the basic steps for Agile software development?
And how you start a new project with agile methodology?

+2  A: 

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

Ray Tayek
Thank you very much. I'll see it.
ecleel
+15  A: 

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

I'd recommend taking a look at the books listed here

Gishu
Great answer. thank you very much. I'll do it
ecleel
+7  A: 

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:

  • Agile Values and Practices Overview
  • Basic OO Design Principles
  • Design Patterns In Action
  • Unit Testing Basics
  • Mock Objects
  • TDD
  • Project File/Folder Organization
  • Source Control Basics
  • Continuous Integration / Build Automation
  • Agile Project Planning Principles
  • Overview of Domain Driven Design Core Concepts
Erik Öjebo
WAW, Great Erik. thanks for those helpful episodes :)
ecleel
+2  A: 

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.

Ilja Preuß
+3  A: 

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.

philippe
Thanks Philippe. useful PDF :)
ecleel
+1  A: 

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.

Mark Levison
+2  A: 

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)

+1  A: 

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.

Martin Wickman
+1  A: 

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.

cartoonfox
+1  A: 

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.

Ingvald

related questions