
The artifacts in forms readable to computers, developers, analysts, and business users tightly relate each other as a system whose parts cannot be understood taken separately. The logic relationships between these artifacts form a content hierarchy. All artifacts are models. In most general consideration, a software system is organized into four primary levels of hierarchy business model, technology model, design model, and code model.
The methodology of developing such a software system is more than a set of methods, techniques, concepts, and symbols, but also refers to a worldview and a philosophical assumption of what software is. Our view of software directly impacts how we formulate our methodology. Changing our methodology without changing our view of software delivers nothing more than orthodox novelty, i.e., more of the same. When we change our view of software, we reinvent our methodology and thus true innovation can come forward. This is the only possible way to achieve breakthroughs in success rates, quality, and cost.
Successful software methodology must have a view of software whose boundary is expanded to include also the essential properties. The new view of software is a hierarchy of business model, technology model, software model, and code model, as shown below.
|