Oct 13 2008
Lean, Agile, AUP, and TFS
I’ve been slowly but surely reading the book “Implementing Lean Software Development”. I’m taking it nice and slow allowing for the information to sit and ferment in my brain for a while before drawing in more concepts. The more I read this book, the more I love it’s approach and the way it presents the concepts, especially the core principles. So the more I learn about Lean principles, the more my brain is starting to draw comparisons between Lean, Agile, AUP, MSF, etc, etc, etc.
So let’s compare the 7 principles of Lean with AUP / Agile (not in any kind of comparable order).
|
Philosophies of AUP |
Principles of Lean |
|
1. Your staff knows what they’re doing |
1. Eliminate waste |
|
2. Simplicity |
2. Build Quality In |
|
3. Agility |
3. Create Knowledge |
|
4. Focus on high-value activities |
4. Defer Commitment |
|
5. Tool independence |
5. Deliver Fast |
|
6. You’ll want to tailor this product to meet your own needs |
6. Respect People |
|
|
7. Optimize the Whole |
AUP itself doesn’t really define many real “principles” other than deferring to the principles of Agility.
So it really makes more sense to compare the Agile Manifesto with the principles of Lean.
|
Agile Manifesto |
Principles of Lean |
|
1. Our highest priority is to satisfy the customer through early |
5. Deliver Fast |
|
2. Welcome changing requirements, even late in development. |
4. Defer Commitment |
|
3. Deliver working software frequently, from a couple of weeks to a couple of months, |
5. Deliver Fast |
|
4. Business people and developers must work together daily throughout the project. |
3. Create Knowledge |
|
5. Build projects around motivated individuals. |
6. Respect People |
|
6. The most efficient and effective method of conveying information to |
3. Create Knowledge |
|
7. Working software is the primary measure of progress. |
2. Build Quality In |
|
8. Agile processes promote sustainable development. |
2. Build Quality In |
|
9. Continuous attention to technical excellence and good design enhances agility. |
3. Create Knowledge |
|
10. Simplicity–the art of maximizing the amount of work not done–is essential. |
1. Eliminate waste |
|
11. The best architectures, requirements, and designs emerge from self-organizing teams. |
6. Respect People |
|
12. At regular intervals, the team reflects on how to become more effective, |
7. Optimize the Whole |
So as we talk about Lean, Agile, Agile Unified Process, TFS, Design Patterns, and Test-Driven development we have 6 things to communicate to our teams.
· High Level – Agile / Lean which are comparable and supportive guiding principles.
· Process – AUP / TFS which are a process and tools for driving and organizing those principles.
· Implementation – Design patterns and Test-Driven development are the techniques for building in the principles into our software.
My big question I ask myself is… why AUP? Why not MSF Agile? At the end of the day, your overlying philosophy is still Agile / Lean. Your implementation of design patterns and test-driven development stay the same. The difference is the terminology that support AUP vs the terminology that exists within MSF. You’re still using TFS which is driving the actual process… so really it’s all about terminology and which/what level of documentation is made. AUP is very philosophical and non-specific in the documentation. MSF for Agile is more suggestive in the proper process and what documents you should and should not be maintaining. So what’s so “broken” about MSF that we’ve decided to move to AUP? Do people want to I’m just trying to wrap my head around the business decision to move to AUP.
Frankly one thing that I feel that is missing from AUP that is clearly stated in MSF process are things like Establish Clear Accountability. Maybe that’s the big difference is that MSF focuses maybe too much on clear specific roles and accountability while AUP focuses more around non-specific roles and flexible responsibilities? Again, I’m just trying to understand the specific reasons so I know what philosophies or practices are “bad” in MSF, which are fixed by some other overlying philosophy or practice in AUP.
Comments Off