Role fragmentation

I found this article on Software Reality via Slashdot. On Slashdot, the thread was titled “The Rise and Rise of IT Administrators,” and it rails for developers and against all “administrators.” This is more provocative, but the more telling part of what’s causing problems in the world of software development is in the title of the actual article: role fragmentation. It’s not necessarily “administrators” who are causing the problems. In an ever-increasing desire to build a safe, scalable environment, some systems have reached a complexity level which adds incredible friction to the development lifecycle, sapping years out of the life of all involved, from developers to testers to the non-IT folks involved with (or dependent on) the successful completion of these projects. The complexity means that no one person can understand every layer in the stack AND develop software AND deploy said software. At least, not quickly, with a turnaround time which reflects a world where iterative development is the norm, and the scope of changes can range from simple typo-fixes to full-scale architecture shifts. Both the fixes and the shifts take similar amounts of deployment time, which forces a certain mode of thinking and planning on the developers and all those who depend on them. I’ve experienced one of these environments firsthand (though I’m not a developer), and the pain is like a dull headache that never goes away.