Dev Ops Services
When a team has successfully completed a set of user stories that meet the definition of done and are potentially shippable, it is time to actually deploy the software. This step can be a challenge to many firms.
Agile, Scrum and Kanban combined Business Analysts, Developers and Quality Assurance Engineers into a single team whose focus is to get small batches of features truly Done and ready to ship. DevOps extends this idea and includes the following points:
- Software Operations is included as part of the delivery team throughout the whole development process.
- A high level of automation is used as part of the delivery cycle from the very day development starts.
- A mindset change is made to accept an investment in these principles.
DevOps strives for software releases without fear that are easy and can be done at virtually any time.
Much of implementing a successful DevOps process involves automation of as many processes as possible. Anything that is left manual is error prone and slows the process down.
A typical DevOps Pipeline is shown in the diagram below. This is an automated process that is performed day-by-day as the sprint progresses. Each time code is checked in, a Build is executed that Compiles the codebase, runs unit tests and, when successful, packages the code into a Release Artifact. This is known as Continuous Integration (CI).
On a scheduled basis, the Release Artifact is deployed into a Production Like Environment known as the Build Environment. Here more tests are executed that include Integration tests that hit a database, Automated QA Tests and Load Tests.
When all tests pass, and when we have a Release Candidate, we are ready to deploy to production. This may require additional Environments, manual steps and approvals. This is known as Continuous Deployment (CD).
The crucial point here is the Release Artifact that was developed in the sprint, was compiled, and unit tested hundreds of times. This same artifact was deployed to the Build Environment where it was Integration Tested, QA Tested and Load Tested dozens of times. This exact same artifact following the same process is ultimately deployed to Production.
If you have a war room every time you do a production deployment, it means you are expecting problems and have deployments that are far too “exciting”. The DevOps movement is focused on solving this problem.
I have experience leading agile teams who use DevOps. I have also setup DevOps pipelines for teams new to DevOps. Have a look at our Dev Ops Lab which provides an end to end example of a Dev Ops Pipeline using a simplified example. Contact Me Today to schedule a meeting to review the lab or discuss your needs.
My strong recommendation is for you to begin down this path. Your competitors are.
- Read my full article about DevOps on Linkedin here.