Assumption-Driven Development: From the lens of a delivery team!

Vardhan Bhatt
Technogise
Published in
3 min readFeb 13, 2023

We are living in a world, full of assumptions.

As humans, we assume because we rely on patterns and past experiences to help us understand new situations.

It allows us to make quick decisions and take action without having to gather and process all the available information.

The million dollar question: Is it bad to assume?

Not at all. There is no harm in harnessing the power of assumption as long as you play fair*.

*by fair, I mean being transparent with your stakeholders.

Sometimes, your stakeholder may be unsure of what their business/domain has to offer, so, it’s OK to assume.

Let’s discuss some Pros and Cons related to Assumption-Driven Development:

Pros:

  • Assumption-Driven Development can be useful in situations where time is of the essence.
  • It gives you the flexibility for faster development, faster feedback, more action less talk.

Cons:

  • Rework, Assumption-Driven Development can attract a lot of rework if not done in the right direction.
  • If your client has invested money for you to implement based on your assumptions and it goes sideways, you/your company may lose out on a potential opportunity and eventually, Trust.

Additionally, let’s figure out cases where you can actually go the Assumption-Driven Development way:

Case 1:

You are building a new self-driving car system. Using Assumption-Driven Development, you can validate the assumption that the car will be able to navigate safely in all weather conditions by testing it car in a variety of weather conditions and gathering data on its performance.

Case 2:

You are building a centralised backend service for a travel booking company. If you have a high dependency on their legacy application and the attributes you need, provided you have prior experience in building such applications in the same domain, you can continue the development process with assumptions, thus, staying put with the execution timeline.

You may give birth to the first con as mentioned in the relevant section but it’s a gamble you may want to play. Because, you cannot have your development team sitting idle in the absence of information.

Case 3:

You are working on a new financial trading platform that utilises AI. Assuming that the AI will be able to effectively predict market trends by testing the algorithm with historical market data and gathering data on its performance, you jumpstart on the development.

One of the major advantage behind Assumption-Driven Development is:

  • It helps you and your team to stay on track with the delivery timeline.
  • Get early feedback.
  • Course correct and build your product, the right way.

As a closing note, it’s important to consider that making assumptions can have potential drawbacks, such as leading to inaccurate conclusions or overlooking important information. However, in some situations, making assumptions can also have advantages, such as allowing for more efficient decision making or identifying key areas to focus on.

Always remember what uncle Ben said: “With great assumptions comes greater responsibilities”…

--

--