If you read our last blog post, you know the first step of the DevOps transition is to introduce the cultural change across your company. Once that process is underway, you will need to determine the tools necessary to measure your baseline performance today, align your team’s communication and workflow, and implement the processes you need to achieve the DevOps goals set for your organization.
Measure current productivity You will need to track some performance metrics to understand your team’s productivity. Doing so with your current development and delivery processes likely won’t show you numbers you want to see, but it will set a baseline which gives you all the more reason to adopt the DevOps framework! Popular metrics to track include defect rates, response time, mean time to resolution, and deployment frequency, speed, and success rates. You may want to track the ratio of development time versus repair time for your releases. An issue management system like Atlassian’s Jira can help organize and capture some of these metrics. Find your bottleneck areas that are taking too much time. Then, use your baseline metrics to set goals that your team will track as they implement DevOps practices.
Communicate through a common platform
Since developers and operations employees work together, a common tooling strategy must be used so project communication is efficient and accurate. The idea is to automate everything to eliminate the extra time spent during human handoffs. Requests for software revisions and those subsequent changes should always be recorded in a common issue management system
Automate testing With the increased pace and volume of activity, have no doubt that DevOps will change your approach to QA. Testing is essential and ongoing, and manual testing will become a major bottleneck if not addressed. Make sure your team is prepared for test automation, and that you have a QA Engineer role staffed with someone who is prepared to integrate testing into your DevOps scripts and toolset. In addition to automated unit, smoke, and sanity tests, you must also plan for acceptance testing for every new feature. Assign someone the role of acceptance, with clear criteria and accountability for quality. Often, your acceptance tester will be a senior product leader who has internalized the needs of your customers. Their criteria may change over time as software advances, for example, testing performance issues to check that the enterprise meets service-level agreements.
Software Selection Much as we would love to recommend the individual tools needed to drive your DevOps transition, the toolchain will depend on circumstances such as your existing technology platform, team size, and product portfolio. Initial questions to consider:
- What DevOps processes are you focusing on automating now, i.e. configuration, monitoring, packaging, or releases?
- Are you working with Microsoft, Java, or other open source platforms?
- Where is your system in the Software Development Life Cycle (SDLC)?
Start small We’ve established that the DevOps transformation is not one that happens overnight. Taking small, incremental steps along the DevOps journey eliminates the risk of high cost errors. It is often recommended to those just beginning to use DevOps to start the transition with web or cloud oriented technology. These systems work best under DevOps, and, as they are newer technologies, have a lower legacy debt than hardware. Our clients are already transitioning to DevOps with the support of EPIC’s near-shore teams. If you’re interested in assistance transforming your organization to DevOps, contact us.