Chaos model

Mustafa Aslanov
2 min readDec 18, 2020

--

The chaos model is an approach to the software development process that uses ideas from chaos theory to address common issues while working in a team setting. Its creator, who used the pseudonym L.B.S. Raccoon, noted that project management models such as the spiral model and waterfall model, while good at managing schedules and staff, didn’t provide methods to fix bugs or solve other technical problems. Chaos model endeavors to unify the best programming methodologies with the best project management techniques; ideally forming an overall superior strategy. Its relationship to chaos theory is the idea that large-scale architectural issues cannot be stabilized without also stabilizing the “smaller” issues in the software. Including the individual lines of code.

Software development

The chaos model focuses on defining, implementing, and integrating the life cycles of the various smaller aspects of a software development project, on the following levels:

  • The project as a whole (must be defined, implemented, and integrated)
  • The various interconnected systems being developed (must be defined, implemented, and integrated)
  • The various modular aspects of the software (must be defined, implemented, and integrated)
  • The software’s functions (must be defined, implemented, and integrated)
  • The individual lines of code (yes, you guessed it, must be defined, implemented, and integrated)

Chaos model strategy

The strategy of the chaos model is to identify pertinent issues and “always resolve the most important issue first” according to the following definitions:

  • An issue is an incomplete programming task.
  • Important issue are a combination of big, urgent, and robust:
    - big issues provide value to users in the form of functionality;
    - urgent issues hold up other work until resolved;
    - robust issues are trusted and tested when resolved.
  • An issue is resolved when it is brought to a point of stability.

The chaos strategy resembles the way that programmers work toward the end of a project, when they have a list of bugs to fix and features to create. Usually someone prioritizes the remaining tasks, and the programmers fix them one at a time. The chaos strategy states that this is the only valid way to do the work.

According to Wikipedia, the chaos strategy was inspired by Go (game) strategy.

Connections with chaos theory

There are several tie-ins with chaos theory.

  • The chaos model may help explain why software tends to be so unpredictable.
  • It explains why high-level concepts (like architecture) cannot be treated independently of low-level lines of code.
  • It provides a hook for explaining what to do next, in terms of the chaos strategy.

Hope you enjoyed this blog, and see you soon! (i guess?)

references:

1. Chaos Model in computing

2. What is a chaos model?

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Mustafa Aslanov
Mustafa Aslanov

Written by Mustafa Aslanov

just a dude trying to be a dude.

No responses yet

Write a response