Low-risk releases: Increasing velocity through skill development

December 11, 2019

Deciding whether or not to implement DevOps might seem like a no brainer. What company doesn't want to get their innovative ideas into the hands of their customers faster, and with less risk? That's why many companies are jumping on the DevOps bandwagon. Unfortunately, not all companies—regardless of how well they problem solve for process inefficiencies—will successfully implement DevOps or increase velocity. This is because many of them fail to invest in technology skill development.

DevOps is highly focused on continuous improvement, and if you want to increase velocity and create a competitive advantage within your practice, you need to have this same mindset with your team’s tech skills. In the DevOps world, your developers need a variety of skills, far more than ever before. Gone are the days of needing just “an SQL engineer” or a “front-end engineer.” You need people who can reasonably do both, and who have the skills to introduce the latest technologies into your org. You can’t hire new engineers to solve for this; you need to invest in your current talent.

For DevOps to enable the workflow velocity your company and customers demand, you need to have a strong understanding of the existing skills on your team and a plan to level them up. Your plan should build up the skills of each individual on the team as well as the team as a whole. Here’s how to get started.

Step 1: Understand your skill profile

Before you start building a skill strategy, you must first lay the foundation. Take time to understand the project at hand and what successful velocity requires. Examine which skills or technologies the work falls into. Some projects will be all backend/database driven, while others may be focused on the UI. Most projects, however, will be a mix of both. 

From there, you’ll divide the project into the skills and technologies needed to complete it. Assess your team’s skills and then match them to the work that needs to be done. This is your skill profile. In an ideal scenario, your team members’ skills match the requirements perfectly. 

However, this may not be the case. You may see gaps or underserved skill areas in your skills profile. Take note of them. These are the bottlenecks in your process caused by skill deficiencies, and you’ll want to address them before the project begins. For example, if your project consists mostly of UI development and you only have one person on the team skilled at UI, you’ve got a workflow efficiency (and possibly a burned out employee) problem on the horizon.

Step 2: Level up the team

Once you've established a baseline of the skills you need and the skills you have, create a specific plan for each team member to level up. Empowering your team to gain new skills helps spread the workload and improves velocity. Start by:

  • Discussing how much time engineers can dedicate to learning

  • Setting a short-term goal for improvement

  • Checking back to measure progress

  • Create a long-term goal for skill adoption

  • Reviewing the learning plan frequently and matching it against your workflow data to gauge improvement

Your plan needs actionable items and a solid metric to measure improvement. And just like DevOps, this is not a one and done rollout. It’s an ongoing process that is continually refined.

Step 3: Maintain and adapt skills

Building a highly-proficient team requires a long-term plan to ensure team members stay skilled. They need to keep their current skills sharp and acquire future skills as needed. This plan should include:

  • Measurable objectives: I will be at an expert level of SQL Querying by Q3

  • Study goals: I will read one book on advanced SQL per quarter, and share my learnings with the team

  • Knowledge sharing targets: I will present on one topic per quarter related to advanced SQL

As the work and business needs change, you should adjust your team’s skill development priorities. If no new technologies are coming, have them invest their skill development time to deepen their depth of knowledge on the technologies they’re currently using. As new technologies start gaining relevance, reprioritize their focus. 

Software development and deployment looks nothing like it did five years ago, and is a world away from where it was 10 years ago, especially with the rise of DevOps. As you build out your DevOps practice, apply the same principles of continuous improvement to your team itself. Be intentional about keeping up with the latest technology and trends, and make sure your team is gaining the skills that will fuel innovation and give you the first mover advantage. A team that develops their technology skills and shares domain knowledge will be limitless in velocity.