Tuesday, February 7, 2023

Complexity in Software

Why building good software is hard? The simple answer is complexity. There has been a good classification introduced based in incidental/essential complexity - which is inherent to the problem to be solved, & accidental complexity. I believe many don't understand why accidental complexity arises. The usual suspect is technology; but that is hardly the case. 

To understand how accidental complexity arises, we must understand how we build software. There are several different things such as people, process, design, technology, tools, changes over time in the needs etc. We make choices in these areas. These choices may not be optimal and may sometimes be working against the need for reducing the complexity involved in the process of building software. These choices and how we use these choices create the accidental complexity.

No comments:

Post a Comment