page_title: Michael B. T. Bell
section_title: Bell's Incremental Software Architecture Methodology
hierarchical_section_title: Michael B. T. Bell / Bell's Incremental Software Architecture Methodology
caption_attribution_description: English: This image represents the Incremental Software Architecture process
context_page_description: Michael B.T. Bell is an American novelist, artist, producer, and enterprise software architect, chiefly recognized for developing the Incremental Software Architecture methodology, Service-oriented modeling framework, and the cloud computing modeling notation. His innovative research and publications in the fields of software architecture, service-oriented architecture, Microservices, model-driven engineering, cloud computing, and big data are recognized internationally for their contribution to the software design and development communities.
context_section_description: Traditionally, to promote the establishment and growth of an enterprise end-state architecture, architects, typically senior IT professionals, deliver a diagram that depicts a future production landscape. In most cases, these software designers claim that such as a “to be” architecture is unbreakable and could sustain rapid market trends and complex technological evolution. Their claim also seems to assure that the illustrated architecture would operate flawlessly in production. Would it?
  In many cases, though, such laid on paper architecture, is merely an academic proposition, which later fails to deliver system stability, business continuity, and superb performance. In other words, this speculative architecture tends to break down because of design flaws, and most important—lack of organizational architecture strategy.
  To tackle the deployment of failing applications and systems to production and reduce the risk of harming the operating environment, the Incremental Software Architecture approach calls for submitting bulletproof architecture blueprints. This enterprise design should also be certified by a wide rainbow of organizational stakeholders to dodge financial calamity and business discontinuity.
  How is it possible then to ensure that the illustrated design on paper would indeed render a stable production landscape? The term "stable" means that the deployed systems would meet business and non-functional requirements. The promise of the Incremental Software Architecture, therefore, is rooted in the chief principle, “First Design then Develop.” But this alone is short of avoiding financial burden caused by failing implementations. Equally important, another related tenet calls for modifying the charter of development organizations: The software construction phase as we know it now, should focus on proving that architecture assumptions would certainly work in production. Bottomline, "software construction must follow the pace of design evolution." Obviously, not the other way around. The term "design evolution" means that architects should drive the product development life cycle, during which the end-state architecture could be incrementally modified, while software construction follows design alterations until architecture maturity is achieved.
  To prove that an end-state architecture would indeed operate flawlessly in production, the grand enterprise design should be decomposed into sub-architectures. Such end-state architecture decomposition, therefore, would allow designers to drill down into their detail architecture and enable developers to focus on constructing architecture segments—one at a time, or some in parallel. But proving that each individual end-state architecture segment works as designed, does not mean that the entire enterprise architecture as a whole would indeed perform flawlessly. To verify if an end-state architecture is stable and could endure production environment pressures, an overall architecture stress testing should be considered to assure its stability and fitness.
  Consider the Incremental Software Architecture process, as depicted in the provided image: 
  1. End-State Architecture Discovery and Analysis. Ascertaining systems and related applications in an end-state architecture proposition
  2. End-State Architecture Decomposition. The decomposition process is driven by segmenting the enterprise grand design into structural, behavioral, and volatile regions, so developers can prove that these sub-architectures would indeed work in production
  3. End-State Architecture Verification. Authentication tasks include design substantiation (software construction,) end-state architecture stress testing, and enterprise capacity planning.
caption: Incremental Software Architecture Process
exif: {}