An excellent post on Kill the Meeting, pointing out the insane amount of bureaucracy you end up with when writing code is treated as an unskilled production line activity.
On one recent project, the software development managers insisted on a 5-page requirements definition document, two management reviews of that document, a functional specification with four contributors, a peer review and a management review of that document, a detailed design document, a management review and sign-off of that document, and a test plan before development could begin on the code.
The code in question? Five lines of SQL.
Yes, a 2-hour project took over a month.
Some of that sounds horribly familiar from past projects. What’s the betting that the people writing and reviewing the documents could have written the code themselves in a fraction of the time they spend ‘saving money’ by contracting the work out, if only writing code wasn’t treated as a menial task to be discarded on promotion?
One issue with the conclusion though:
Unfortunately for me, I don’t think this is a process I can change here. It turns out that outsourcing development to India is so much cheaper that even if it takes four times as long, it’s still a net savings.
Even pretending that the offshore developers were free, that only holds true if the time spent in-house doing all the design, documentation and reviews was no more than eight hours, which sounds unlikely. To my mind, outsourcing software development to release your own people for ‘higher value’ work only costs in if you outsource the lot, from requirements to delivery. Otherwise you end up employing the same number of people just to keep the cheap developers on the right track.