If you really want to know how good your software delivery process is, try doing nothing. Yes, you read that correctly, do nothing: Go through your normal release process without any requirements, no new code, no testing and no installation at the end. Sounds easy, right?
So let’s get started. This will be different for each organization of course, but typically a new release starts by creating an entry in some administrative system. Then there is usually a review on the scope, budget and overall fit within the company’s strategy. Since there are no new requirements, you should automatically pass any reviews. But if the approval requires a meeting or conference call, you still have to schedule it. Say “Hi” and walk out of the room or hang up the phone. Make sure you get any required e-mail approvals.
Next, go through all of your other mandatory reviews: security, data privacy, regulatory compliance, user interface design, infrastructure readiness and so on. You may need your test team to sign off on quality as well. And don’t forget to reserve an install window and take into account any change freeze periods.
If you’re lucky, you were able to skip or get auto-approval for most of these checkpoints because you had no new requirements, software or infrastructure. If you’re unlucky, you had to deal with review committees that only meet on the second Tuesday of each month. At any rate, add the elapsed days and see how you did. Five days or fewer? Give your company a gold star! Four to six weeks? Not too bad. Did it take longer than three months? Embarrassing of course, but take solace in the fact that you’re not alone.
When you have actual requirements to implement, a lot of this overhead is masked. You can do your approvals while there is real coding and testing going on. But this exercise will show you your limitations, and why optimizing your software delivery process is at least as important as automation.
Doing nothing won’t hit all your bottlenecks. In this exercise, we did not look at duplicating a development environment, getting capital for already-purchased production servers or repeating previously passed tests. I’ll talk about those tasks in another post.
How long do you think it would take your organization to do nothing? Leave a comment below.
About the author / Jan S (Bas) Pluim
Bas Pluim is a Cloud/DevOps solution architect in IBM’s innovation practice. He works with clients on infrastructure solutions, process re-engineering, automation tools and transforming the overall software delivery process. Bas is also a member of the IT Specialist certification board, a gaming enthusiast and an advocate of social media tools