The difference in reasoning between agile and waterfall product development

There are lots of differences between agile and waterfall approaches to product development, but a fundamental difference that helps us understand both better is the approach to reasoning that each applies.

Reasoning is the conscious application of logic by drawing conclusions from information with the aim of seeking the truth. In the case of product development, the truth we’re seeking is when the product will be delivered.

There are three types of reasoning:

  • Inductive reasoning – Starts with specific assumptions and progresses to generalised conclusions.
  • Deductive reasoning – Starts with general assumptions and progresses to specific conclusions.
  • Abductive reasoning – Starts with observations which lead to a best guess along with accepting uncertainty.

Waterfall applies deductive reasoning and agile uses abductive reasoning.

Waterfall starts with a premise that piece of work A will take 8 weeks, and then adds another premise that piece of work B will take 6 weeks, and so on until all of the premises lead to a conclusion of all the time required added up and so a predictable delivery date. The problem with this reasoning is that if a premise is wrong then the conclusion can be logically true but actually wrong. If B actually takes 10 weeks then the predicted date changes. So, whilst there is nothing inherently wrong with the reasoning method, it’s important to know the limitations and how it can be misunderstood by being logically true but actually inaccurate.

Agile starts with observations of a piece of work, from which a best guess about when the work will be complete can be made, but knowing it is only a best guess comes with also accepting uncertainty about the guess. The problem here can be if the guess is assumed to be more certain than it is.

Being familiar with the reasoning behind each approach to planning product development won’t make any difference to the delivery date, but it helps with clarity and robustness of thinking.