The history of IT architecture is the evolution of an idea. In the beginning, architecture was considered a systematic approach to the specification of a software system. However, the idea has also grown to encompass an entire profession with a foundational body of knowledge and numerous specializations. To understand the history of IT architecture one must consider 2 separate timelines; a) the history of the definition of IT architecture including its specializations, and b) the introduction and rise of the professional architect.
The History of Architecture
As early as 1968 thought-leaders began using the word architecture to describe the meta-design of software intensive systems. The term originated in 1968 when Edgar Dikstra used it as a means of stressing the importance of software partitioning [Dikstra 68]. While Dikstra first officially used the term architecture, David Parnas seems to have made the most specific advancements in the field in the early 70’s. In their book Software Architecture in Practice, the writers do an excellent job of describing Parnas’ major influence in the evolution of software architecture [Bass, Clements, Kazman 95]. Specifically, Parnas provided the following essential contributions:
Modularization into Components [Parnas 72]
Component interaction through interfaces [Parnas]
Structure and Uses partitioning of systems [Parnas]
Component oriented exception handling [Parnas]
Program families [Parnas]
Quality Attribute impact of architecture decisions [Parnas]
Figure 1-1: Architecture History
Many of these early ideas continue to shape our profession today. For example, the concept of program families has more recently been applied to product line architecture and the development massive products which support multiple lines of business in even the largest multi-national companies. This has led to a fully independent architecture specialization, the product architect.
During the 60’s and 70’s, architecture was used as a means of developing and identifying software implementation best practices, many of which would be considered today as software engineering principals. Parnas, in an attempt to make software more maintainable, created the notion of information hiding which is a fundamental principal of object-oriented design [Parnas 72] and thus established the tradition of architecture as the forerunner of software engineering best practice. However, in the Mythical Man Month, the seminal work from Fred Brooks Jr., Brooks positions architecture focused toward the business, “The architect…is the user’s agent.” While architecture today remains at the fore-front of high-quality system design, this traditional battle of “how much engineering, how much business and how much art are a part of architecture” will continue to be an issue for architects going forward.
In the 1980’s there seems to be a birth of architectural thinking and application. We spoke with Grady Booch, an active thought-leader both now and then, who told us he believed the lack of architecture related activities was because, “the world became distracted by a number of other things.” With the advent of the MacOS, Windows, and the massive focus on software language development, the apparent focus of the industry was on bringing architecture to the masses in a sustainable way.
One major architecture advancement stands out in the 1980’s. In 1987, John Zachman, published his work on the Zachman Framework. This development continues to shape the world of architecture today and we believe canonized the enterprise architecture tradition. One of the largest issues facing architects today is the separation between the professional software architect and the enterprise architect; and apparently this separation has existed from the beginning.
Starting in ’92 architecture began its ascension to its current day status. In 1992, Dewayne Perry and Alexander Wolfe published their seminal work, “Foundations for the Study of Software Architecture“, which appears to be a significant moment for architecture. Not soon after, a wave of architecture related materials began to immerge. The still newly formed SEI, led by Clements, who worked with Parnas, Bass and Kazman began publishing massive amounts of material, culminating in their book. The gang of four introduced design patterns which led to the development of major architectural patterns. Booch et al. developed UML, the RUP and Rational 4+1 views which, combined with other factors have led to the Agile movement.
In 1998 Clements, et al. published the first version of the Software Architecture in Practice one of the seminal works in Software Architecture. This book has become one of the most sited books in our field.
In 2000, the IEEE published the IEEE 1471 "Recommended Practice for Architectural Description of Software-Intensive Systems". This research group laid out the foundation concepts of software architecture, including concepts such as views and viewpoints, stakeholders, and there relationship to the architecture description (the document which communicates an architecture). It is difficult to judge the impact of the 1471. As a part of our research we have done any number of soft polls on this software and have yet to come to any detailed conclusions. It is interesting that out of our polls only roughly 20% of titled architects had even heard of it. However, this may in part be due to the lack of a fully integrated community.
As the first part of the millenium progresses IT architecture has exploded. We've seen the introduction of new architecture specializations (Infrastructure, Business, Security, Web), the development of significant information and job opportunity and even two certifications (ITAC, MCA) which while primarily vendor led provide a baseline for the development of an independent profession.
Did the Internet Create the Architecture Profession?
The internet has created a very public and very practical means of identifying the history of ideas since it’s inception. Because of the internet a massive explosion of large software systems (and the architect’s behind them) have become available for review. In many ways the internet may also be held responsible for the juggernaut of the professional aspects of IT architecture.
The internet boom created massive investment of capital and ideas from industry. It led to the need to develop and integrate systems which met many classes of problems across a broad spectrum of intellectual domains. These systems needed to be usable by large groups of users many of whom were not classically trained computer specialists. This “public” attention and interaction, alongside the very real potential of making and saving huge amounts of money with technology, created a class of IT specialist focused on business uses for software and technology. Thus companies began developing the roles of software, infrastructure and business architect to deal with these “meta-systems”.
When the bubble burst in 2001 the positions of these architects were immediately solidified as businesses reduced new system development expenditures instead focusing on better ways to use what they already had in place.
The History of Architects
As architects, it is important to realize that the history of architecture is one of people and not just what we know about designing and implementing systems. Unfortunately, this is an extremely underdeveloped concept in our field. As individuals we are aware of the growth of other professions such as building architecture, medicine and law. We understand that a profession may represent a body of knowledge but do not realize the body of knowledge is actually instantiated by the people who practice it.
pro·fes·sion [pruh-fesh-uhn] n. The body of qualified persons in an occupation or field: members of the teaching profession..
Some of todays architectural thought-leaders are coming to the same conclusion. In a paper by Grady Booch in 2006, a significant contributor to the world of architecture ideas and practice, came to the conclusion, “Software architecture is what software architects do”. Embedded in this simple sentence is a concept which will guide our description of the history of architecture.
There is no static body of knowledge in any fully developed profession but a continual evolution of knowledge based on developments made by its practitioners. Much like medicine there is no way to define the entire body of knowledge at any given moment because at that moment a doctor or researcher is out there dreaming up the next big breakthrough. The only way to understand such a body of knowledge is to identify every practitioner and state, “medicine is what those people know and do". As is it now with IT architecture.
The question remains, where did the profession of architecture begin? Obviously in using the word "architecture", Dikstra was likening his work to the identified profession of building architecture. In Brooks’ statement, he is identifying a class of professional. So it seems the title architect has existed for some time. However, defining the beginning of a profession is a complicated issue. There are numerous options to consider as starting points:
Conceptual:Base the beginning of the professional history on the introduction of common terminology. We have already identified that we are interested in the history of the profession separately from the history of the concept.
Industry Acceptance:Base the beginning of the profession on the beginning of the ascension of the professional role in industry. This is troubling due to an inability to historically categorize and track when the role became common.
Professional Association: Base the beginning of the profession on the development of an open and active body of professionals. While potentially biased, the authors have chosen this as the safest and most reliable form of tracking professional history. This choice is not completely arbitrary as this was also the beginning of the building architect profession (see sidebar).
In 1997 a group of thought-leaders and professional architects got together to form the World-Wide Institute of Software Architects, led by Marc Sewell. The WWISA (wisa, as it is commonly known) claimed as their mission statement, “The Institute of Software Architects, Inc. is a nonprofit corporation founded to accelerate the establishment of the profession of software architecture and to provide information and services to software architects and their clients.” The WWISA was the first organization to truly understand and identify architecture as a separate profession and was able to assemble a reasonable community of architects. Many members of the IASA were early WWISA members, however we believe WWISA was hobbled by a number of factors. The internet boom was moving full-steam ahead and created an environment where almost anyone could become an “IT guru” reducing the quality and focus of architecture and industry lacked a focus for architecture as a comprehensive profession. Additionally, it appears from their history that the WWISA had a limited idea of what they intended to accomplish.
In the WWISA tradition, the International Association of Software Architects (IASA) was founded in Febuary of 2003. The IASA has chapters around the world and is based on individual membership and local chapter development which is essential in the development of a fully functional profession. While the title indicates a software architecture bend, the IASA appears to have equal membership from a broad spectrum of the current architecture field, including infrastructure, business and enterprise architects.