When humans and data play nice together, everyone benefits.
Over the last two decades, we’ve seen a lot of change in software development. In the next decade, teams that are flexible and data-informed will pull ahead leave others who refuse to adapt in the dust.
Data patterns establish the practice
Kent Beck, one of CI’s pioneers, personal mission states it well: “Patterns. Isolate the repeating parts of problems and solutions so the unique aspects come into clearer focus.”
CI/CD became the standard for most modern software teams because it creates identifiable value. Those teams deliver faster and with fewer problems because testing is reliable, repeatable, and produces data that informs the developer.
That’s how reliable data informs human decisions, increasing both efficiency and accuracy. You wouldn’t want to go back to individuals manually interpreting every action.
Data is a tool, not an outcome
Data doesn’t lie but it can be deceptive if it’s answering the wrong questions. For example, asking how many people are using a feature will give you a flat number to spot trends. That same number might distort the popularity and usefulness of that feature.
If you’re just reacting to a number you might highlight a feature no one actually likes or is successful using, that’s the risk of data-driven.
Take that query further and add a touch more human. Start with a human statement like “I want to know if our new schedule a payment feature is successful.” Then turn that statement into questions like:
How many times does a customer try before successfully scheduling a payment?
Of the customers who are successful, how many schedule more than one payment?
Did customers schedule a payment when they really meant to make a payment now?
Then you can ask how the available data can answer those questions. By framing the question in human terms the answer the data provides allows you to understand and respond.
That understanding and response is a big part of being data-informed.
Good data practice becomes good team practice
We’ve seen how CI/CD helps teams be more effective and how user and system data can inform future development.
What if we apply the same type of data collection and interpretation to software development teams? Will it yield the same results? There’s already some encouraging evidence of this from the process perspective.
Teams that take the time to set specific metrics around workflow and velocity will see where breakdowns happen and can either prevent or anticipate them. Teams who add how long different functions take to build, get better estimations.
Apply with care
Once you know the metrics, you can apply the same tactics we use for CI/CD to measure your own team’s performance. Just remember there are two stages to the process:
The questions you ask of the data
How you interpret the answers you get
Shape the questions you ask the data and how you use the answers as a team.
Everyone should understand clearly what each metric is and how it’s interpreted. Most important, agree on how you’re going to use that metric to learn and improve. Teams are made up of humans and data is best applied as a tool to inform and drive change.
No more excuses
Teams who don’t measure or understand the outcomes of their process often introduce the same expensive mistakes over and over. As Thomas Smale says “It’s not uncommon for companies to set unrealistic and arbitrary deadlines for their software projects without adequate data or reason to back up the decisions.”
There should be no excuse for this anymore.
Still, some things never seem to change
So many teams continue to operate in disconnected environments where planning, estimating, designing, and building in silos is the rule. Data and teams are rarely ever connected or understood. Too many teams still lack the context that shows how the whole team is operating toward their goals.
We can and must do better when encouraging and spreading best and emerging practices. Change is often both that which is most required and most difficult.
Good data and human practice go together
We’ve seen how data can improve products, processes, and teams. We’ve also seen how focusing data on informing human decisions can result in better outcomes.
Modern software teams should build data queries and instrumentation that:
Asks the right questions
Informs the right people
Connects the dots and gives you the bigger picture
Helps guide human decisions for teams and users
The future of software development is going to be an increasing blend of data and human interaction. Organizations that anticipate and implement systems that are flexible and data-informed will have a market advantage over the next decade and beyond.
Comments