Capability Maturity Model Integration (CMMI) and Me

A brief history

After getting a degree in English Literature and writing in 1968, I joined the exploding information revolution, training as programmer analyst.

My IT career spanned computer and OS evolution from early third-generation mainframes through virtual machines—from flat indexed files through hierarchical and relational database—through numerous generations of Moore’s law chip evolution in minicomputers, microcomputers, tablets, and smart phones—from LAN through WAN and VPN—from Arpanet to the Internet and web-based applications. I designed, led, and managed development of online data based information systems for organizations as diverse as Harvard University, AT&T, the Federal Reserve Bank, and Merrill Lynch. I also did groundbreaking work at those institutions in methodology, CASE, and software process.

At Merrill Lynch (ML) in the decades on either side of the millennium, my career intersected with the Software Engineering Institute’s Capability Maturity Model for Software. CMM-based software process improvement became my full-time job for the remainder of my corporate IT career. I had formal SEI training as an Assessment Team member and participated in a number of weeks-long projects and gap analyses to assess organizational process maturity in numerous ML/IT departments. I became an SEI-certified CMM Trainer and presented numerous overviews and formal classes. At my corporate home base, the Jacksonville Solution Center, I was a leader in that department’s rapid evolution to CMM Level 5, the model’s highest organizational maturity rating. We had quantitative project, process, and quality management, and a program for continuous process improvement in all process areas addressed by CMM-SW. Along the way, I also received formal training as a Six Sigma Black Belt, which enabled me to develop the quantitative analysis and management practices necessary for CMM levels 4 and 5.

The CMM was evolving, even as we worked to apply it. The base CMM had been applied to numerous disciplines, in models for systems engineering, software engineering, software acquisition, workforce practices, and integrated product and process development. A comprehensive model, aptly named CMM Integration (CMMI), was released and is now the de facto standard.

After my departure from ML, I “discovered” another discipline that benefits from CMM integration. I’ve had a second career in digital media production, operating a “boutique” studio. I quickly realized that CMM processes were applicable to studio work. Although there are obvious differences between system/software engineering and media production, there is some overlap in project planning and management, requirements development & management, product integration, verification, and validation. I have informally adapted specific practices to plan and manage media projects, to continuously improve my process for making, editing, and distributing digital media, and to manage an ever-growing archive of digital media and reusable project assets.

My IT career left me with two lasting legacies that are relatively independent of galloping information technology: a systems/process analysis skill set and understanding of CMMI—as a model—and its specific practices for software engineering. I can still analyze requirements and develop a structured model of an application (or business process) and I continue to experiment with, reflect upon, and write about the CMMI’s profound utility and application in a growing array of disciplines—including media production.

I plan to explore the model over a series of articles in this blog and maybe a book. I write to consolidate, enhance, and share my own experience and knowledge. I don’t presume to write for experienced CMMI “experts”. I write for IT executives, managers, analysts, designers, and engineers who may want or need to learn more about the subject and may enjoy “readily digestible” forays into discrete aspects of the model’s daunting complexity. I also write for managers and practitioners in other disciplines who may be curious to see what a capability maturity model might offer to their work.

If you are interested, I invite you to “follow” this blog and join me on this journey of exploration and discovery.

All is Process

There is no such thing as “you.” There are no things—only processes.

Image by WikiImages from Pixabay

What we think of as things— are actually our mental snapshots of processes that are continuously unfolding in time.

A rock seems to be a thing because it seems unchanging—it’s actually “rocking” along very slowly through its own life-cycle as a small sub process within larger geological processes.

Heraclitus, a pre-Socratic philosopher, is most often cited for his maxim, “No man ever steps in the same river twice.” It’s probably one of the Ur-philosophical memes of western civilization. You’ve read it or heard it from philosophers, gurus, and your stoner friends. Maybe you’ve even said it yourself.

Heraclitus used “river” to illustrate the primacy of process—ever-changing process. That “man” stepping into the river is a process too. The next time that “man” steps in that “river” neither will be the same. Process—“everything”— is always irreversibly changing—subject to “time’s one-way arrow.” All is change and motion.

You are a process. As Buckminster Fuller famously said, “I seem to be a verb.” We are all verbs.

You are a single instance of a human being— a process with an approximate cycle time of 80 years —from conception through death. Like every process, “you” are always changing—are not the same physical or mental human being that began reading this post. You change, in countless ways, on every level of your being, every moment. Being human is the most complex process in the known cosmos—worthy of profound awe and respect.

There is one primary parent process in our reality—the cosmos itself. It emerged from a single point as a big bang that’s banging still and will be through its own cosmic life cycle, which physicists are still trying to figure out.

Every phenomeno within this universe—space, time, matter, gravity, galaxies, suns, planets, life, you— is a sub-process that has emerged from and within that ongoing explosion. Sub processes emerge and unfold within parent processes. They are nested like Russian dolls.

You are nested within your family process, which is nested within human processes—political, socio-economic, and cultural—that are nested within myriad levels of Earth process—and so it goes up to the cosmos—the BIG DOLL. It’s not neat and hierarchical—nature loves networks. Processes interact and overlap in complex webs of relationship. A process may have many parents, siblings, and relationships, and likely has sub processes nested within it—just like you do.

Yeah, this is “deep stuff,” worthy of reflection and it’s all been said before, one-way or another. So, what’s my point here? What’s your take away as a human being, a systems analyst, engineer, manager—or whatever?

Process is primary; systems are not.

Process antecedes, precedes and supersedes any system we impose upon it.  A guru once observed that, “All systems are foolish.” In the sense that we think systems can actually control process that may be true.

Every thing is a sub-process and unfolds within a network of related processes.

This is—or should be— one of your primary axioms as you try to understand any process—anything. Nothing, no process, exists in a vacuum.

Don’t make the mistake of thinking you can understand any process in isolation—yourself or any person, any “thing”, any situation, any natural process or any human system.

You hear much lately about how “Content is king.” I would argue that, “Context is king.”

How many people are dysfunctional because their personal and interpersonal processes are askew or not synching?

How many relationships have you seen fail because one or both parties failed to comprehend the family, social, or cultural processes within which they emerged? Those parent processes shaped them and—like it or not—still operate within them.

How many business ventures fail because entrepreneurs fail to understand the community, market, or legal system within which the venture must operate?

How many political campaigns fail for the same reasons?

Throughout my IT career, I saw numerous software projects fail because they were developed without due consideration, understanding, and integration of the project’s process context. The software process used in development, the business process being automated, a parent application to be integrated, an operating system, a network, the sponsor, the regulatory, social, and economic systems in which it must operate—all need to be considered in a successful software project—or software venture.

This may seem like common sense and, in my experience, it’s anything but. What’s your take? Leave a comment . . .