Agile on one page

AttachmentSize
Agile Overview.jpeg307.88 KB

What is Agile Development? What does it involve? What are the concepts around managing, design, development, testing and measuring Agile?

In an attempt to answer the above questions I have pulled together the following mind map using information gathered from a number of sources and I wanted to share this information. In order to resolve the concepts thoughts and misconceptions, I pulled this information together into a Mind Map. The attached image contains my collated findings on Agile achieves my goal of defining "Agile on one page".

Please feel free to view and use this however, I would really appreciate feedback on this. If you found that it works for you, then that's great and post your reply. If there are any things missing or you believe wrong, then please post your reply and lets have a discussion about it.

Based on your comments I will update the mind map and I will post it on this blog.

Many thanks

Stevan Zivanovic

Comments

Thanks to Phil Kirkham for his time in reviewing this. Below I've copied in his comments and my replies.

Very nice work - here's a little bit of feedback for you

Thank you :-)

Tools - Fit/Fitnesse seems to be a major one in Agile

I was trying to avoid adding specific tool vendors. I see Fitnesse in the "Tools – Others – Test Management" category. Is that a fair assessment?

Others - What is Agile - you have it as "a team of specialists", not sure I'd agree with that shouldn't everyone be able - or trying to - pick up other peoples work ? See TestingReflections where Antony Marcano is arguing that the distinction between tester-dev-analyst is disappearing on Agile teams

I agree to some extent and I have seen good software created and tested in teams with no test expert support. However a good tester does not necessarily make a good developer (I can code but not well however I can define and execute testing very well). Likewise, developers do not necessary make good testers. My view is:
Developers are creatively constructive.
Testers are creatively destructive.
These are two different approach providing better coverage and better independence, hence improving the overall quality of the product.

Suitability of Agile - why only low criticality projects? why does it have to be senior developers - isn't agile a great opportunity for junior ones to learn due to pair programming?

Low criticality - Agile is very difficult, if not impossible (?) in safe critical systems. High levels of architecture design and build are required and is based on strong analysis is usually very comprehensive and accurate. Hence minimal or no requirements change during development and testing. Also see studies by Barry Boehm and Richard Turner (Balancing Agility and Discipline: A Guide for the Perplexed), who advise that the selection of Agile (adaptive) over Plan Driven (e.g. waterfall) be based on the criteria of risk.

As to senior developers - the principle is that you must have some highly experienced people. The more you dilute the experience by using junior developers, the more checks and balances you need to put into place.

Retrospectives - should this be under continuous self improvement ? or is it one of the main principles?

Good one. I revisited the principles and actually, what I’ve included in the mind map are the key elements of the principles. The Agile Manifesto site actually states 12 principles and I will change this section in the next version. This includes: “At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.”, which should cover it.

hope some of this helps
Yes and thank you.

Regards

Stevan Zivanovic