By: Jim Azar, Sr. Vice President, CTO
When GitHub asked over 3,500 developers from 21 countries in its latest DevOps survey – it focused on three key areas:
- Development and Release
The following were the key observations of the survey:
- Continuous deployment has gained a stronghold, with 59 percent of companies deploying applications at least once every few days. This number stood at 45 percent in last year’s survey.
- Also, note the number of developers creating the infrastructure that their applications will run has gone up to 34 percent. Now, developers are reporting fewer hands-on-tasks like manual testing, deployment, or code merging.
- Still, 47 percent of respondents shared that testing is the number one reason for release delays as they’re identifying bugs quite late in the release process.
In similar surveys, enterprises have revealed that despite DevOps being a smart and reliable way of application development, its adoption is challenging. That means that you cannot jump on the DevOps path without having a clear and well-outlined DevOps roadmap in place. How do you create this roadmap then?
Here are some tips for building a DevOps roadmap:
- The DevOps strategy should be implemented as a framework and not as an add-on or a separate function. It should encourage the development and operations staff to interoperate. Creating a new department defeats the very purpose of DevOps – which is about breaking a silo.
- Inject developers with a holistic understanding of the shift. They should know how the application works at scale. The operators should be pushed to deliver products quickly and with close alignment to the developers.
- Plan, measure, and quantify developer workload and individual’s performance before overwhelming anyone with DevOps.
- Create a conducive environment where the primary aim of DevOps is to connect real-world operations data. All the teams should be clear about and motivated towards a better customer experience.
- Instill automation and iterative testing in the development life cycle with tools and frameworks.
- Dismiss complex internal structures and create space for more in-depth and easier relationships between developers and operations.
- Project the system towards continuous delivery and fast production cycles enabled multiple times a day.
- Change old tool-chains for the new and single DevOps platform.
- Arm engineers and coders with a common set of data and measurements.
- Try to embed the shift-left approach at every stage possible.
- Pay extra attention to making communications and collaboration faster and more effective across teams. The fundamental emphasis of DevOps is a culture change –just changing the process would not be enough.
- Cut down long processes and red tape. Do not make the mistake of unknowingly creating more processes and bureaucracy. This hidden latency ruins the investment and changes made towards DevOps.
- Usher in the visualization of sprint boundaries and rapid feedback loops.
- Bring all stakeholders on an equal plank of access, contribution, and continuous improvement.
- Keep a good tab on dependencies across work items.
- Aim for and push your people to monitor some ultimate metrics that override minor disagreements or hiccups. A good application’s hallmarks should rest on the core goals of customer satisfaction, quality of service, overall revenue enhancement, and business relevance. These goals should be tracked consistently and vigorously. For instance, it’s good to measure Mean time to recovery (MTTR), but one should also note how ‘Mean time to reflect’ works.
- DevOps should ultimately align well with the best product-market fit. If the final application is fast but low on performance, security, or user-friendliness, the entire exercise will get wasted.
Remember to integrate your DevOps roadmap with other workflow apps. Remember to equip your developers and teams with the tools, APIs, and components they need along with some best practices. These can be easily availed with the help of some expert partners and customized based on your unique stage and readiness on the DevOps Roadmap.