Software development is empirical

21 Aug 2014 | Agile Culture

TAG:

One should learn from previous experiences and previous mistakes. Even better, one should learn from others experiences and mistakes. In software development, we have been very good at adapting knowledge from other industries. This has been especially the case with the manufacturing industry. From the Taylorism to the more recently influences of Lean thinking, the software development theories and practices have borrowed a lot from the manufacturing industry.

But we need to be very aware of the differences in our industries. Manufacturing typically deals with repeatable processes, while software development is empirical.

In manufacturing, a repeatable process converts consistent inputs into consistent outputs. Repeatable means that the conversion of inputs to outputs can be replicated with little variation. In repeatable process, a small variation on inputs typically translates to a small variation to the outputs. But this is not the case with software development.

Software development is really creation. And creation is not a highly predictable and repeatable thing. There is too much complexity and variability in the software creation process; software creation is an empirical activity.

Dictionary.com Empirical definition:
1. derived from or guided by experience or experiment.
2. depending upon experience or observation alone, without using scientific method or theory, esp. as in medicine.
3. provable or verifiable by experience or experiment.

In manufacturing, a great deal of work is about putting pieces together to build a specific thing. Whereas, in software development, these pieces are often created, re-created, or customized every time. This is not to simplify the kind of work going on a manufacturing assembly line. My point is that the manufacturing discipline and its pieces of work are more mature, stable and well understood than the software discipline, and its pieces of work.

Further, in software development a small variation on inputs can result into a big variation to the outputs. For example, small changes in requirement or the architecture can result in huge differences in the software development and its output.

 

Like this topic? check out this book: Optimizing the flow; process improvements for high performing agile teams

Paulo Caroli

Paulo Caroli is an author, speaker, and consultant specializing in agile transformations, Lean Inception, and OKRs. With over 30 years of experience—including nearly a decade in Silicon Valley and 18 years at ThoughtWorks—he has helped organizations transition from project to product and from strategy to execution. Creator of the Lean Inception methodology and author of bestselling books like Lean Inception and Team OKR, Paulo is dedicated to empowering teams to align, validate, and deliver real business value.
Assumption Mapping Activity

Assumption Mapping Activity

Assumption mapping is a powerful activity that equips teams to evaluate their assumptions based on their significance and supporting evidence. By following a structured process, teams can clarify their assumptions, enabling well-informed decisions, mitigating risks, and bolstering the likelihood of success in their endeavors.

read more
Design Ahead: Harmonizing Design and Development Timelines for Optimal Results

Design Ahead: Harmonizing Design and Development Timelines for Optimal Results

This article explores the strategic integration of the Design Ahead approach and dual track development methodologies in the realm of software development. By delving into the nuances of design, concurrent workflows, and seamless collaboration, it offers insights into orchestrating a harmonious symphony between design and implementation. From refining user experiences to developing new features, this exploration illuminates the path for organizations seeking to excel in the ever-evolving landscape of software delivery.

read more
Working Backwards – Press Release Template

Working Backwards – Press Release Template

This comprehensive Press Release template provides a structured framework for implementing the innovative Working Backwards approach, a strategy favored by industry leaders like Amazon. By starting with the end customer experience and working backward, this method offers a clear pathway for product development and planning. The template’s sections guide teams in articulating the product/initiative/solution’s significance, key features, and benefits.  Whether for remote collaboration or in-person workshops, this tool equips teams with a collaborative framework to craft impactful press releases.

read more

Pin It on Pinterest