The Seven Wastes are an idea from lean manufacturing, and I’m exploring how they relate to software development. Last time was over processing, and this week is over production.
Over production is, very simply, building stuff that isn’t needed or that nobody uses. Here’s a fun tweet that suggests some organisations will build anywhere from six to hundreds, or even thousands, of bits of software that all solve substantially the same problem.
But that’s not the only problem. Within any single piece of software there’s generally some features to be found that no one ever uses.
Clearly building and maintaining those applications and features is a waste of our time. But just how much time can we waste on it?
Developing any feature, used or not, has a cost. Each thing we build must be compiled, tested, integrated and maintained for its lifetime. Each feature adds complexity, is a potential point of failure and a potential attack vector.
In short, developing stuff is about the most expensive thing we can do, and developing useless stuff appears to be endemic within the software industry.
The best way to avoid this kind of nonsense is strong product ownership, coupled with developers who buy in to the ideals of what they’re building.
A team that understands the why as well as the how will be more likely to challenge bad idea, and more likely to suggest better and more useful solutions.
So, bring everybody along for the ride. Understand the problem before solving it and if at all possible build in some analytics and remove things that nobody uses.