The CMM & You

What’s process capability and organization maturity to you?

The answer to that question depends on who you are, what professional role(s) you perform and what interest, if any, you have in process.

I’ve written in other posts about what the Capability Maturity Model (CMM) is and how it has figured prominently in my own systems career. As a designated change agent, charged with teaching and leading CMM-based software process improvement, the model effectively capped and defined my IT career. So, my interest perforce was and remains comprehensive—the model in its entirety as a basis for organizational evolution. That meant formal training and certification for me, much effort by many people, and a series of formal assessments for my organization. That’s a big, expensive (time and money) undertaking that many IT shops could not afford.

If you are an IT executive and believe that aggressive pursuit of a formal process-capability or organization-maturity rating is imperative for your business model then, by all means, budget —for (expensive) staff training, many person-years of effort, and consultants expert in CMMI-based process-improvement—and have at it. I’ve been there, done that, and seen it tried in numerous organizations with mixed results. Done correctly, for the right reasons, it can be transformative for a group. Done incorrectly, for the wrong reasons, it can cost a lot of time and money with no tangible benefits.

Comprehensive commitment to staged implementation of CMMI, with or without formal training and assessments, is not the only way an individual or an organization can benefit from using the model.

For an organization, whether engaged in systems & software engineering or other disciplines, the model can serve as:

  • A sensible roadmap for process improvement
  • An educational resource on process and process-area relationships
  • An inventory of best practices across twenty-two process areas
  • A specific guide to assessing and improving process capability in any one (or more) of those areas
  • A generic guide to assessing and improving process capability in nearly any discipline

An important point to emphasize is that the CMMI is a document, available for download, not some expensive application suite that you must purchase and master to assess its utility and value. If you can read at a college-level and function within an IT (or other) organization, there is nothing in the model beyond your intellectual grasp. Sure, there are hundreds of fine-point details and relationships, but I summed up its essence in less than 1000 words.

If you are an IT executive—or director, department or project manager—cultivating an intellectual understanding of the model can give you an informal but objective basis for your own assessment of your group’s process capabilities and maturity and your own consideration of what areas offer the best prospects for an effective ROI from process improvement.

If you are an IT individual contributor—managerial, staff, or technical—the model offers a comprehensive set of best practices across twenty-two process areas for process and project management, systems and software engineering, and support. Your organizational role(s), job description, and functional assignment(s) lie at the intersection of some subset of those practices.

If you are a manager in some other discipline, there may be a specific CMMI model for you: including at present Integrated Product & Process Development (IPPD) and Supplier Sourcing. There is a People CMM (PCMM) for HR, and a Personal Software Process (PSPS) geared to individual and team softwar-engineering. I cite these to emphasize the generic applicability of the fundamental Capability Maturity Model.

If your professional discipline lies beyond these IT-centric areas, you can still benefit from study, understanding, and even application of specific model concepts and components. My experience and observations have led me to believe that three of the four CMMI categories—process management, project management, and support— can be applied to virtually any engineering discipline. I include any form of information engineering—including media, writing, and publishing—as well as service-disciplines (as diverse as marketing and health care).

Personally, in a second career as a digital media producer, I have applied many best practices from the CMM to studio processes for production, post-production, and distribution. I am also working on a Personal CMM project that applies capability and maturity to processes for life management and self-improvement. I’ll be writing about both “models” in future posts.

Your takeaway from this discussion—I hope—is that you can use and benefit from even informal and personal use of CMM for professional and personal growth and profit.

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.

Featured

Revolutions However Known

Systems, Process, and the English Major

In 1968, armed with a seemingly “useless” English degree, I was swept up and away into communication, computer, and information revolutions that since have rocked the world, and are still rocking it at full throttle. In “the Revolution (however known), I served as foot soldier, as mercenary, and led troops into battle as a program director, project manager, and team leader. This is how it happened.

By 1968, demand had spiked for people who could program and manage computer systems and telecom networks, information technology (IT) industries so new that there wasn’t yet an education infrastructure to supply them with trained workers. IT organizations had to grow their own first generation of programmer analysts.

Supply and demand intersected this story at a Bell telephone company that trained this “English major” (EM) first as a network manager and then as a computer programmer analyst. The EM learned a new language—assembly code—a cryptic 2nd generation language for programming third generation computers. Those huge amazing machines could do (or seem to do) multiple things at the same time. They read and wrote large volumes of data on magnetic tape drives as big as refrigerators and disk drives the size of washing machines. He wrote his first programs on cardboard punched cards—one card per instruction.

Within five years–the English major thought things had come nearly full circle. Now he typed code on a TV-like display terminal, writing in a 3rd generation “procedural” language—COBOL—that was essentially structured English. Another computer program translated “high level” Cobol into the “assembly code” he’d first learned to write so that the computer could execute it. That was a programming language revolution—from machine code to English—and a system/IT revolution—software compiled translation from English into machine code. These were early fruits of “the Revolution” that was changing—everything.

Over the next seven years, the English Major surfed the revolutionary waves across various emerging technologies—timeshare networks (computer time not condos), parallel programming with multi-tasking, and minicomputers. He ended the 70s with a sabbatical year and an extended meditation retreat to an ashram in India. “On the cushion,” he experienced new insights—that “everything is a verb”—a process; that every system is an attempt to control some process; that every process (or system) is actually a sub-process—and that includes computer programming, himself, and his mind. In fact, his mind seemed to have a lot in common with software.

That sabbatical was excellent priming for two simultaneous appointments—one full time as a lead analyst at Harvard University’s Office of Information Technology and one part-time as course designer and instructor at a post-graduate systems training school.

Mornings, he would try to teach liberal arts graduates (EM newbies) to think like computers in structured, logical, and relational terms.

The rest of the day, across the river at Harvard, he researched and prototyped new fruits of the Revolution: microcomputer systems, relational databases, structured development methodologies, 4th generation—non-procedural—programming languages, and expert systems—a step toward AI. He worked on a “virtual machine” in a networked system environment that extended off campus into something called The Advanced Research Projects Agency Network (ARPANET) that turned out to be a precursor to our Internet.

At night, as he planned the next morning’s lectures, the EM would reflect and ruminate upon the explosive progress of the new technologies that were inundating the culture—and his own mind. He saw human software process lagging far behind technology. He tried to render all this in relevant terms and concepts he could use to teach. One student observed, “You’re not just teaching us to program computers; you’re teaching us how to think—about everything!” He saw the graphs of revolutionary change accelerating, converging and veering toward the vertical and told his students (in 1983) that he could almost imagine how things might change until some time in the 90s. Beyond that, in the new millennium, he said, “It’ll be science-fiction.” He was right about that and here we are “in that future”—supercomputers, pocket computers, smart phones, and the World Wide Web.

Bursting with ideas, the English Major set out as a systems samurai consultant for ten years to apply some of what he’d learned at Harvard and in teaching. He used his 4th generation programming and relational database expertise to lead RAD (rapid application development) projects. The projects included systems that assisted AT&T through divestiture of its Bell-system companies; a metadata-driven COBOL code generator; a computer-assisted budgeting process for a Federal Reserve Bank; and a system for translating and migrating 4th generation programming code between Unix and IBM VM operating environments. The unifying theme in his work was visualizing software development as a process and automating or at least computer-assisting that process.

Software process and software process improvement was his sole focus in the final decade of the English Major’s IT career. He let technology—the “what” of IT—rocket past and beyond him while he focused on the “how.” He hadn’t given up on computer-generated software but realized its ultimate fulfillment lay with rapidly evolving AI.

Meanwhile, he saw an IT industry beset and burdened with development and support of an ever-growing inventory of human-programmed systems. He became intrigued with software process as a means to “program the programmers and software managers.”  

The English Major became an expert in the Software Engineering Institute’s Capability Maturity Model (CMMI) and the Six Sigma Black Belt process for quantitative process-improvement. He spearheaded one IT department within his global-financial-services employer in its rapid evolution to CMM Level 5, the highest capability maturity rating—the first American group in the finance sector to earn that distinction. His “reward” was the disbandment of that elite department and his own early retirement—and that’s a story for another post.

Dispirited and unwilling to return to corporate IT trench warfare, the English Major pursued a second career in writing and video production, where he still employs some “software” process best practices to improve productivity and quality assurance in digital media management and production. A process is a process. Making a movie—even developing a screenplay— share much common process with developing a software product—they are all Intellectual Properties (IP)—and they all benefit from some of the same best practices.

He’s never stopped thinking and journaling about systems and process, not the technology so much as the social science, psychology, and philosophy—and the diverse opportunities and potential benefits of “process thinking” both inside and outside the IT industry. He still reflects and ruminates on systems and process at night, and still dreams about adventures and misadventures in his IT career.

Now, the English Major has embarked on a third career—“coming home” to write about what he’s learned—as a blogger, copywriter, and author. He intends to focus on the human side of the software process more than the technology. The English Major plans to keep it simple and hopes to entertain, inform, and even inspire readers within and outside IT.