How to Apply Incremental Modular Design to Global Challenges

by Kasturika | | 15 min read
359 shares

Incrementalism or muddling through offers a flexible way to approach complex problems. However, pitching to funders who want to see concrete results from their investments can be difficult. To address this, Don Norman offers a modified version of incrementalism that borrows concepts from software development. Here he explains the idea of incremental modular design.

Show Hide video transcript
  1. 00:00:00 --> 00:00:33

    Incrementalism, or muddling through, is a very important concept, but it has its problems. The problem is, if you're going to  do a project in lots of small steps,   do you have to get funding for each step?  Because that is sort of the way it was   described, as if instead of getting one huge  pot of money, let's get small amounts to do a small step and then another small amount and then another small amount.

  2. 00:00:33 --> 00:01:06

    That way if a step doesn't quite work properly, it's a small amount – people don't care so much as if it was a big project and you failed in the first step or two. But it's really hard to raise money. And it's easier to go and get 10 billion dollars in one pass than it is to get – you know – a hundred thousand dollars many, many, many times. If the political agendas all come together to be able to support this one big project,

  3. 00:01:06 --> 00:01:33

    you'd better take advantage of and take the money when it's available, because the politicians will change, the  problems will change, the finances will change, and maybe you'll never get another chance. So, but how do you get this big money and not do a big project that loses flexibility? And I looked around, and there's one other field that often deals with huge projects requiring hundreds of people for many, many years, and that's software development.

  4. 00:01:33 --> 00:02:03

    For large companies doing an operating system or doing any complex computer system requires in many ways the same kinds of issues with many different disciplines involved; it takes many, many years. And how do they do it? So, I borrowed three different techniques. First of all was a notion of incrementalism or muddling through. Second was the notion from the programming technique called Agile with this notion of the *minimum viable project*.

  5. 00:02:03 --> 00:02:33

    And third was a notion that comes from the kind of programming called *object-oriented programming*. So, first, incrementalism, on how we should do this in small steps so that we can take, we can understand what we've accomplished in that step and then maybe modify what we'll do for the next step, but keep doing small steps, and make sure it's in the right direction and the next step in the right direction, which gives us the flexibility to change as we're doing these things.

  6. 00:02:33 --> 00:03:01

    Second, if you look at the Agile programming status, how do they do it? What they do is they take this huge, big programming problem and they divide it into very small chunks, but the chunk has to be working. So, if you're doing a huge accounting system for, I don't know, the income tax of a country, well, let's take one small little piece, one small little aspect, and you have to go from the beginning to the conclusion.

  7. 00:03:01 --> 00:03:30

    So, it has to be a workable system even though it may just be such a tiny insignificant piece that actually can't really  be used on its own, but it works on its own, so you can demonstrate that you're in the right direction. So, it's called the minimum viable project, which means it's a minimum system you can build that actually has a usable, sensible result, but that way you get evidence that you're  on the right direction and that you

  8. 00:03:30 --> 00:04:01

    are capable of doing something, but it gives you the flexibility that the incrementalism and modularity requires. The third principle comes from object-oriented programming, which basically says that we make the program into small modules. Not the minimum viable principle modules but even smaller ones, but we make it so that we don't care what goes on inside, how you write the program. What we care about is, what are the inputs and what are the results, what are the outputs?

  9. 00:04:01 --> 00:04:32

    And we can change what goes on in the inside, as long as we don't change what is required information or material coming in and as long as we don't change what is required going out. So, that gives us wonderful flexibility; for example, designing – I don't know – again, a water purification stage: what we can do is we can design different things, and then for the water purification itself, well, we could fake it. We have a little module and in comes dirty water and out comes clean water.

  10. 00:04:32 --> 00:05:03

    And we could do it with, I don't know, put people inside, manually cleaning the water. It's a good way of testing what you've got, so you have some modules that are completely finished; you have all the machinery, all the cleaning methods, all the electronics used to synchronize, etc. And you have those all working together, and then you have a couple of parts which are done by simple mechanical systems or people, and it shows you the system works. And then what happens is you can slowly modify the modules that are done by people,

  11. 00:05:03 --> 00:05:29

    say, and make that more automatic and more the way you'd like it to be. But, meanwhile, you have a working system, so you could have a working system which is, you know, half the old ways of doing things and half the new ways of doing things, but you can modify it as you have the abilities and resources. And so, these three things put together  I call incremental modular design.

Table of contents

Key Features of Incremental Modular Design

  1. Define the goals: Get everyone—the funders, the communities, and all the stakeholders—to agree on the goals of the large project. 

  2. Democratize design: Involve the people we are designing for, through methods such as participatory design. They will identify their problems and needs and help us develop solutions.

  3. The minimum viable project: Deliver the solution in small steps, analyze the results, and decide the next course of action based on the analysis. 

  4. Independent modules: Develop modules with clearly defined input and output requirements but hidden internal workings. Teams must be able to change how the modules work internally without affecting the inputs and outputs.

Advantages of Incremental Modular Design

We can adapt to different social and technical conditions when we have a clear goal and use multiple smaller projects divided into standalone modules.

© Interaction Design Foundation, CC BY-SA 4.0

Incremental modular design offers flexibility in terms of:

  1. Requirements: As the team delivers, tests and learns from each incremental step, it can adapt and course-correct easily and even tweak the requirements if needed.

  2. Module replacement: Since modules are independent, the team can update any module without harm to the system as long as the input and output requirements remain the same.

  3. Local adaptation: It doesn’t matter how the module works internally. So, the team can change the internal workings to suit local cultures.

The Take Away

Incremental modular design combines incrementalism with concepts borrowed from project management and computer science. Teams divide a project into relatively small steps, then each step into modules. Each module has predefined input and output requirements, which they use to evaluate their progress. Each module should produce a useful result, which the team can test to ensure it meets the input and output requirements. How each module works internally does not matter as long as the module meets the requirements.

With this framework, teams can pitch and secure funds for large projects and retain the flexibility of several smaller incremental steps. 

Download this step-by-step guide on incremental modular design to tackle large problems flexibly.

Get Your Free Template on How to Apply Incremental Modular Design to Global Challenges
How to Apply Incremental Modular Design to Global Challenges How to Apply Incremental Modular Design to Global Challenges
Secure form
Please provide your name.
We respect your privacy
Please provide a valid email address.
315,810 designers enjoy our newsletter—sure you don't want to receive it?

References and Where to Learn More

For more on incremental modular design, see Don Norman’s book Design for a Better World: Meaningful, Sustainable, Humanity Centered.

Additional resources from the book “Design for a Better World” are available at the Resources for DBW website.

Read more articles and essays by Don Norman on JND.org.

Incremental modular design borrows from agile principles. Take the course Agile Methods UX Design to learn more (included in your IxDF membership).

Here is a quick overview of Agile Development.

The goal of agile design is not to be perfect, but “good enough” and deliver results iteratively. This article expands on this notion further in the context of agile, and the same applies to incremental modular design:
How to Succeed as a Designer on Agile Teams: Embrace Imperfection

What are Minimum Viable Products?

Hero image: © Interaction Design Foundation, CC BY-SA 4.0

Get Weekly Design Insights

Join 315,810 designers who get useful UX / UI Design tips from our newsletter.
A valid email address is required.
359 shares

Open Access—Link to us!

We believe in Open Access and the democratization of knowledge. Unfortunately, world-class educational materials such as this page are normally hidden behind paywalls or in expensive textbooks.

If you want this to change, , link to us, or join us to help us democratize design knowledge!

Privacy Settings
By using this site, you accept our Cookie Policy and Terms of Use.

Share Knowledge, Get Respect!

Share on:

or copy link

Cite according to academic standards

Simply copy and paste the text below into your bibliographic reference list, onto your blog, or anywhere else. You can also just hyperlink to this article.

Kasturika, K. (2023, April 3). How to Apply Incremental Modular Design to Global Challenges. Interaction Design Foundation - IxDF.

New to UX Design? We're Giving You a Free eBook!

The Basics of User Experience Design

Download our free ebook “The Basics of User Experience Design” to learn about core concepts of UX design.

In 9 chapters, we'll cover: conducting user interviews, design thinking, interaction design, mobile UX design, usability, UX research, and many more!

A valid email address is required.
315,810 designers enjoy our newsletter—sure you don't want to receive it?