Archives For House of Lean

SolutionsImminentTwilightZone

In the previous post in the Twilight Zone series we outlined some pretty serious issues in product development when Batch Sizes increase.  Since we aren’t bomb thrower consultants we hope to provide some practical advice to help reduce batch size.  Of course many of these ideas come from Don Reinertsen’s book, Principles of Product Development Flow, which YOU should read!

We also will showcase the connection between reducing batch size and business areas beyond development.  Our aim is to highlight the need for Lean|Agile thinking to bring agility to the whole organization.

Reduce Batch Size

  • Large batch sizes have a lot of bad stuff associated with them.  Some of them include: project slippage due to higher utilization; long feedback loops; high rates of shelfware; and redundant defects.
  • So what combats this?
    • Collocation – Batch sizes are proportional to physical proximity.  Close proximity communication among teams encourages smaller batches of information sharing.  You may need to engage Facilities Support to make this happen.
    • Infrastructure – Faster compile, build, integration, and test cycles encourage work in smaller batches.  Think about it, if it takes 30 minutes for a developer to get feedback on his/her most recent committed change, they are likely to batch more changes per commit.  We will probably need to engage Ops for infrastructure support and possibly Architecture to help create more modularized designs.
    • Limit Work in Process(WIP) – WIP is shelfware and any work not delivered to production.  In manufacturing this is equivalent to inventory that clutters the factory floor.  In software, this is equivalent to designs, code, …etc that clutters our minds.  To get rid of this we need Management to understand the cause and effect of limiting WIP.  We also need upstream buyin, because when we Limit WIP downstream, you will cause traffic jams upstream, which will cause Executives, Requirements, Architects, …etc heartburn.
    • Continuous Flow of Value Discovery – Many defects in product development can be attributed to poor value discovery.  Large batches create significant time delays between value discovery and actual development.  The accuracy of the assumptions or information captured during the discovery of value tends to decay over time.  So this time delay introduces bad information into the development process, which leads to defects.  Worse yet, an assumption or piece of information may be redundant across many design decisions which causes a widespread defect.  Therefore, the upstream participants involved with discovering value, typically the Customer, Requirements, Executives, Marketing, Sales, and Product Management, must do this on an ongoing basis to provide as much value information to the development teams.
      • This requires a standardized set of business practices to take in, analyze, prioritize, decompose, sequence and validate work.

So far we’ve identified several business areas beyond Development that influences batch size and ultimately the business agility of the whole organization.  They include:

  • Facilities, Ops, Architecture, Management, Executives
  • Requirements, Customers, Marketing, Sales, Product Management

While Batch Size is just one of many principles that influences enterprise agility, we hope the Twilight Blog series has showcased how an entire organization influences enterprise agility.  So next time someone suggests that “Agile” only concerns Development…point them to this blog series.

Cheers!

TWILIGHT ZONE

One of the preconceived notions that we run into while consulting is that Agile is only for software development teams.  As if Agile is some Twilight Zone that only applies to developers.  If we lived in the Twilight Zone, that might be true.  But we live in the real world, and we have to deliver value to our customers.  Agile practices and methods usually start cropping up on software development teams first, but quickly expose the lack of agility in other areas of the organization.  If you want to deliver software at scale with agility, you must consider how you do business outside of development!  

This is what Lean|Agile is all about.  Lean|Agile goes beyond development and addresses the organizational impediments that stand in the way of agility.  Our Lean|Agile service teaches and trains the essential practices needed to discover and deliver increments of value in a sustainable, predictable way. This means we must consider all stakeholders involved with the creation of value – Customers, Requirements, Architecture, Management, Development, Operations, …etc.

We’ve found that this common misunderstanding, has required us to do a lot more upfront training.  Essentially we need to baseline the thinking of our clients so that we are able to help our clients achieve agility at scale.  In the next week’s post we will begin to describe how one specific principle of Lean|Agile development, Reducing Batch Size, effects organizations outside development.  Stay tuned!

It Depends

November 25, 2012 — Leave a comment

“It depends.”  The unfortunate answer of some consultants to questions that they frankly don’t know the answer to.  I would be lying if I said I have never used those two words in front of a client before.  However, over the past few years I have made a personal pivot away from this oft used response.

In my experience I’ve found that clients want answers…NOW!!!  I think this has led many of us in the consulting community to generate half baked answers when put on the spot.  Thus, the famous “it depends” response was born.

I’ll propose something different.  Just be honest and provide principled guidance.  Personally, I use the Scaled Agile Framework’s House of Lean and Agile Manifesto as the foundation of my thinking.  Both provide a mature set of principles that complement one another very well.  The key word there is principles.  When we get pressed for answers we don’t know, we can be simply honest and say, “I don’t have a great answer for you.  However, lets take a look at how that suggestion would align with our set of Lean|Agile principles.”

I would then suggest we guide our clients through some principles in the context of the their possible decisions.  For instance, a few weeks ago I was asked to help define an engineering plan for a continuous delivery architecture.  This is not a trivial question and it certainly does not have a trivial answer.  On top of that, deployment pipelines are context specific to your system.  Since I did not have a deep understanding of my client’s system, my response back was largely based around my knowledge of continuous delivery systems and Lean principles.

  • I asked questions like:
    • How do tooling decisions effect feedback speed.
    • What is the “u-curve” optimization for manual test feedback cadence within the pipeline?
    • How is management going to encourage and support the whole team to develop a “push” mentality and a collective ownership culture?

By answering some of these questions we were able to design a high level architecture that allowed for the delivery of small grained changes to my client’s system with incredibly fast feedback.  I found this a much more satisfying way of answering questions I didn’t have the answer for.  Not to mention my client and I were able to learn together!