Conscious Development

What do I mean by “conscious”? Merriam-Webster says:

Conscious: [kän(t)-sh&s]

1 : perceiving, apprehending, or noticing with a degree of controlled thought or observation

7 : done or acting with critical awareness conscious effort to do better>

I agree with these definitions. Conscious development as opposed to Development by coincidence (Dave Thomas & Andy Hunt: The Pragmatic Programmer).

So why conscious development? What is the problem? Day after day we seem to fall on the very same old trap: “we just happened to succeed, let’s celebrate!” In the rare cases that we succeeded.

Most often our projects fail. Many researches have been done, and most of them are saying something like “50% of our projects are total failures, 30% are partial failures”. And why is that? I guess this is the most often asked question in the era of software process improvement.

Many answers have been given. Many silver bullets have been proposed. Many new methodologies have been born. We have seen CMMI, Rational Unified Process, Agile software development, Responsible development and even eXtreme Programming etc. Every single method of those works. And every single one of those fails. By coincidence.

I am not about to announce a new methodology (at least, not yet ;) ) Conscious Development. Instead, what I want to say is this: Whatever methodology you use, you have to make decisions. You had better make them consciously.

I’ve seen so many projects where people just randomly pick up a process, guess a schedule, code the product by coincidence, test it slightly and happily release it some time. Or not. And they will tell you the day before deadline whether they are going to release the software or not.

This is the problem I want to solv… no. I’m not able to solve it. This is the problem I want to bring into YOUR CONSCIOUSNESS!

You can leave a response, or trackback from your own site.