What You Have to Do To Be Successful
This was in response to a post by Katharine Chajka
Another week, another LinkedIn feed full of unproductive hate on various agile methods. https://bit.ly/3SMk1J3
I thought it worth reposting on its own.
----------------
Great post. Here’s what I think you have to do. I number the statements since I relate anti-patterns to them in the last half of my response. I know this is a long response, but what is required for organization-wide improvement is not simple.
The above lists what needs to be accomplished. Just as big a question though is how do you get people to understand this. This requires having effective education methods. This requires:
10. Incremental training.
11. Collaboration tools so people can work together remotely and asynchronously.
12. Continuous improvement both of the way people are working and on an understanding of first principles.
Anti-patterns of this approach are (related to each item above):
1-2. Adopting a framework & focusing on it instead of directly focusing on value delivery.
3a. Having a focus on the team. Local optimizations don’t always mean overall improvement.
3b. Trying to solve the problem by looking at hierarchies. That is starting at the bottom and working your way up. Or starting at the top and telling people what to do. Or trying to go bottom up with top-down support.
4. Not having quick feedback cycles to ensure you’re building the right thing.
5a. Working on larger chunks than necessary. For example, deciding on how much work to do over a period of time (timeboxing) instead of looking to see what item can deliver value next (flow).
领英推荐
5b. Not using some method of specifying acceptance criteria prior to building what’s thought to be of value (e.g., using BDD, ATDD, ?or some equivalent)
5c. Lack of automated testing.
6. Focusing on work to be done over time. Using epics (which are too large) or features (which may or may not have enough function to be released).
7a. Limiting your value creation structures to cross-functional teams and Agile Release Trains. The reality of most companies is that other structures are more effective.
7b. Having anyone other than the people doing the work deciding how much they should be working on.
7c. Working on larger items than necessary.
7d. Not pulling work with attention to the capabilities of the value streams.
8a. Believing empiricism and empirical process control are sufficient, or worse, that you can’t control a non-deterministic system with a well-defined approach.
8b. Not looking for cause and effect because we’re involved in a complex endeavor.
8c. Believing a pre-set collection of practices will be applicable to your situation.
8d. Telling people to follow approaches without helping them to understand them at the same time. People can relate to having not followed first principles. This enables them to understand what they are doing right from the beginning.
9. Using preset practices. Adhering to a guide or definition of a framework instead of first principles. Not having a way of telling if one practice will be better than another.
10. Training in increments more than a half day results in 80% loss of retention. It also doesn’t allow being able to apply what’s learned in people’s work.
11. Without a way to work together collaboration will be difficult and people will not have an aligned understanding.
12. A lack of theory to work on and improve will slow learning. It will also de-motivate people since they won’t see what to do and will likely just do what’s convenient.
An interesting side note is that following this approach results in scale-free methods. That is, the principles and practices created can be used at all scales. This is due to the reliance on value streams and first principles which apply everywhere.