The May issue of the Software Productivity Consortium's Newsletter, ArchitectureLine, is dedicated to the topic "What is EA?" Members and affiliates should get involved in the definitional process that the SPC is initiating, and those not allied with SPC will benefit from the highlevel aspects of their theorizing that are accessible to the general population.
"New draft paper for comment: What Is EA? Our latest paper argues that architecting an enterprise must be an ongoing, iterative activity, constantly reshaping the enterprise in small, incremental steps.
This position is based on two important characteristics that we think distinguish enterprise architecture (EA) and architecting from other types of systems architecting:
- The risks and constraints deriving from the goals and interactions of people in the enterprise are the primary drivers of EA. Yet these aspects of the enterprise are more difficult to identify and understand than hardware and software considerations.
- EA exists in a continually changing environment. An enterprise is in continual transformation (unless it is failing or already defunct). The technology is evolving, the business strategy is adjusting, the people are adapting. Therefore, the architecture of a vital enterprise always must be evolving.
While these characteristics are relevant to varying degrees for many systems, they are always dominant in EA. Therefore, they shape the practices of enterprise architecting as well. Although techniques from other types of architecting have value in EA, the self-adaptive nature of human-centered enterprises in changing environments pushes enterprise architecting toward evolutionary development.
A preliminary draft copy of this paper is available for review and comment. We invite Consortium members and affiliates to request a copy of this draft paper for review and comment. As always, we intend to incorporate your feedback in future versions of the paper."
The SPC group make a nod to the influence of Dr Barry Boehm, who is generally credited as the father of the "spiral model" of software development (see "A Spiral Model of Software Development and Enhancement." Computer [May 1988]: 61-72). but note that even he "has serious reservations about architecting a system in cycles, fearing that without sufficient up-front analysis, architects of large, complex systems would unwittingly design themselves into a corner."
Their enumeration of issues alone makes looking at their call for participation worth the effort:
"A quick summary of the most pressing architectural issues would have to include:
- How much design work should be done up front? How do we decide which decisions to commit to now and which to delay?
- Which system features or requirements do we consider in the initial architectural analysis and planning?
- How do we make tradeoffs among architectural provisions to ensure or improve performance for current capabilities versus preserving flexibility for potential future features and modifications?
- Will practices supportive of iterative architecting conflict with CMM/CMMI® compliance?"
Comments