When I hear how well or how poor implementation techniques worked for a given project the one telltale factor comes down to alignment between the project and the company?s values. I think something which gets overlooked all too often is how well the organization is aligned with the philosophy of the method itself, because if they aren?t aligned then the techniques of the method will not deliver the value they are supposed too.
For example, if we looked at the use of short iterations to manage work. This technique is present for a reason and it?s a technique that actually gets its impact from a few fundamental principles:
- Value working software over copious documentation
- Collaboration over negotiation
- Team members are accountable and authorized to act (Trusted vs. Managed)
If the organization does not buy-in to these principles, you can see the impact in the effectiveness of the technique.
- Values documentation over working software. This will put the iteration at risk of achieving its committed work (assuming working solution was the theme to begin with)
- Negotiation over collaboration. This affects the velocity of the iteration directly, velocity meaning how quickly completed work is being accepted. If the persons responsible for acceptance are outside of the team itself, then you tend to find yourself negotiating deliverables constantly.
- Accountable and Authorized is really Delegated and Governed. This will cause the iteration to have all sorts of problems such as requirements churn, lack of prioritization, lack of commitment, acceptance issues, you name a challenge and I can assure you its there.
When you start down the path of an implementation, make absolutely sure you are in philosophical alignment and have the buy-in to employ the principles that we all know work. The techniques such as iterations, user stories, and playbacks are just that, they are the delivery instruments of the principles. They don?t inherently carry any magic and will absolutely fail to deliver the expected value if the former isn?t taken very seriously. If you can?t get the buy-in on the fundamental principles, you are going to have to tailor your implementation techniques to the realities of the situation. Instead of working to create a superior solution, your efforts will be to minimize the sub-optimization any way you can. Make sure to focus on the "why's" of the methodology over the "how's"....and not to mention if your values are not lining up, it might be time to re-evaluate your values.