When Kabeer from Dunzo first got in touch with us, they operated entirely on WhatsApp. In the time we’ve known them, they’ve grown. Google made its first direct investment in the Indian market with $12.3 million in funding for Dunzo in 2017. Dunzo’s vision to enter the hyperlocal grocery space to create a new market segment, coupled with Google’s partnership in store and location information has meant that the concierge service has become a market leader. The hyperlocal market is set to grow by $1 trillion by 2030 and will see a huge spurt in growth and innovation via technology.
On a fundamental level, our thinking matched and that was where our partnership began. We were convinced that they cared extensively about user experience and the quality of the product. Prior interactions with the team, their thoughts about software engineering processes, and references from others in the industry were also a big factor [in choosing to work with Obvious].
“How may we help you today?”
Dunzo is now fairly well-known across India. With some money in the bank, they are focused on the scalability of their service. As they start serving new cities, they recognised the need for an improvement in the architecture of their mobile app. Combined with an increase in engineering hiring, it created a need for streamlining growth to ensure quality in delivery and launch of new features.
Startups typically have three phases: The experimentation phase allows a company time to test their ideas to create a workable business model. What follows next is the growth phase which makes space for bringing in more customers. Finally, with the extract phase, the company looks at making greater profits through the business. We worked with Dunzo between the second and third phases when their main focus lay on workflow optimisation for the expanding and streamlining various processes.
We identified three areas that required our attention:
- Reviewing and defining an architecture for sustainable growth.
- Removing uncertainties in the quality of development and the delivery of new features.
- Streamlining the onboarding process for new team members.
The app ran on legacy code, which was fun and experimental but made little room for expansion — code predictability was low. This made it tricky to add new features on the go. We looked for architecture that could allow for expansion and the addition of features, and we tested quite a few until we found one that we were happy with.
We then focused on developing clean code — two methodologies we pushed were Test Driven Development (TDD) and Functional Programming (FP). TDD helped us develop easier feedback cycles during development and helped provide stability. We saw a decrease in maintenance costs and increased stability in the new features. FP helped us with the predictability and testability of code.
To help optimize workflows and hiring, we streamlined the hiring process by assembling a “boot camp” that helped new team members understand processes, context and get up to speed. The “boot camp” will also serve as a self-sustaining training tool for the organisation.
Your task is underway!
Over time, we saw changes that felt right. There were fewer bug fixes, extending features as a simpler process, and overall maintenance for the app dropped substantially. Over time, we were able to augment new teams and empower existing ones. We helped Dunzo make critical decisions that impacted the business and built code that is not only easy to navigate and work with but also sustainable.