Top 10 Topics for MSCOM Ops…Getting the Bits From Development to Production

That’s what this is about. There is great code that has traversed the SDLC (Software Development Life Cycle). Someone’s great idea was turned into a project that was assigned human resources with the ultimate marching orders of simply “Get’er Done”. Spec are written, costing models are completed, dev writes the code, test beats the heck out of that code flushing out potential problems (bugs), UAT (User Acceptability Test) cycles have been completed, everyone along the way signs off…and finally all is quite on the SDLC front…the code is ready to be SHIPPED. This is a topic that is of critical importance to MSCOM OPS, and one that we call Change and Release Management. You apparently share this same concern.

We want to start this by responding to two of the questions we got about Change and Release Management. Rest assured there will be more to come on this topic.

How to interact with the dev teams to transition projects into production?
Our approach to this critical area of our business is to have well understood process around four different areas:

  1. Type of Release - A clear classification of the release type the development team wishes to deploy. We have five different classifications (Major, Minor, Service Pack, Hot Fix, Maintenance) and for each classification there is a distinct set of deliverables (Release Plans, Test Plans, etc) that are tailored to the release type.
  2. Release Identification - A clear release identification through the numerical scheme x.x.x.x. This coincides with (1) by incrementing each digit as major.minor.servicepack.hotfix.
  3. Environments - A clear definition of the purpose of the environments each project can use before it is deployed to Production. We have definitions for seven different environment types (Development, Test, Performance, Beta, Pre-Production, Staging, Production) of which the Operations team manages the Pre-Production, Staging, and Production environments.
  4. Release Policy - A clear release policy which states when deployments to the managed environments can occur and how much lead time is necessary before the deployment process can start.

What are the critical lines of communication, required documentation, production acceptance procedures?
This question falls right into answer (1) to the previous question. In other words each release type will have a different set of communications, documentation deliverables and production acceptance because each release type impacts the operations team differently. Tackling the Major project for a moment, this is a somewhat complete list of items we look for:

  1. Architectural Design Review
  2. Capacity Planning
  3. Business Continuity Planning
  4. Technology / Operational feasibility Review
  5. Test Plan Review
  6. Security Review
  7. Application Code Review
  8. Database Code Review
  9. Infrastructure Build out
  10. Monitoring Requirements
  11. Performance Testing and Results Review
  12. Release Plan Review
  13. Operations Guide and Trouble Shooting Guide
  14. Sustained Engineering Support (Hot Fixes, Service Packs, Minor Releases