Anyone involved in software development is keenly aware there's never a shortage of ideas. Sometimes ideas are on the scale of a multi month development endeavor. Often they're just a small tweak to existing software. The trouble is, ideas are customarily acted upon without a second thought. The waste is debilitating.
Ideas alone are merely a possible course of action. Without a framework to discern impact, the focus shifts to efficiently cranking out the first thing that comes to mind to see what happens. If we shift the focus to potential impact we'd get the fastest feedback about whether an idea is wise or foolish, faster than the fastest automated delivery pipeline.
Describing impact in terms of tangible and intangible value spotlights many ideas as worthless. Worthless because the cost would exceed the value, the value is not well understood, or the impact was never defined.
The first time I worked on a project where impact was the focus and potential value was tangibly defined I had no doubt about what I was doing. Ideas came from a clear understanding of the problem. Ideas had a purpose. And it didn't take many ideas to obtain the value.
Take a sampling of your recent work. Do you know the potential impact? What about the tangible value?
Imagine what it would be like if we generated ideas with a knowledge of the desired impact!
Why don't we empower everyone with a knowledge of the desired impact, including developers? Why do we have so many layers of indirection to transmit ideas when it would be simple to directly communicate desired impact?
Hot off the press, a new paper describing how to Use Regulation As A Reason To Improve The Delivery Of Software, Not Impede It
I routinely observe projects where developers and users are busy safeguarding countless features that provide absolutely no value to anybody. In many situations people are aware but nobody will do anything about it. In other situations, they may not even know.
Vestigial features sap the efficacy of systems. Take the time to curate metrics to effectively monitor the features of your systems. After a sufficient period of time has elapsed without enough usage to financially justify maintaining a feature, ax it. If your metrics are anywhere close to accurate no one will notice.
Then, take a moment to reflect on how things ended up this way. Was this a feature that outlived its purpose? Or was it something that provided no value to begin with? Tell the story to help others avoid a similar fate.