The Software Engineering Cultural Patterns

In these volumes, we've made extensive use of the idea of software cultural patterns. For ease of reference, this appendix will summarize various aspects of those cultural patterns. To my knowledge, Crosby was the first to apply the idea of cultural patterns to the study of industrial processes. Crosby discovered that the various processes that make up a technology don't merely occur in random combinations, but in coherent patterns.

In their article, "A Programming Process Study," Radice, et al. adapted Crosby's "stratification by quality" scheme to software development. In his book, Managing the Software Process , Watts Humphrey of the Software Engineering Institute (SEI) extended their work and identified five levels of "process maturity" through which a software development organization might grow.

Other software engineering observers quickly noted the usefulness of Humphrey's maturity levels. Bill Curtis, then of MCC, and now at SEI, proposed a "software human resource maturity model" with five levels.

I believe that each of these models represents points of view of the same phenomenon. Crosby named his five patterns based largely on the management attitudes to be found in each. The names used by SEI are more related to the types of processes found in each pattern, rather than to the attitudes of management, a la Crosby. Curtis made his classification on the basis of the way people were treated within the organization.

In my own work with software engineering organizations, I most often use the cultural view combined with Crosby's original focus on management, and on attitudes, but find each view useful at various times. The following summary incorporates material from each point of view.

Pattern 0. Oblivious Process

Pattern 1: Variable Process

Pattern 2: Routine Process

Pattern 3: Steering Process

Pattern 4: Anticipating Process

Pattern 5: Congruent Process

QSM/CulturalPatterns (last edited 2019-05-07 23:06:22 by 정수)