Optimize the Whole

I know we talk about self-organized and empowered teams being at the heart of agile practices.  But sometime I see that focus from individuals and teams going a little too far.  Sometimes people forget about the big picture.  I believe everything we do needs to map back to organizational visions and goals.  If you can't do that, what you are doing is wasteful.  For some organizations, everything needs to map back to increasing profits or lowering costs.  But we have to be careful not to fall into the "local optimum" trap.

A local optimum of a combinatorial optimization problem is a solution that is optimal (either maximal or minimal) within a neighboring set of solutions. This is in contrast to a global optimum, which is the optimal solution among all possible solutions. (Thank you Wikipedia)

You can read more about local optimums in the late Eli Goldratt's book, The Goal.  To the layman, you should consider activities and efforts that will benefit the organization or process flow as a whole, not necessarily what is best for you or your team.  I know it sounds counter-intuitive but hear me out.

You've probably seen this local optimum in action in one way or the other.  If you have a process flow, it's happened.  With a traditional waterfall application development flow, have you ever had a development team deliver features without any concern of the impact to their QA counterparts or others downstream in the process?  The release is dependent on the other teams but what do they care?  They were very efficient at getting their work done.

Have you ever had that boss who was utterly obsessed with keeping everyone "100%" busy rather then being focused on ensuring the greatest amount of value flowed through the system in the shortest possible time?  Both instances are bringing attention to practices that happen and we just accept them.  One example is focusing too much on the localized efficiency. The other focuses too much on utilization.

My Freeway Analogy

When I get on the freeway, I don't care that I can go the speed limit for 5 miles out of my 50 mile commute (localized efficiency).  I really don't care how many cars the freeway can hold (utilization).  What I care about is that I can go as fast as I can for my overall commute.  That should be the goal.

I'll close with one of my favorite quotes by Eli Goldratt

A system of local optimums is not an optimum system at all

I'm curious if others out there can give me some more examples of local optimums and how they addressed them.  How did you optimize the whole?


Image Source: Awesome DC