I admit it. I love software development methods.
Development methods (most people say “methodologies,” but that error has always bothered me) are born when we take a step back from debugging and deadlines, when we stop to take a look at the big picture. It was methodologists who first observed that development projects may be broken down into analysis, design, code generation, testing, and maintenance tasks. Successive generations of methodologists have spawned an array of development methods for making these steps deliver results more efficiently and reliably.
I'll provide a taxonomy of methods – including my thoughts about Agile methods and Lean Development and Scrum and all of that – in a future post. Meanwhile, I want to bring DevOps to your attention.
DevOps isn't really a development method, though vendors are working to expand it into one so they can sell books and consulting services. It's an observation about how IT organizations work.
The founders of the DevOps movement observed that IT organizations consist of two parts: development and operations. Many of the problems and inefficiencies that plague the IT business come from lack of communication and understanding between these two parts. DevOps was born when someone asked: What if we instituted increased communication and sharing between development and operations?
It's a worthy goal, there's no doubt. The DevOps people (they're easy to find via Google or, I suppose, Bing) have made one of those emperor's-new-clothes observations that look obvious in retrospect. I like the insights that come from considering the IT operations group, not the end-users at their desks, the real user base for applications.
It's hard to argue against the DevOps mantra. They're right, obviously. Development and operations should work together more closely, and should have more appreciations of each other's challenges.
Beyond that...well, DevOps doesn't go anywhere. It doesn't scale up into a development method, a management blueprint, or a toolset. The observation seems as if it ought to be valuable, but as near as I can tell, it runs out of steam very quickly.
Yes, I know that development methods must be very lightweight to be popular these days. But DevOps is too lightweight to be useful. I wouldn't initiate expensive cross-training and reorganization without the promise of tangible benefits to replace the feel-good handwaving offered by most DevOps devotees.
What do you think? Am I missing something?
Web recommendation: For shame! The man called “the guru of Web page usability” by The New York Times is the author of the latest in my growing list of design-hostile Web sites. For years, I've believed Jakob Nielsen, author of several books on Web design, was a genius. But his site – oh my! Take a look, right here. I think you'll agree that it's more than a little depressing. J.D. say check it out.
J.D. Hildebrand has written hundreds of articles for dozens of publications and online communities dedicated to software development. He recently relocated to a small town outside Belgrade – stop by if your travels take you through Serbia.