Monday, 12 October 2015

[Study] The chaos model and the chaos cycle

Focus on the role of the developer, the author used the chaos principles as a metaphor to connect the gap between one line of code and the entire project understanding.

The Chaos Model

A combination between linear problem solving loop with fractals used to describe the complexity of software development.

The model imposes little organization on the development process to allow organizations to evolve and therefore can be applied in many complex situations.

Reductionist approach is used to deal with large problems. Fractals require subproblems of any one problem have approximately the same size and value.

The Linear Problem-Solving Loop

4 stages include: Status quo, problem definition, technical development and solution integration.



The loop begins and ends with a status quo.


1. Problem definition: 
  • Choose problem to solve
  • Define solution's constraints
  • Solving problem may or may not be possible
2. Technical Development:
  • Do the work
  • Developers may or may not ensure that the right problem gets solved
3. During Solution integration:
  • Integrate technical solving results to the world at large
  • Communicate to users
  • Users may rejects or ignore b/c they may find it wrong 

4. The status quo:

  • Represent the current state of affairs in the world
  • As the new technical solution gains acceptance, a new status quo emerges and the cycle repeats.
The fractal Problem-Solving Loop

The Linear Problem-Solving Loop applies in many project levels
  • Entire project
  • Sub-group
  • Individual developer

Example for project levels:


An integration of the chaos model:

User's needs

Technical Resources


Developers solve mid-level problems


Fractal phase definitions





Reference:
Raccoon, L. B. S., 1995. he chaos model and the chaos cycle. ACM SIGSOFT Software Engineering Notes, 20 (1), 55-66.

No comments:

Post a Comment