In Learning Systems Thinking, the author draws a distinction and contrast between linear and nonlinear thinking, asserting that systems thinking is largely a nonlinear thought practice.

Linear thinking is the style in which, by and large, software engineers are primarily trained. It is concerned with causality, rationality, and reductionism—the breaking apart of a whole to understand it’s parts.

By contrast, nonlinear thinking is integrative—piecing parts together into a whole greater than the sum of those parts. It concerns itself with the relationships between the parts, and how any modification to each of those parts necessarily results in an entirely new system with new relationships.

It’s important to note that, despite the negative connotation “reductionism” commonly carries, neither linear nor nonlinear thinking are inherently “good/bad” or “correct/incorrect”. Rather, each is a tool to be employed in particular circumstances. The important thing is to recognize the circumstance you’re in and adjust your thinking accordingly.


References

Montalion, Diana. Learning Systems Thinking.