| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Building |
Software |
||
|
Provide Vision |
|||
|
Aesthetics Look Use of Materials (?Leads) |
Technology Strategy (?Interfere with Developers ?) |
||
|
Prototypes |
|||
|
Scale models Presented to Customer |
Can become the product Presented to internal people |
||
|
Iteration |
|||
|
Only in design, little during construction (? Moving walls/furniture) Environment changes small |
Throughout design, build, test Layers º rates of changeEnvironment change frequent? |
||
|
Fashion |
|||
|
Prone to |
Prone to |
||
|
Formality |
|||
|
Yes |
Less so |
||
|
Mistakes |
|||
|
Accountable Architect sued Visible Difficult to correct |
Not architect's fault? Less accountable Opaque Perceived as easy to correct Hideable? |
||
|
Regulations |
|||
|
Legal Framework de jure |
Disclaimers Internal De facto |
||
|
People / Roles |
|||
|
Low turnover (recruit externally) Direct Authority |
High turnover (promote from within) (< developers) Indirect Authority |
||
|
Driver |
|||
|
Architecture making most of possibilities |
Architect is policeman |
||
|
Time scale |
|||
|
Longer Time Scale |
¬ Discipline ® |
Shorter Time scale |
|
Role Interaction: With whom do architects interact?
The Role Interaction group bifurcated the world into a client community and project worker community:
The role interaction group produced the above diagram depicting architect communication in a project. They viewed the architect as often being the single point of contact to the client and as the interpreters of both the contract and architectural vision to the workers. They negotiate with the client and "reflect", perhaps artistically, on the client needs. The interaction at this level is much the same for the software and building architect--an observation that would be borne out in the process category.
A main finding of another workshop I attended (Andy Moorley's "Architects are from Mars, Developers are from Venus") is that architects spend a lot of time carrying information from person to person -- being information brokers. This facet of the architectural role is corroborated in at least one other study [Grinter1999] . Cher Devey notes that architects may play both of the potentially conflicting roles of information brokers and negotiators.
Structure: What is the role of the architect in shaping structure?
Perhaps the most noteworthy thing about this chart (Table 2) is that building architects are credited with influence over all aspects of structure, whereas software architects are accorded no influence (Ø), questionable influence (?), or an even stronger version of Ø (X). The place of aesthetics and fashion are questioned for software, but software architects are given some credit for dealing with architectural style.
Table 2: Dimensions of Structure Category
|
Building |
Software |
Consideration |
|
3 |
Ø |
Shape structure to requirements |
|
Ø |
3 |
What not how |
|
3 |
3 |
Infrastructure |
|
3 |
? |
Prototypes / models |
|
3 |
? |
Number of types of elements |
|
3 |
? |
Aesthetics |
|
3 |
? |
Fashion |
|
3 |
3 |
Style |
|
3 |
X |
Context |
|
3 |
Ø |
Standards and Regulations |
|
3 |
3 |
Fitness for Purpose |
|
3 |
3 |
Forces Between Elements |
|
3 |
X |
Visibility |
|
3 |
Ø |
Geometry and Space |
Economics: What economic processes does the architect participate in?
There were two brave souls willing to tackle the economics issue, and their results are self-explanatory in Table 3.
Table 3: Dimensions of Economics Category
|
Building |
Software |
Consideration |
|
3 |
3 |
Costing / Estimate |
|
3 |
3 |
Proposal/Tender |
|
X |
3 |
Money - Time to Market |
|
3 |
Large Lump Development |
|
|
? |
3 |
Money follows "exciting work", fashion |
|
3 |
3 |
Maintenance / whole life cost |
|
3 |
X |
Aesthetics |
|
3 |
X |
Materials / work costs and visibility |
I showed this to my wife, Sandra Coplien, a barrister working on her accounting certificate, and she immediately recognized all the facets of this chart as key considerations of management cost accounting. She noted several things that are missing:
- Cost/benefit analysis (replacement versus using what one has, which in software would relate to reuse)
- Variable versus fixed cost analysis (which is another way of looking at large lump development)
- Direct labor, direct materials : breaking down the analysis into parts)
- How long does it take to recap (whole life cost)?
- Depreciation and amortization
These aspects could enrich the dimensionalisation of the category if more data were to be gathered concerning them.
Table 4 depicts the dimensionality of the Constraint category.
Table 4: Dimensions of Constraint Category
|
Building |
Software |
Kind of Constraint |
|
3 |
|
Indemnity |
|
3 |
3 |
Stress / Strain |
|
|
3 |
Number of types of components |
|
3 |
3 |
Costings / Estimates |
|
Client |
Practitioner |
Fashion |
|
3 |
|
Standards |
|
3 |
|
Material: Quality vs Cost |
|
|
3 |
Skills Shortages |
|
3 |
|
Qualification (Specialization): Scale, Category |
|
3 |
3 |
Regulations |
Process
Rather than doing a dimensional analysis, the process team chose to do a simple enumeration of similarities and differences, as in Table 5. The central theme seems to be the relative maturity of the disciplines.
Table 5: Similarities and Differences for the Process Category
|
Similarities |
Differences |
|
Constraints Satisfaction |
Specialization |
|
Overall Process -- but activities are different |
Standard Tools and Techniques |
|
Management |
Underlying Theoretical Basis |
|
Modeling & Realization |
Modeling & Realization |
|
|
Maturity |
Table 6: Dimensions of Professionalism Category
|
Concept |
Building Architecture |
Software Architecture |
|
Specialization |
Lots in architecture |
Less in software |
|
Showing people your previous work |
Essential Architects are responsible for the user-facing aspect of the building (they delegate internals) |
Resumés (snigger) The software architect is rarely concerned with the GUI |
|
Regulations and Standards |
Both have 'em, but see legal below |
|
|
Attribution |
Only Sometimes For groundbreaking |
Only Sometimes Cf. 'about' screens + Easter Eggs |
|
Practises have visible leaders |
More true? |
Less true? |
|
Legal responsibility for actions |
3 |
X |
|
Shared experience |
More true |
Less true (especially history) |
|
Expert silver bullets |
X |
3 |
|
Involvement in implementation |
Hardly ever |
Variable |
|
Training, education & accreditation |
(not filled in) |
(not filled in) |
Table 6 shows the distillation of the Professionalism category, which is self-explanatory.
Axial Analysis Considerations
Axial analysis -- so-called because it takes place along the axis of the categories -- is the due consideration of relationships between the categories. We try to link categories together at the level of their properties and dimensions. Here, we visit each category in turn and examine linkages to other categories.
Change
The Change category highlights the central concerns of change management that fall into the architect's domain. We also see change considerations in the Economics category, particularly with respect to large lump development. This is a central concern in the architecture work of Christopher Alexander, whose influence on software may be as profound as his influence on architecture of the built world. Funding is a crucial consideration in system evolution. Most contemporary personal homes have front-loaded funding. The occupant's payout for this expenditure is protracted over a 20- or 30-year mortgage. While mortgages make it possible for people to afford homes beyond the means of their monthly income, they also lead to interest expenses that dwarf the actual cost of the house. That interest money is money that could be used to improve the houses instead of feeding bank investments. To solve this problem, Alexander proposes building houses piecemeal. Piecemeal growth attacks additional problems: one never fully understands requirements up-front, anyhow, and houses should grow to accommodate increasing understanding in needs. And a builder cannot achieve a true sense of accommodation and comfort in an edifice that's master planned: only in one whose growth is tailored to the needs of the edifice over time.
The Change team mentioned the issue of iteration as well, noting iteration is a staple of software but that little happens in construction.
The Economics team found that both software and builders deal
with maintenance and whole life cost. However, software models
tend to be back-loaded: Boehm's oft-quoted figure notes that 80%
of software expense goes into maintenance. Houses are more
front-loaded -- another change concept that surfaces in the
Economics category. Brand (How Buildings Learn
[Brand1994])
notes that the greatest
buildings are so adaptable, at a deep level, that they can serve
many purposes over a long lifetime. They may change not only
function, but form as well, over that lifetime: the original
form does not reflect all the functions the building can support.
Role interaction The visibility of the architect was a recurring theme in
many categories. Visibility is perhaps best suited to inclusion
in the Professionalism category, which tied visibility to
credibility. The wry conclusion is that building architects are
into "show", while software architects are invisible. This is
consistent with Alexander's view that building architects often
consider art for its own sake:
There is a strange dichotomy between the present architecture and planning professions. On the one hand, the architects are in the habit of creating completely mad idealistic utopias. These utopias often have little meaning, they are unlikely to be implemented; often no one in his right mind would want to implement them. They are personal dreams, not anchored in reality. Archigram's city on legs is an extreme example. [Alexander1969]
Visibility is an important dimension of role interaction. The Professionalism category captures the concept that the building architects are visible leaders, while that is less so in software, particularly outside the project or domain of interest.
This ties into the Change category with respect to the visibility of prototypes -- a factor in both disciplines. Visibility correlates strongly to the dimension of focus , which is externally directed in architecture, internally focused in software until the prototype itself evolves into product. Change also noted that mistakes are visible, actionable, and difficult to correct in building architecture; in software architecture, there is less visibility and accountability, and the errors are perceived as easy to correct. Furthermore, there was speculation that it may be easier to hide the errors in software than in construction. These, too relate to professionalism, which suggests that professionalism and role interaction are closely related categories linked by many dimensions.
Structure
The use of materials -- and, in particular, the breadth of materials inventory -- was a recurring theme. The Structure team itself noted that the number and type of elements is a stock concern in building, but it's questionable whether this is so in software. On the other hand, the Constraints team didn't view the component inventory to be a constraint in building, but felt it was a constraint in software. The Change team noted that while builders deal with materials, software architects deal with technology -- which is certainly a consideration in building as well. Materials and work costs were also noted in the Economics category, and balancing quality and cost appeared in the Constraints category as well.
Professionalism
Liability was a recurring concept in many of the discussions and it found its way into many categories. Professionalism captured legal accountability for actions: present in building architecture, and much less so in software. But liability was also noted in the Change category, regarding accountability for change: present in building architecture, but not the architect's fault in software. And in constraints, indemnity arose as a pertinent building concept, but not a software worry. And in process, building architects were seen as subject to pertinent legal frameworks, whereas software architects operated under disclaimers with only internal regulations.
Aesthetics was another recurring theme, which we can view as a category that extends professionalism. In the Change category, we found the focus on aesthetics in building contrasted with the focus on technology in software (though the building profession also considers material). Yet during change, both professions are concerned with fashion. In the Structure category, Aesthetics, Fashion, and Style were all addressed. Style is a concern in both professions, but Aesthetics and Fashion were deemed questionable for software. In Economics, Aesthetic considerations were found absent in software but present in building. And in the Constraints category, there is an interesting dimensionalization of Fashion, which appears to be focussed on the client in buildings, and on the practitioner in software. This is reminiscent of the Prototype concept dichotomy in the Change category.
As previously mentioned, professionalism and role interaction are closely linked in many dimensions.
Constraints
The Constraints category addresses issues in many of the other categories as a phenomenon that often cuts across the other categories. Stress/strain, component inventories and materials are issues of structure; costings are an economic consideration; fashion and standards relate to professionalism; skills shortages and specialization are issue of roles. The Constraint category is further elaborated in the discussion of the Core Category below.
Economics and Process
These categories seem to support the other five categories in the study, and their attributes aren't often cited in other categories. This suggests that perhaps they are secondary categories. In grounded theory we seek a central category from which we can derive a theory, and it appears that the central phenomenon of this study is only weakly related to economics and process.
Other concepts and "small" categories
There are other more detailed concepts that didn't surface as categories in the analysis: stress, strain, inventories, visibility, aesthetics, technology, and many others. These concepts will be presented in bold face in the story line presented before.
Constraints: The Core Category
The goal of grounded theory is to develop a theory explaining some phenomenon. The phenomenon explained by the theory is labeled as the core category. The core category is broad enough to cover the range of material in the study, and it becomes the phenomenon around which the other categories are integrated. The core category should form the main "story line" of the core phenomenon.
Table 7: Core Category Analysis
|
Change |
Structure |
Professionalism |
Process |
Constraints |
Economics |
Role Interaction |
|
|
Change |
H |
M |
H |
M |
L |
L |
|
|
Structure |
H |
M |
M |
M |
|||
|
Professionalism |
H |
H |
|||||
|
Process |
M |
H |
M |
H |
|||
|
Constraints |
H |
M |
M |
M |
|||
|
Economics |
M |
H |
|||||
|
Role Interaction |
L |
The workshop exercise was too casual and incomplete to definitively point to a single core category. However, we can choose a core category to proceed with a tentative theory, and develop a story line for the theory. After the workshop, we did an informal coverage analysis between the categories as reflected in Table 7. The table shows high (H), medium (M) and low (L) coverage between pairs of categories (the rows are the "covering" categories, and the columns the "covered" categories). The Constraint category has the tightest coupling to the other categories. It lacks explicit coverage of Process and Change, but both Change and Process show links to Constraints. In particular, the Process category notes that dealing with constraints is a common concern to both building and software.
The basic story line
The job of the architect is to balance constraints that arise from customers, standards, economics, and other people (such as project workers) involved in the process. These business constraints are in addition to the more obvious physical constraints of Structure--of making sure everything fits together. Building architects are qualified to manage these constraints in specialized areas that involve scale and the type of building being built; this is true to a much smaller degree in software.
One of the main roles of the architect is to balance the constraints between Clients and Project Workers. The building architect is more visible in this process than is the software architect, partly because their focuses are different. The software architect is focussed on building a robust product in terms of the technology in vogue, while the building architect is more directly concerned with aesthetics and conceivably with economics. Building architects are more likely to shape the structure to requirements than are software architects; other considerations, like the domain and solution technology, provide the structural constraints for the software architect. Time constraints are much tighter on a human scale for software architects than for building architects.
Even fashion provides constraints. Though this holds both in construction and in software, the sources of the constraints are different: in software, they are more internal to the craft (objects, databases, etc.) while in building they tend to be more external. This client focus in the building profession, contrasted with the builder focus in software, parallels the development of models (prototypes) used in both professions to explore the constraint space.
Constraints like economics and process might be viewed as liabilities, but some constraints such as standards and regulations may serve both the architect and the client by scoping the design space. Some of the constraints come from theory itself; there are many more of these kinds of constraints in building architecture than in software architecture. Building architecture has more of an underlying theoretical basis to support process--including the laws of physics.
To evaluate constraints, architects build models. For the software architect, the goal is usually to rally the programming team around the models. The building architect is more outwardly focused. This leaves the software architect less visible to the client than the building architect, particularly at the beginning of the project (when building architects are particularly visible). Yet people felt that the materials constraints are harder for the building architect than for the software architect, and that they have a larger effect on what one can and cannot do with Structure.
If some constraints aren't met, there are repercussions -- being sued and legal frameworks for builders. Software architects are less visible and perhaps less accountable. Software architects also seem to have the opportunity to come in and make more fixes around (just before and just after) deployment time, involving themselves as the bearers of "silver bullets" to fix system-level problems.
The architect may also be the source or conveyor of constraints. In software, the architect is often viewed as the "policeman" who "enforces" the architecture.
Further Questions to add Density to the Theory
A good grounded theory covers all of the categories of interest. As suggested by the results of Table 7, the workshop exercise left gaps in the axial analyses and therefore in the ability of the theory to explain all the phenomena. "Architecture as metaphor" is a large topic, and subjectively we know there are many other gaps in the analysis. Grounded theory encourages researchers to pursue additional lines of inquiry to fill in these gaps. The following questions are designed to help fill out the axial analysis and to address other important aspects of the theory.
- With respect to professionalism, how does the architect handle constraints?
- What are the constraints affecting process?
- How do constraints relate to the architect's role in dealing with change? What are the constraints affecting change?
- Much more exploration is appropriate for Economics. How is spending distributed over the lifetime of a software project as compared to a construction project (along with subsequent remodelling)? How are amortization and depreciation handled?
- What is the relationship of time to change in both fields of architecture? What is the impact on economics?
- To what degree can we separate architect, the role, from architecture, the practice? What other roles practice or contribute to architecture, and how does this involvement vary from construction to software?
- What are the non-material artifacts and constructs that are of concern to a building architect, if any? What are the material constructs that are of concern to a software architect? In short: how much of architecture is related to material?
- To what degree do architects (in both professions) claim to work from pre-drawn plans? To what degree are the plans followed? What is the role of the architect in creating such plans?
- Collect stories of actual changes in which architects were involved in both fields, and look for the recurring patterns of constraints in the stories. Are there different considerations, particularly with respect to modifying legacy structures, in how the two professions balance constraints?
- What is the role of experience in balancing constraints?
- What is the average experience level of an architect in each profession?
- Is there a "constraint hierarchy" whereby constraints on the architect are translated into constraints for the builders and customers? How does the architect restructure these constraints and articulate them to builders and customers? Is the architect the primary source for more constraints in one discipline than in the other?
- Who decides what constraints are not constraints, but enablers which contribute to a "recurring pattern of enablers"?
- Does the metaphor extend to other roles (draughtsmen, for example)?
- What is the range of practices, in both fields, that goes beyond the stereotypes we hold both for building architecture and software architecture? Are many software perspectives of the archtectural metaphor colored by archetypes that hark back to the idealized architects that predate the industrial era? What are the ranges of responsibilities in current building and software architecture?
- What is the range of products built by architects in both fields, and the distribution of work across this range? Is most software architecture for parts of systems that rarely see daylight or receive any public exposure? Are most building architects, in fact, little more than project managers for small local projects?
A next step will be to design an exercise to elicit answers to a crisp subset of these questions, hopefully at a follow-on workshop at OT 2000.
Conclusions
There were several surprising conclusions from the workshop. From my perspective, the most surprising conclusion was that the software industry is further along in following the architecture principles of Christopher Alexander than building architects are. Among these practices is piecemeal growth: the fact that most software efforts are in fact an attempt to modify existing software. The economic investment follows the effort, which may suggest that software follows an economic model akin to that recommended by Alexander.
Attachment 1. Workshop Participants
Attachment 2. The Elements of Grounded Theory
From Naresh R. Pandit, The Qualitative Report 2(4), December, 1996 (http://www.nova.edu/ssss/QR/QR2-4/pandit.html)
The three basic elements of grounded theory are concepts, categories and propositions. Concepts are the basic units of analysis since it is from conceptualisation of data, not the actual data per se, that theory is developed. Corbin and Strauss (1990, p. 7) state:
Theories can't be built with actual incidents or activities as observed or reported; that is, from "raw data." The incidents, events, happenings are taken as, or analysed as, potential indicators of phenomena, which are thereby given conceptual labels. If a respondent says to the researcher, "Each day I spread my activities over the morning, resting between shaving and bathing," then the researcher might label this phenomenon as "pacing." As the researcher encounters other incidents, and when after comparison to the first, they appear to resemble the same phenomena, then these, too, can be labelled as "pacing." Only by comparing incidents and naming like phenomena with the same term can the theorist accumulate the basic units for theory.
The second element of grounded theory, categories, are defined by Corbin and Strauss (1990, p. 7) thus:
Categories are higher in level and more abstract than the concepts they represent. They are generated through the same analytic process of making comparisons to highlight similarities and differences that is used to produce lower level concepts. Categories are the "cornerstones" of developing theory. They provide the means by which the theory can be integrated. We can show how the grouping of concepts forms categories by continuing with the example presented above. In addition to the concept of "pacing," the analyst might generate the concepts of "self-medicating," "resting," and "watching one's diet." While coding, the analyst may note that, although these concepts are different in form, they seem to represent activities directed toward a similar process: keeping an illness under control. They could be grouped under a more abstract heading, the category: "Self Strategies for Controlling Illness."
The third element of grounded theory are propositions which indicate generalised relationships between a category and its concepts and between discrete categories. This third element was originally termed 'hypotheses' by Glaser and Strauss (1967). It is felt that the term 'propositions' is more appropriate since, as Whetten (1989, p. 492) correctly points out, propositions involve conceptual relationships whereas hypotheses require measured relationships. Since the grounded approach produces conceptual and not measured relationships, the former term is preferred.
The generation and development of concepts, categories and
propositions is an iterative process. Grounded theory is not
generated a priori and then subsequently tested. Rather, it is,
... inductively derived from the study of the phenomenon it represents. That is, discovered, developed, and provisionally verified through systematic data collection and analysis of data pertaining to that phenomenon. Therefore, data collection, analysis, and theory should stand in reciprocal relationship with each other. One does not begin with a theory, then prove it. Rather, one begins with an area of study and what is relevant to that area is allowed to emerge. Strauss and Corbin, 1990, p. 23. Emphasis added.)
. . .
Glaser, B. G., & Strauss, A. L. (1967). The discovery of grounded theory. Chicago: Aldine.
. . .
Strauss, A. & Corbin, J. (1990) Basics of qualitative research: Grounded theory procedures and techniques. London: Sage.
. . .
Whetten, D. A. (1989) What constitutes a theoretical contribution? Academy of Management Review, 14, 490-495.
REFERENCES
[Alexander1969] Alexander, Christopher. Major changes in environmental form required by social and psychological demands. Ekistics, volume 48, 1969, pp. 78-85.
[Alexander1977] Alexander, C. A., et al. A Pattern Language. New York: Oxford University Press, 1977.
[Archer1965] Archer, L. Bruce. Systematic Method for Designers. In Nigel Cross, ed., Developments in Design Methodology. Chichester: Wiley, 1984, reprinted from a work published by The Design Council, London, in 1965.
[Brand1994] Brand, Stewart. How Buildings Learn: What happens after they're built. New York: Viking (Penguin Group), ©1994.
[Dahlbom1992] Dahlbom, Bo. The Idea that Reality is Socially Constructed. In Floyd et al., eds., Software Development and Reality Construction. Berlin: Springer-Verlag, 1992, pp. 100-126.
[Darke1979] Darke, Jane. The primary generator and the design process. In Nigel Cross, ed., Developments in Design Methodology, p. 177. Chichester: Wiley, 1984, reprinted from an article in Design Series 1(1), 1979, 36-44.
[Grinter1999] Grinter, R. E. (1999) "Systems Architecture: Product Designing and Social Engineering." ACM Conference on Work Activities Coordination and Collaboration (WACC '99) San Francisco, California: February 20-22, 1999. 11-18.
[Jones1988] Jones, John Chris. Softecnica. In John Thackara, ed., Design after Modernism. P. 219.
[Mitchell1988] Mitchell, John. The product as illusion. In John Thackara, ed., Design after Modernism. P. 211.
[NATO1968] Naur, P. and B. Randell, eds. Proceedings of NATO Software Engineering Conference, Garmisch, Germany.
[Strauss+1998] Strauss, Anselm, and Juliet Corbin. Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory. London: SAGE Publications, ©1998.
[Weinberg1999] Personal interview with Jerry Weinberg, 31 May, 1999..
[WSJ1999] Petzinger, Thomas, Jr. The Frontlines: To get machines to talk to each other, two men write human language. Wall Street Journal, 14 May 1999, page B1.