Five Ways to Improve Developer Velocity
In his quote “everything I do is somehow connected to velocity”, Hans Ulrich Obrist hit the nail on the head. This is true for most companies as there are always factors affecting their team’s velocity, such as a change in a work routine, a change in budget, or other reasons out of their control. The question is: how do you make sure that your devs are working at optimal velocity?
After conducting research and speaking to a few of our clients, we found out that there are a number of reasons for a decrease in developer velocity. Although some may seem commonplace, they are just as critical and should be addressed as soon as possible to ensure your team’s productivity and efficiency.
But don’t panic yet. We may already be well into 2023 – but that doesn’t mean you can’t maximize your developers’ velocity and productivity. So let’s dive into how exactly you can do that.
Find what is wasting your team’s time
Deadlines and stress often go hand in hand. When your sole goal is to meet deadlines, finding ways to improve R&D velocity becomes less of a priority. Add to that the stress of the current financial climate, the current job market, managing a remote team and ensuring top velocity seems like a pipe dream.
However, stressing about circumstances out of your control won’t help a thing. Rather, start by where you can actually make a difference: by pinpointing where exactly your team is wasting the most time. Ask your developers where their biggest time wasters are and then move forward (hint: the next step is finding the right tools to fix it).
For example, one of our clients found that they were wasting a lot of time when debugging. Their devs were going through the whole deployment process over and over, waiting to set log lines, and then waiting to get the information they needed, hoping it was the right information to fix the bug that they were working on. Once they tended to this painfully repetitive process, their time to market accelerated dramatically.
Find the bottleneck(s) to your team’s productivity
Slow-moving processes can be one of the most frustrating roadblocks to developer velocity. Software development cycles can get quite lengthy. Whether it’s waiting for code approval, ygoing through yet another CI/CD cycle (*yawn*), or a deployment bottleneck, it can be agonizingly slow.
To avoid getting stuck in slow-moving cycles, separate the processes you need to move on from the rest of the development cycle. For example, troubleshooting code. It can be an agonizingly long process, requiring several cycles of rebuild-test-redeploy. By separating this process from the development cycle, you can save yourself from being stuck in slow-moving cycles. Imagine a world in which you can skip straight from setting breakpoints to getting the data you need to fix the issue you’re working on.
Find ways to do more with less
Sometimes, a situation occurs in which you’ll find yourself working with limited firepower. With the recent layoffs, this scenario is not new to anyone. And yet, we all know that having the right developers and enough of them is critical to your team’s success. Seems a bit like a catch 22.
But no. Rather than hiring new people and onboarding them, consider finding the tools and methods that will allow you to maximize the resources you already have.
For example, one of our clients realized that a significant amount of their developers’ time was spent researching production issues. By finding a tool that helps their developers debug in production (yes, that’s us!) they’ve been able to save about an hour or more on each bug, allowing them to focus on value-creating tasks. By doing more with less, you can maximize your resources and improve your team’s productivity.
Utilize Agile Methodology
Another cause of a reduced velocity is the time and resources spent fixing bugs. You’ll find that much of your devs’ time is spent working on a bug instead of working on their new code or on creating new features. Debugging is essential to the well-oiled machine that is your software. However, it completely drains your developers time and thus reduces their velocity.
That’s why we recommend implementing agile methodology in your management approach. Agile methodology emphasizes teamwork, collaboration, and flexibility, which each contribute in turn to improving velocity. By adopting agile methodology, you can help your team work more efficiently, focusing on delivering value to the customer.
Agile methodology emphasizes continuous integration and continuous delivery (CI/CD), which enables developers to build, test, and deploy code more frequently. By doing so, developers are able to catch and fix issues earlier in the development process. This saves them time and resources in the long run.
Find your data
Data makes the world go ‘round. But often, your devs can be buried under the sheer amount of it. Data is needed in virtually every aspect of software development. Yet, that desperate need for it every step of the way causes devs to accumulate an overabundance of data that mainly creates noise and distraction in their code.
Frequently, as one of our clients found out, this excess of data can be generated by a phenomenon called Logging FOMO. This stands for the fear of missing out on log lines and the data they comprise. Your devs are so fearful of missing something that they set too many log lines, hoping that one of them will bring them the data they need. However, these logs generate too much noise in the system and high overhead costs to maintain the sheer number of logs they have set. On the other hand, sometimes developers don’t write enough loglines, thus preventing them from getting the data point they need to move on and fix their problems.
Avoid going down the dark road of data overload by implementing a tool that will allow you to gain control of your logging verbosity. Find yourself a tool that helps you not only optimize your logging costs and app performance by controlling log granularity but also cuts down the noise of application-level logging verbosity, and more. And yes – we do recommend the Rookout Live Logger for this 😉
While the going may be tough, it doesn’t mean that the tough need to get going. No matter the circumstances affecting your team’s velocity, there are a variety of solutions at the ready to help them improve their velocity. Identify your team’s soft spots and take the frustration away. You won’t regret it.