Change the way it hurts
It is not the strongest of the species that survive nor the most intelligent, but the ones who are most responsive to change.
something Charles Darwin didn't say, but everybody thinks he did
First things first. Let's accept this - we're not so clever. That's why we suck at managing the change. And don't be afraid to admit it. It's natural. Who pretends otherwise is just seeking ways how to cushion the awkward truth. You might cover it by fancy frameworks, hide behind endless bureaucracy or blame somebody else. Your choice.
Now, if you compare the Clarence Darrow's quote above (yes, he's the real author) with the traditional understanding of the change management you might realize there's a significant difference. Whereas one is talking about the ability to adapt to a change, overseen or not, we are continually witnessing a desire to improve the likelihood of success only.In context of the software development, there's only so much testing you can do to insure the successful release. And don't get me wrong - I'm not trying to suggest to test less, quite opposite. But there's always only a limited coverage you can achieve, either due to a budget constraints or sheer ability to predict uncertainty in the complex systems. Then you deliver. And it hurts. How do you manage that?The difference might be a way how you adapt. We're already establish there's always going to be some element of pain behind change. Wouldn't it therefore be better to change the way it hurts? Just ask yourself following three simple questions: 1. Who suffers by the change? Is it the developer? QA? Operations? Customer support or customer itself? The farther away from whoever the initiated it the less probable is to learn from it. Each step you introduce between the pain source and target will result in some information noise.2. How easy is to write a new code (i.e. introduce the change)? Are you new starters (and definitely not your regular developers) afraid to change things because they are afraid to break them?
3. How fast you see something went wrong? You need to connect the change itself with negative reaction, exactly as you would do with your dog :) There's no real learning happening in something that happend weeks or months back. For me that's about change of internal culture. Continuous deployment calls for responsibility, and you won't get it by removing the experience of value creation from your core business (developers for that matter).Or you can look for yet-another-framework, introduce more bureaucracy or blame somebody else...* I would be more than happy to quote original author of the three questions as mentioned during Devops Days US 2010, but unfortunately don't know who was it. Please, let me know if you do.