Challenges
A common issue enterprises often face when trying to scale their development teams (particularly when onboarding new developers) is that of maintaining quality and reliability. Developers often face a lot of friction in their day to day work when they end up spending time on non-productive activities that take their focus away from important development tasks they should be doing.
Our client was facing exactly such a challenge: maintaining product quality and reliability along with scaling their teams and codebases. This was adversely impacting their customer experience as development teams were taking much longer to push releases and were spending a major portion of their time re-working on production defects, leading to a higher cost of development. For our client, the pace of technological changes demanded a higher degree of flexibility in the product development process.
Some of the most significant worries for our client included high development costs and high defect rates in production. In addition to that, fragmented communication, longer time-to-market, and legacy systems failing to keep up in pace and quality with technological modernization were major bottlenecks arising from poor developer experience and reliability scores.
Approach
The scope of this project included persona creation, journey mapping, stakeholder research, qualitative and quantitative analysis of front stage and back stage processes, industry benchmarking, KPI identification and measurement, tools analysis, organizational training, and documentation.
Recognizing that the first effort towards solving this problem was to understand where it stemmed from, we mapped the current experience of our client’s developers versus the desired developer experience. Ensuring we do this in a human-centered manner, our team first identified user pain points, their activities, and their experiences.
From understanding the problem to providing solutions and recommendations, our team took a systematic approach to this through a 5-step process:
Our Process
- Understand the Problem and Define the North Star
- User Interviews & Quantitative Survey
- Journey Map & Personas
- Industry Research
- Synthesis & Analysis
1. Understanding the Problem
Workshops were conducted with the decision-makers and stakeholders to create a shared vision of the future. These were meant to align everyone on what the most important challenges were, what goals needed to be achieved on priority, and other “how might we” questions that needed to be answered.
In our client’s case, the North Stars were defined as:
- Accelerating Digital Transformation == +Rate of change of Velocity for Developers
- Reduce the ‘logistical complexity’
- Reduce friction in the system from concept to launch
- How might we remove friction from the developers’ work and help them focus on things they love most, i.e. developing amazing products?
- How might we enable developers to do their best creative work by taking away their pains (lego blocks, tooling, onboarding, setup, release, frictionless DevOps)?
- How might we improve the quality of code released by developers?
2. User Interviews
We conducted 15+ individual developer interviews from diverse squads (front/back-end, design, QA, POs, DevOps).
The focus of these discussions was on uncovering the current processes in place, challenges, and roadblocks, and providing suggestions and possibilities of how to overcome the identified challenges.
Quantitative Survey
In order to quantify our findings from the user interviews, we also conducted a survey with 40 participants answering 30+ questions from their day-to-day journey.
3. Journey Mapping & Personas
We used the findings from the user interviews and the survey to build a color-coded developer journey map and then used that information to convert it into personas for frontend and backend developers. This served as the guardrails for us to fully understand developer outcomes.
These personas were also later helpful for evaluating the technology solutions against the developer outcomes.
4. Industry Research
We did an extensive review of the industry best practices to understand if the organizational challenges are aligned with the industry and how industry leaders are addressing these challenges.
A competition analysis was conducted to evaluate the offering gaps and gather inspirations by studying precedents on similar initiatives and to evaluate DevX maturity relative to the industry.
5. Synthesis & Analysis
The final stage included crystallizing the raw data to uncover meaningful insights.
These insights highlighted opportunities of improvement as well as what currently works well and should be leveraged further to strengthen the process.
Our Findings
To put our findings into clear context, we condensed them down to ‘Opportunity Themes’, based on which areas needed to be improved: Standardization, Environments, Documentation, People & Culture, and Processes were the opportunity themes we identified for our client.
For each area of opportunity, we defined the Problem Summary, Areas of Improvement, and Recommendations.
As part of the Recommendations, we highlighted Quick Wins for our client (to identify the low-hanging fruits that were quickly and easily achievable), provided a step-by-step Roadmap of the stages that needed to be covered (and what needed to be done at each stage), and finally, laid down the Next Steps.
As a conclusion to the exercise, we proposed six experiments to help address the frictions identified in each of the areas to improve the overall developer experience.
Success/Impact
The key impact achieved as a result of our approach and solutions was a significantly enhanced developer experience. Hand-crafting an engaging experience for the developers by applying several steps that helped them focus more on coding rather than solving day to day issues was something that also helped increase the quality and reliability of code that developers wrote.
Solving some of the biggest concerns for our client, our solution helped reduce the developers’ time-to-code, development costs, and defect rates.
- Clear documentation and protection of IP for properly documented frontstage processes and to avoid duplication of work
- Improved development velocity based on automation of backstage processes resulting in quicker deployment and faster launch
- Improved employee retention, satisfaction, and motivation resulting in lower stress and higher productivity
- Fewer production issues by significantly reducing technical debt, which built confidence in the improvement of customer satisfaction
- Clear and transparent communication by establishing a dashboard for to indicate the status of all stages of product development
- Organizational transformation and adoption of scrum ceremonies and discipline in backstage processes