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.

  1. Start with what you are trying to accomplish – increasing our rate of success. I define success?as adding value to the stakeholders of the company (customers and internal) quickly, predictably, and in a cost-effective manner.
  2. Our endeavors, therefore, need to increase this.
  3. This requires focusing on the value stream – from idea to consumption of value.
  4. This requires knowing what’s of value, delivering it as continuously as possible, and using feedback to ensure you’re doing it well.
  5. You must have quick feedback to guide your process of discovering what’s of value and to improve your way of working.
  6. What is of value must be specified by something like an MBI or a MOVE (descendants of MMFs). That is, an artifact representing the smallest releasable item that specifies both what’s needed and who will work on it.
  7. Queue sizes must be kept low. This requires both organizing people to increase collaboration and focus while using pull methods to keep work load levels below capacity.
  8. First principles must be understood.
  9. Practices must be tailored to the context in which they will be used. This tailoring must be guided by adherence to first principles. The Value Stream Impedance Scorecard is an example of such a guide.

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.

要查看或添加评论,请登录

社区洞察

其他会员也浏览了