Analyzing a Problem for Real Causes and Coming to a Pragmatic Solution
7 January, 2022
Slower Velocity and Low Productivity
I’ve been in my current role for a little over two years. In this role, I realized that the managers that reported to me were constantly worried about the overall velocity of our teams. They were anxious that our speed was lower than expected, so we brainstormed many ideas. We were trying to increase our capacity or potentially deprioritize multiple items. Instead of jumping into solutions, my team tried to delve deeper into the problem & learn what was causing this problem, in the first place.
Analyzing the Problem and Creating a Solution
My team began by sending out a simple survey to the developers on our teams. We were looking to figure out how much of their time was going into completing business projects, infrastructure work, meetings, and other activities. As expected, the surveys said that no more than 30% of their time was spent on business projects. By gathering the data and analyzing our problem fully, my team learned the root causes of our pain. Without understanding the core of our problems, we may not have focussed on the right problem to solve, leading to undesired results.
We learned that context switching was one of our main problems. Individuals could never work on a single project or task for more than two hours without going into a meeting or getting pulled into another task. The environment was not prioritization-driven, and our teams found it challenging to decide the highest priority item to focus on.
We learned that many of my teams were working on similar shared modules without knowing how many others were working on the same type of problem, leading to huge duplication. Multiple teams were duplicating a shared solution because our group lacked alignment, documentation, and communication. This problem is so rampant in larger organizations when many teams are working on similar types of projects.
Improving the Developer Experience:
My managers and I tried to ensure that developers had the proper resources & least possible hurdles to work with efficiently. Instead of demanding our teams be more productive, we worked to improve the environment & clear as many repeat hurdles and red tape away from the developers, so they could work in the zone. After increasing the developer experience for around a year, we began to see some initial results.
Initially, we tried to improve the developer experience on many fronts from designs, test automation to NFRs. We were being very ambitious in our developer experience project when only one of these tracks was only getting the needed traction. In hindsight, It would have been better to only push one or two more impactful tracks than multiple tracks.
Learnings from Solving the developer productivity Problem
- It is vital not to react to the symptoms of a problem but always to try and understand the root cause of the symptoms. If you want to make your bus run faster on a highway, there are many ways to do it. You can increase the engine speed or reduce the friction by paving better roads or getting better tires.
- When solving a problem, it is essential to take the emotion out of ideas to make an impartial decision. Try and measure the problem objectively before starting to solutionize.
Scale your coaching effort for your engineering and product teams
Develop yourself to become a stronger engineering / product leader
Jonathan Ducharme, Engineering Manager at AlleyCorp Nord, encourages the importance of a workplace environment that cultivates mental wellness.
Engineering Manager at AlleyCorp Nord
A proposal for how to create an org structure that will deliver software systems that you want, not ones you get stuck with.
CTO at REAL Engagement & Loyalty
Otavio Santana, Distinguished Software Engineer at Zup Innovation, shares his best practices for upskilling without stretching yourself too thin.
Java champion, software engineer, architect, and open-source Contributor at Independent Technical Advisor
Mugdha Myers, former Engineering Manager at Google, discusses the challenges of leading a team through the ambiguity and anxiety caused by a large-scale team restructuring.
Engineering Manager at N/A
Muhammad Hamada, Engineering Manager at HelloFresh, addresses the uncertainties brought on by the pandemic, how these have affected our work environments, and how we can adapt.
Engineering Manager at HelloFresh