This article is the following the first one ''I lost 15% of my engineering team. How to make more with less? Tools to maintain your productivity''. As you noticed in the title, we already talked about tooling before and how it could be important to companies.
Now, we would love to interpret McKinsey's Developer Velocity Index (DVI) survey with other factors than tooling.
Little recap about the first article; in light of the current economic situation, companies like Meta, Amazon, and Twitter are adapting their strategies, taking action, and cutting costs to deal with the effects of inflation and satisfy investor demands for profitability.
As a result, engineering teams are losing developers, and as a CTO, manager, or team leader, you must choose between two options: reduce your objectives to match your reduced workforce or find ways to optimize your developers' productivity.
Part of their improvement is to give access to their engineering teams better tools, helping them daily, and increasing their developer velocity, and productivity! But it's not the only thing to take care of.
In this second article, we will talk about other key points (than tooling) highlighted in the survey, that make you increase developer velocity, and meet your objectives, like;
- Product Management
- Developer Experience
- Open Source
This article is especially relevant if you are facing pressure to produce more with fewer resources due to company layoffs or investor demands.
Companies need to let developers have the possibility of failure, of course not every time, without making them feel bad. Developers’ environment should be a place where software engineers can take risks because without risks you don’t have innovation. It is important for a developer environment to be fully safe psychologically, they are more productive and efficient if they know that they can be risk taking and that failure is an option but not an end. Team members need to feel comfortable speaking up and voicing their opinions without fear of negative consequences. This type of culture is crucial for promoting open communication, creativity, and collaboration within the team, which can lead to the development of better software and a more enjoyable work experience for all team members.
Even if a big part of tech leaders are recognizing that it is extremely important to create this culture in a company, just 20% succeeded in creating this culture.
It’s not just about being kind with your engineers but it’s also about processes you set up to minimize the cost failure, like; controlled releases, feature flags (the ability to turn features on and off without redeploying code), and automated rollbacks and more.
It's also important to recognize the achievements of developers in a way that is meaningful and motivating to them. It's a good idea to ask for feedback and input from team members to determine what type of recognition would be most appreciated.
All of this will lead your company to create dev communities like Googlers (a community formed through old and new engineers from Google) and advocacy from your own developers.
🖥️ Product Management
Developer velocity could be very affected by the product management function if this one isn’t well made by the company. It needs to define the scope of the function. This should include the types of products that will be managed and the roles and responsibilities of the product management team.
Once you know the scope you can start looking at the key stakeholders. This includes internal stakeholders such as the product development team, and it’s important, as McKinsey study says, to not only need relevant business and market knowledge but also a strong technical background for them. Indeed they can easily understand the needs of customers and the functioning of the development team. Product managers and developers are now more and more similar. That’s why, today, developers are involved in the product development and management to be sure their work is fitting with business requirements & customers needs.
At Mergify, developers are all co-construing around product development, making them all product managers of things they are building.
Engineers aren’t forced to work on a feature they don’t want to, they are free to choose to work on something they like and that is motivating them. Product management roles aren’t really defined. Of course they could be guided on the functional solution by our CTO but they don’t need that most of the time.
In fact at Mergify engineers are working for engineers so they know the developer job and it’s easier for them to understand the stakes. They are kinda little product managers for each feature they are working on. It makes them more veloce and efficient thanks to this tech background vision but also with the interest they have in the feature they are developing.
On the technical solution, they are in total autonomy, no need to add more layers on the product management.
In another way, we are defining a product roadmap depending on our clients' needs. We are able to do this at Mergify cause we are available for our clients and we create this feedback culture where they can talk to us of their issues. That is how we are constructing our roadmap, by listening and talking with users
😍 Retain Your Talents Thanks to a Good Developer Experience
With high demand for developers and related roles, the challenge is to attract and retain this talent while creating an environment that fosters their continued success. A study found that factors such as incentives, multifaceted recruiting programs, ongoing learning opportunities, well-defined engineering career paths, and active measurement of team health are all correlated with high rates of developer velocity.
Leading companies are known for their ability to keep software talent happy and motivated. One such company, a leading telecom company, offers a wide range of skills certifications for developers, covering everything from beginner-level mobile development to machine learning. Additionally, the company has created a Developer University to provide developers with fresh learning opportunities and the chance to apply these skills in their workplace.
Best-in-class companies understand the importance of team health in terms of productivity and retention. They regularly check in on the well-being of their developer teams, for example after every one or two sprints. This can be done through surveys, whiteboard notes, and visual dashboards, which provide instant feedback that teams can use to address issues and improve processes quickly. Additionally, comprehensive annual or biannual employee surveys provide an opportunity to delve deeper into topics such as shared vision, leadership, motivation, and incentives. This holistic approach helps to ensure that teams are healthy, motivated and productive.
Overall, if your developers are happy, they will produce better work and be more involved in their mission as the company will be involved in their development and attentive to their needs. A happy developer is a productive developer.
🙏 Open Source and Public Cloud
Survey also explained that open-source has a crucial role with the DVI score. Indeed, companies with a strong one have a great open-source adoption, it acts as a major accelerator. Creating an open-source culture involves not only using open-source software in the code, but also promoting participation and contribution within the open-source community, as well as adopting similar practices for sharing code internally through InnerSource adoption.
Adopting public cloud has a significant impact on the business performance of non-software companies, four times more than for software companies. The benefits of Developer Velocity are closely linked to the level of public cloud adoption. Companies with high levels of adoption have DVI scores that are 32% higher than those with low levels. A partial shift to public cloud adoption brings less benefit, with companies in the third quartile only gaining a 2% DVI score advantage over those with the lowest adoption.
The analysis found potential drivers that could boost DVI scores in the next 3 to 5 years. Top-quartile companies are exploring the use of AI and machine learning in developer tools. Some are using AI for pair programming, automated code reviews and natural language processing in low-code tools. We can observe the development of this phenomenon with GitHub Copilot. For the first time in the history of software, AI can be broadly harnessed by developers to write and complete code, and it’s just the beginning, tools like this one should be a must have in the following years. Executives also believe that using product telemetry for making product decisions and automation for detecting and resolving production issues will drive software innovation and impact in the future.
✅ In Conclusion
Developer velocity is a real factor that you need to take in consideration. It could make your company even more successful and your developers a way more productive, especially during critical times like recessions’ ones.
➡️ We can take an Amazon citation "Accomplish more with less. Constraints breed resourcefulness, self-sufficiency, and invention. There are no extra points for growing headcount, budget size, or fixed expense." as an example to illustrate our thought. Indeed, You can do more with less and be better productive only if you take attention to points we developed above;
- Use tools that perfectly fit with your workflow and help your dev team to skyrockets objectives.
- Create a culture about failure and an environment where engineers can take risks because without risks you don’t have innovation. If one of them makes an error, you should keep him because you can be sure he will not do it a second time if you develop this culture of learning and taking risks.
- Give everyone the developer/product manager hat, involve them in the product development roadmap creation so you can be sure their work is fitting with business requirements & customers needs.
- Keep your developers happy, listen to their needs and give them recognition. Indeed, if they are happy, and know their value for you by being thanked often, they will be more productive.
- Create an open-source culture, contribution within the open-source community should make your engineers adopt similar practices for sharing code internally through InnerSource adoption. Use public cloud solutions instead of always building them and be open to innovation and by trying trendy solutions like AI.
At Mergify we have been doing this for years and we are kinda proud of the results, better interactions, engineers really involved in their work and overall, in the company, and a culture of innovation, failure with a constant improvement of our developer experience.
Thanks to all of this we have been able to develop incredible products which are fitting to our clients needs and to minimize wrong turns. ❤️
If you want to talk about your developer velocity best practices, if you have tips or comments, don’t hesitate to reach out to us!