views:

107

answers:

5

I want to start Agile practices in a team. I'm assuming the information is available for free online about how to specifically carry it out.

Online I can locate the manifesto, the alliances and corporations involved but where is the actual central guide or root instruction set about how to do it? (Maybe the practices themselves are more ethereal or subjective than I expect and it's found in multiple places?)

Edit to summarize solutions:

  • Agile is a concept so that's what's to be found online about it. However specific processes or methods of Agile development have been created like Scrum and Extreme programming to provide concrete solutions to teams who want to adopt Agile and reap its proposed benefits. Find the shoe (or method) that fits best. Maybe create it.

  • If looking for solutions online to implement Agile development in your organization or for your project, seek out the specific methods too and decide among them.

+6  A: 

There are numerous Agile methods.

Not one. And nothing definitive on something like "Agile". That's like a definitive guide to "Honesty".

Read this for one Agile method that some folks like: http://www.controlchaos.com/old-site/Scrumo.htm

Alos, there are numerous non-Agile methods. They'll all have a form similar to this: http://en.wikipedia.org/wiki/Waterfall_model

S.Lott
+1 for the silly results I got after Googling "how to be honest"
iandisme
Okay, that helps while trying to get a handle on this. Believe me, from my novice Agile perspective it's tough to imagine explaining the need for something something that's not definitive to colleagues and employers. They want something to grab onto. Possibly fodder for another question.
John K
So in programming similies is Agile more like the abstact class or interface and Scrum a derivation or concrete implementation? Should I instead put my focus on seeking out concrete processes for Agile like Scrum?
John K
Scrum is a very specific method that requires a lot of discipline and needs to be actively backed up by management. I'd recommend learning about what Agile means first to get a feeling and then either starting with specific practices or implementing a concrete process.
Anne Schuessler
@jdk: Correct. Agile is a broad, diffuse concept. Like Honesty. And Flexibility. It's just "Agility". Scrum is an Agile method. A method that fits the Agile mold, not the Waterfall mold.
S.Lott
+1  A: 

I agree with S.Lott. There are lots of Agile methods, not the one Agile method per se. Likewise I wouldn't know any central guide which covers All You Ever Wanted to Know About Agile.

I would actually recommend a book here. The one I found gave a pretty good introduction into how to go agile was O'Reilly's "The Art of Agile Development". Mind you, yeah, it is a book and therefore costs money, but not so much that it wouldn't be worth it if you really want to learn something.

There's nothing like specifically carrying out Agile. It's a bunch of methods and ways that you can adapt (or choose not to adapt). Some of them are more important than others, specific methods (like Scrum) define a couple of must-follow rules, whereas you can just as well pick what you think works best for you and see how it turns out.

I would actually recommend starting at one point with a good definition of Agile (the one at Wikipedia seems fine, along with a list of Agile methods and practices) and reading up on all the methods and practices from there. There will be googling involved.

Anne Schuessler
+1 You're right. I don't mind the cost of books. However I never trust books to give the full picture and so I assumed there's something definitive online form where these books get their material. Turns out my assumptions are wrong but getting quick correction through discussion in this thread. Thanks.
John K
+1  A: 

Here is a good resource to learn about Extreme Programming which is another agile methodology.

Mark
Thanks for this. I'm more or less discovering that there are certain implementations of Agile that can be adopted.
John K
+1  A: 

Here's a downloadable book by Henrik Kniberg on Scrum and XP from the Trenches which describes in detail how his team did Scrum. When we implemented Scrum it was useful to have an in-depth look at what another team had found effective.

Chris Latta
+1  A: 

There is no definitive resource for all agile methods - as there is so much diversity in the methods.

The people that came up with the word "agile" didn't actually have that much in common - so it's not as though there's an "international headquarters of agile"... ;-)

It depends which one you want to know about: Scrum or XP or Crystal or one of the other methods... some of them are quite different from each other...

Don't start out by reading a bunch of different methods you haven't tried out and mixing together the bits you like - a mistake that's far too common. That results in random chaos.

Best way to start:

  • Look at some agile methods
  • Pick the one you think is most practical to adopt in your circumstances.
  • Try doing it by the book for a while - say for at least a month.
  • After you've been doing it for a while, you can get the team together to run a retrospective to decide what to improve - or what to try instead.

Recommendation (assuming you don't have experienced help on hand)

Scrum is pretty easy to get going. You can set it up in about 2 days if you're familiar with the basics.

Maybe after you've done scrum for a while you can start phasing in more of the XP practices. In any case, scrum doesn't have anything to say about technical things like the code, testing or refactoring - so once you've got the scrum basics down, you could start rolling in some XP practices. I think Test-Driven Development is the first one to start with.

cartoonfox
Scrum might be easy to get going in terms of the actual practices, but it takes a lot of involvement from at least two external parties. You need to get Product Management committed to provide a dedicated Product Owner and you need someone with enough time and resources to be the ScrumMaster.I agree that the best way is to decide on one method or a set of practices and try it out for at least a month, possibly more.
Anne Schuessler
True - but you're going to have to get those external parties involved to do XP as well. However you want to cut it you need to get the business to a point where they will let you do iterations/sprints... Personally I'd much prefer to start people on XP ('cos XP coaching is part of what I do...) but you do need some experience to get XP going and I don't know what kind of team I'm advising here...
cartoonfox
**BTW I don't think you need to see "scrum master" as a dedicated, specially appointed role.** The best teams I've worked with just appointed a senior dev to do it. Okay, that's not strictly what the scrum people tell you to do, but it can work if the dev has enough agile experience.
cartoonfox