software development

Software is Different

When people discuss software development, there is a certain tendency to overgeneralize. One should be careful to respect legitimate differences between some of the areas being compared.

Software as Engineering

The term “software engineering” has become fashionable in recent years, implying that software development is really just another specialty within the general area of engineering.

Documentation

“Documentation.”

The mere mention of the word can cause visible shivers in many software developers.

While it is possible to talk about various types of documents and models in much more specific ways, and the relative value of each within specific methodologies, there is also considerable value in looking at this entire class of work products in general.

Why is it so hard?

This may seem like a painfully obvious truism, but most software developers are binary thinkers. The bit is either on or off. My program compiled without errors or it didn’t.

CMMI

Book by Mary Beth Chrissis, Mike Konrad and Sandy Shrum

Published in 2006

5 Stars

At times it seems that the software development world is equally divided between those who worship the CMMI and those who vilify it.

While the role of software in our society has grown tremendously over the past several decades, the industry has also been plagued by what is often called “the software crisis,” resulting in hugely expensive projects that are ultimately cancelled, or completed late and over budget, or that result in defective or simply mediocre products.

CMMI as a Developmental Model

Since the CMMI is in some ways a developmental model, it may help us to better understand its strengths and weaknesses if we compare it to other, more general, developmental models.

The Integral Approach, as espoused by Ken Wilber and others, is a much broader system that can be applied to individuals, to organizations and to entire societies. It too includes a developmental model, with levels identified by colors rather than numbers, as well as another dimension subdivided into quadrants.