A Data-Driven Organization
Note! This article was written in English and has been edited by ChatGPT to ensure proper grammar.
As some of you may be aware, Dharma aims to be a data-driven organization. But how did we transition from having no metrics at all to making decisions based on data? And more importantly, why would you want to be a data-driven company and how did we begin incorporating metrics into Dharma?
Dharma has been a software development agency since 2009. We started by building open-source websites and webshops for creative agencies. We found ourselves in a prime position to meet the growing demand for fast, efficient development. Back in those days, websites were still being built using Flash or custom CMS systems that were often clunky and inefficient.
For years, our CEO handled all project management, including client calls, testing, and quality control. All project plans and deliveries were recorded in a big notebook, and while this worked for a while, the workload became too much for one person to handle, leading to mistakes and unhealthy working hours. The only metric we had to gauge our success was our financial data, which told us we were making money but not how or if projects were within budget or which team members were productive.
A New Era at Dharma.
It was time for a change. Our accountant had always stressed the importance of logging hours on projects, but we resisted adopting this “old school” practice. However, we eventually recognized the need for a ticketing system to track progress and a version control system to improve collaboration on projects.
We began using Jira for ticketing, Tempo for logging, and Bitbucket for version control. The transition from a notebook to these systems wasn’t easy, as we had to learn how to properly create tickets, write descriptions, and interpret them for clients or projects. Logging time spent on tasks and using version control was also a big adjustment.
Data was being gathered through these systems, but the loggings were inaccurate and tickets were often created at a high level. While this was an improvement from our previous system, we knew we could do better. Over the next few years, we continued to work with these systems but never fully took the time to optimize them.
The Atlassian suite helps us to gain data from our processes.
Double Down on Our Approach
We knew the moment would eventually come when we needed to double down on our approach and lay the foundation for growth and organization in our work, all while gathering the data we needed to understand what was working and what wasn’t.
After researching different project management frameworks (Six Sigma, Prince2, Extreme Programming, Agile and Scrum), we determined that Scrum was the best fit for our small team of developers who needed to be nimble, work in fast cycles, and deliver incrementally on multiple projects or tasks. We sent everyone to a two-day Scrum basics course and began working within the Scrum framework.
Finally, we had a clear commitment to a new way of working, with two-week sprints, thorough sprint planning, daily stand-ups, and a review and retrospective at the end of each sprint. At that time, we were using a handmade burndown chart (a graph showing velocity within the sprint) on a piece of paper (which felt like a return to Dharma 1.0) because the systems we were using didn’t provide the data we needed or expected. (You can read more about our dashboard here)
Everyone started logging their hours, tickets were discussed during sprint planning, refinement, and stand-ups, and things really took off. The team felt in control, and management was able to step back. Deadlines were being met, and everything finally made sense.
Embracing Data
With the teams managing projects, management was able to shift their focus to improving the company at a higher level, rather than being bogged down by project details. We created spreadsheets to track data such as contract hours, project loggings (exported from Jira), absenteeism, billability formulas, sprint completion rates, estimated versus actual time spent, and refinement time. This wealth of data allowed us to better understand areas for improvement, prioritize focus, and deliver better results for our clients.
Initially, some data points were extremely useful, while others became obsolete over time. For instance, when we first started tracking our hours, our logging average was 55%. This was a significant accomplishment and helped us establish a more structured way of working. Now, our logging ratio is a consistent 99.5% (!)
Thanks to this data-driven approach, we have established a solid foundation for growth and established clear objectives. We now have a clear roadmap for reaching our goal of becoming the best software agency in the Netherlands.
If you would like to learn more about our data-gathering and utilization practices, please let us know. We are happy to share our spreadsheets and insights. Likewise, if you have any suggestions or ideas on how data can help a software agency, we would be eager to hear them.