This blog concerns itself with organizations moving to business agility—the quick realization of value predictably and sustainably, and with high quality. It includes all aspects of this—from the business stakeholders through ops and support. Topics will be far-reaching but will mostly discuss FLEX, Flow, Lean-Thinking, Lean-Management, Theory of Constraints, Systems Thinking, Test-First and Agile.
First, let me start out with what I mean by “simple.” I view “simple” as being “fit for purpose.” Think about it this way, maybe something has fewer parts, or fewer concepts than something else, but if it isn’t “fit for purpose” then you have to add concepts or actions to make it work. Processes and models and everything else do not live on their own – they always exist in a context. Being “simple” without attending to the context something is in is a meaningless statement.
So how does Lean and Flow Thinking make things more “fit for purpose?” Making things fit for purpose requires making decisions to either change where you are or to change an approach you’re about to undertake. But how can you do this, how can you determine if something is better than something else in the context you are in? Given we’re in complex systems you can’t ever be sure your prediction of a new action will be correct, but you can be guidedseveral Lean and Flow measures. And you can validate whether you achieved an improvement or not. Lean and Flow helps here by providing metrics such as cycle and lead time in addition to guidance such as focusing on quality and reducing delays in workflow and achieving feedback.
While virtually all approaches have accepted that Lean and Flow thinking is useful, most still define themselves around a framework that has a core of immutable roles, events, artifacts and rules. These core concepts can’t be adjusted without going outside of the framework. Although they use Lean and Flow principles, people can only use these to make adjustments that fit into the core framework. Since there are no universal practices, this means that adopting such frameworks means there will be a lack of fit for purpose in many situations.
Nevertheless, many practitioners argue for the universality of their core. For example, it is common in the Scrum community to insist that cross-functional teams can be used everywhere when we should be asking "when are cross-functional teams fit for purpose and when are other structures better?" Scrum’s mantra of being “simple to understand but difficult to master” may be more of an indication that its simplicity is in its definition and not its fit for purpose. This is not necessarily a good thing. This is just an example, I'm not picking on Scrum. You can substitute any method and any of its required practices here.
This is one of the reasons that, although some people have claimed Disciplined Agile is more complicated than other approaches because it provides options, it is actually simpler from the overall view of what it takes to implement. Scrum’s mantra of being “simple to understand but difficult to master” may be more of an indication that its simplicity is in its definition and not its fit for purpose. This is not necessarily a good thing.
The bottom line is providing choice when it makes things fit for purpose simplifies things. Forcing people to work a particular way complicates things.
Thanks for your thoughts. I globally aggre however although
providing choices usually is good, too many choices can lead to indecision, confusion, delays. If the problem is very simple you don't need an elephant to kill a mouse.
An even with choices when the problem is complex or specific we need to taylor the choice.
In the end someone will choose an approach and the team will be forced to work with the chosen approach.
Alexandre - great points. and probably will need another blog here. :)
providing choices must be done in an intelligent way. Again, the difficulty with what you build and how it exposes itself are two different issues. thanks. will write something on this at some point.
Thanks for referring back. The idea of choice and how to make them is getting more and more important in my mind. It also ties in with inherent simplicity because we have to look at our problems in an effective manner.
See "Dealing With Complexity by Using Inherent Simplicity"
I quite like (and share) your view that "simple" is "fit for purpose".
Now, one might ask first what is the purpose of using such or such framework. I think that we often chase many different purposes t the same time when using a given framework, even though we may pretend otherwise. There is obviously an explicit must have purpose: deliver a product that will enthrall the client (with a number of quality attributes). And there are some less explicit purposes, often longer term and possibly cultural, like train and grow people, make the organization attractive for prospective employees, engage the team, etc... which in turn can have a multiplying effect on the throughput .
Then, fit for purpose may not be that simple.
Personally, I feel that a simple set of well thought rules, associated with the freedom to explore is simpler than the same set of rules associated with a number of defined choices for customization. The predefined choices may seem simpler or more reassuring for the practitioner, but at the same time may steal from him/her the possibility to find the "simplest" and most effective way forward.
what do you think?
I need to clarify that in order for something to be simple it must be fit for purpose. They are not the same as some things that are fit for purpose are not simple.
But I think we agree. Let me restate it - if you try to follow something predefined, it may not be fit for purpose, which will mean it won't be simple. The ability to choose requires knowing how to choose. and that's where lean and flow come in.