With springtime comes warmer weather, sunnier days, and baseball season. However, it also brings April showers, yard work, and, for software development teams, the latest smartphone and tablet devices. With new tech hitting the shelves during this time of year, developers and testers alike are pressed to accelerate successful software release cycles that match consumer demand.
That situation, paired with a lack of hands, skills, efficient procedures, and technologies, means dev teams often find spring to be one of the most demanding and laborious times of the year. So while Mother Nature begins to thaw out, it’s the perfect time of year to clean house and revamp your organization's approach to DevOps.
[ Some common DevOps wisdom falls flat. Read 7 pieces of contrarian DevOps advice. ]
Here are four ways you can kickstart your spring cleaning to ensure faster releases and greater customer satisfaction.
1. Clean up your act: Clarify roles
As DevOps becomes more agile, roles and responsibilities are constantly shifting. For example, the lines between developer and tester, once very siloed functions, are blurring. While the flexibility that comes with working in a DevOps role is what often leads professionals to this industry, it can also cause concern and confusion for employees – an identity crisis of sorts. With factors like security and networking becoming more important in the early stages of app or web development, both the security and network teams must understand where, when, and how they play a role in the software development lifecycle (SDLC).
Now’s a great time of year to get everyone on the same page. Before jumping headfirst into a new project or release this spring, sit down with teams and individuals to discuss what is expected from them and how they can best achieve the desired outcomes. By implementing monthly meetings – what I like to call “service health reviews” – teams can meet to discuss the overall state of each production service, their successes, and their challenges – from a cultural perspective too.
2. Sharpen your skill sets
Similarly, this blurring of roles often requires greater training and education for employees at all levels. Despite there already being a major skills shortage in the world of software development, today’s DevOps environment requires sufficient knowledge of newer technologies, like automation (according to a report from the DevOps Institute, 57 percent of respondents say it’s the most in-demand skill).
While all IT organizations have their own culture and way of doing things, you can take steps to help breathe new life into employees’ skill sets. I recommend starting with the following:
- Get leadership on board. Buy-in from the executive team is probably the most critical of all. Make sure they understand the significance of added training for those in DevOps roles. It all works from the top down here.
- Pair them with the right mentors. It’s important for employees to have a “friend” they can talk to about successes, challenges, and other obstacles. Develop a program that couples team members of all different skill levels to support and guide each other in real time.
- Find what works for them. For those working in any capacity throughout the SDLC, make sure you’re giving them the opportunity to work with frameworks that work best for them. Acceptance test-driven development (ATDD) and behavior-driven development (BDD) are two techniques that can bridge the varying skills across the SDLC.
[ Read also: DevOps hiring and training: 16 top-rated skills. ]
3. Identify barriers
With new technologies, now is the perfect time to reevaluate what is and isn’t working so you can identify any barriers holding teams back from delivering top quality. This should include analyzing the quality of outputs via performance and customer feedback, as well as each team’s production rate, time-to-release, and integration within the SDLC.
To re-energize your current processes and procedures, establish best practices for teams across the SDLC that provide insights on how to incorporate colleagues’ work when editing, updating, and testing. An often overlooked step is instilling practices that improve communication regarding app health and progress across all teams. By establishing this precedent, teams can:
- Ensure code is well-maintained at all times
- Prevent memory leaks
- Stop poor coding in its tracks
- Conduct continuous testing at all stages
4. Dust off your approach to automation
Automation has become a necessary part of most DevOps organizations. To dust off your processes this spring, determine when to use smart automation vs. traditional automation. For those scenarios that are already proving to be successful with traditional automation, keep things as they are. However, those that produce flakier results should be used with smart automation tools to boost coverage and reduce quality issues.
Thanks to advances with machine learning and artificial intelligence, smart automation can help you mature the process, expedite releases, and move toward continuous delivery (CD).
As winter fades away, the refreshing energy that comes with spring makes for an opportune moment to revamp and revitalize your team’s approach to DevOps. By dedicating some time to take a hard look at your current roles, skillsets, processes, and technologies, you can fast-track your teams to speedier release cycles and greater successes for the next year.
[ Get our free eBook: DevOps Hiring: The Ultimate Guide ]