Nov 21st, 2024

Best Practices

Be a Scientist

  Written by: Craig Vosper, Chief Delivery Officer

author image

All of us should approach software projects like scientists conducting experiments to prove or disprove a hypothesis. At first, you might think, ‘I’m not spending money on an experiment—I need to know what my investment will deliver.’ I can understand that concern but let me explain how this mindset not only increases the chances of your project’s success but also helps build a resilient team along the way.

Make an observation. Every project begins with an observation—whether it’s about the current state of the business or a new opportunity that has presented itself. These insights might stem from simple examinations, key performance indicators, or customer feedback. For example, you might notice that orders aren’t being delivered on time consistently enough. You could refine this observation further by measuring it as the ‘average percentage of orders delivered on or before the communicated delivery date to the customer.’

Form a hypothesis. Once you have your observation, the next step is to ask questions and form a hypothesis about why it’s happening. This process helps define the current state of the issue. In our example, we discovered that while orders are submitted electronically, delivery dates are calculated manually. This led to the hypothesis that automating the date calculation could improve our results.

Conduct experiments. We need to define features that we believe will automate the date calculation and improve on-time delivery results. These features should be designed in a way that they can be evaluated against our hypothesis. By keeping them small, we can learn faster and realize value sooner if they succeed. If they don’t, we must be ready to identify alternative features and review our hypothesis to ensure we’re addressing the core problem.

Embracing this experimentation mindset brings several benefits to your organization:

  • Faster delivery of value.
  • The ability to pivot quickly and learn from mistakes.
  • A culture of learning that will allow your team to grow both personally and professionally, building a more resilient and adaptable team.

Take the science part of your CS degree seriously and use it to make your organization better!