Agile discipline is in the process of taking over much of the enterprise world. It's not only because executives like saying their organization is agile. It's because agile discipline in its various incarnations can work very well for companies looking to be responsive to customers and nimble in the face of changing business conditions.
Agile methods can be used as part of DevOps -- a portmanteau of "development" and "operations" -- which is also becoming more and more popular in the enterprise world. The two words, agile and DevOps, are so popular, and used in so many different ways, some executives and pundits seem to consider them interchangeable. While convenient, such use can lead to real problems.
Why? Because agile and DevOps are not the same thing. Treating them as the same thing can cause departments to abandon good and safe practices in the pursuit of something undesirable. So, let's take a look at what these two trendy disciplines are, how they work together, and why they're not the same thing at all.
[What would you do if you had someone shadowing you all day? Read Adventures in Pair Programming.]
Now, because each of the terms we're exploring is rather broad, there's plenty of room for discussion about their meanings and uses. I'm quite OK with that. Once you've reviewed the differences highlighted here, I'd love to hear your ideas about what I've gotten wrong. I'd also like to hear how you've experienced agile or DevOps, and what you think about the ways in which they relate.
I'll look forward to the conversation in the comments section below. In the meantime, let's start the discussion with a couple of key definitions.