Smooth release recipe: PMy to note

  • Tutorial
The moment is getting closer when we release our solution, fresh, new and shining. Is it exciting? Not very, because we have already checked it from all sides.

We have a checklist to check how ready the solution is to roll out in production. It listed all the most important things that we check in the infrastructure, initial content, integration, training of a pilot group of users, decision transfer, user documentation, business monitoring, and choosing the right moment for release.

On the basis of this plan, we set tasks for developers and “auditors” - colleagues from other departments who conduct reviews of solutions (yes, this is also a life hack). We hope this cheat sheet is useful to prepare for the release of the product in the prod.



Infrastructure


  1. Prepared from our side and accepted by the customer requirements for UAT and Prod infrastructure on the side of the customer. The infrastructure itself was prepared on the customer’s side, access was granted.
  2. (For corporate mobile applications) The scheme of application distribution to users' devices has been agreed (application store / MDM system / something else). The customer organized the purchase of devices.
  3. The CI / CD pipeline is set up and / or the solution update technology is specified.
  4. Thought out a backup and recovery strategy and prepared the appropriate infrastructure.
  5. A technical monitoring system for solving and diagnosing problems (ELK stack, k8s monitoring tools, etc.) has been designed and implemented.

Initial solution content


  1. Historical data. It was decided, from which sources and to what depth to migrate data, there is a technology / mechanism / tools of migration.
  2. The procedure was thought out and tools (utilities, scripts) for checking the correctness (completeness, consistency) of the migrated historical data were prepared.
  3. Reference books are full.
  4. Moved users / organizational structure.

Integration


  1. The integrity of the integration services in the UAT / Prod environment is verified. There is a versioning of services on the part of the customer and / or the customer has agreed on a procedure for preparing to update the version of services on their side.
  2. A dashboard or service accessibility tools have been set up for an “instant” check, on which side of the problem.

Pilot user group training


  1. Demo stands were prepared to demonstrate the solution to the customer, access was organized, application distributions and test devices were organized.
  2. The implementation team was defined by the customer and brought to testing when preparing the release for another QA environment - demonstrations were held.
  3. Conducted final test session / demo session with a pilot group of users.
  4. Materials for users were prepared: demonstration scenarios, short “How-tos” with screenshots / videos demonstrating business action.

Transfer of the decision


  1. The source transfer plan, the build server configuration plan on the customer side.
  2. UI source and resource transfer plan: layouts, UI kit, instructions for using the UI kit.
  3. Architectural documents were prepared (infrastructure topology, deployment technology, etc.) for transfer to the customer for operation.
  4. A briefing and training deployment was conducted with the admins of the customer.
  5. Checked what else needs to be done for the formal / legal transfer to operation in accordance with the requirements of the contract with the customer.
  6. The procedure for making a decision on technical support on the customer’s side (first line) and on our side (second line) has been worked out. Set up a system of accounting requests.

User Documentation


  1. User manual / instructions in a format agreed with the customer (scenarios, videos, etc.)

Business monitoring


  1. We developed and agreed with the customer an understanding of which business performance indicators (KPI) we will monitor and analyze.
  2. There is data and infrastructure for monitoring business indicators: for example, an analytical cube with sales statistics in the system, Grafana with statistics on user activity.

Choosing a moment for release


  1. A convenient time was chosen for the release / switching to the new version, taking into account the peak loadings of the current functionality of the solution, the time available to users, the time available to engineers on both sides, etc.

Also popular now: