Delivering Software is Easy
[From the Archive: Originally posted at Amplify.com Nov 13, 2010]
There’s any number of folks in the software community that can build and deliver quality software to order. Most often these folks are working in small software shops, or in other cosy, obscure enclaves, who study their craft and apply the many progressive and effective ideas now known, to make sure they give their clients a great experience and value-for-money.
And we’ve all been developing and delivering software for long enough that we know how to do it, and how to do it (more or less) quite reliably.
And, from a self-indulgent point of view, that’s as much as needs to be said. We can just forget about all those less fortunate folks who haven’t discovered the secrets to reliably delivering. And all those folks who are dependent on them. And the folks who have to pay for it all.
But let’s face it; there’s (maybe) some thousands of folks who can deliver reliably, and hundreds of thousands who have to try but don’t know how, or know how but can’t anyway because of where they work, who they work for and because of all the monkey-wrenches being lobbed into their daily routines, and the bear traps lurking around every corner. And then there are the millions of folks dependent on the latter.
￼￼￼”I’m all right, Jack” is not a message that appeals to me. Which is why I choose to study software development in the large, searching for root conditions for the monkey-wrenches and bear-traps, and trying to do what I can to help those hundreds of thousands of less fortunate development folks caught in what I refer to as the “aspiration gap” – that gap between the (high) number of folks wanting a job where they CAN just focus on delivery and the (low) number of opportunities where that happy scenario is possible.
Here’s a picture showing “The Aspiration Gap” between where the majority of software development jobs are (blue curve), and the jobs folks would like to have (green curve):