Posts made in November, 2008


Continuous Improvement Experiments

If, like me, you believe strongly in championing continuous improvement then an obvious question is how exactly can continuous improvement be implemented? One answer I have come up with is something I call continuous improvement experiments – CIE for short. What is a Continuous Improvement Experiment? The idea is simple: a CIE provides guidance via […]

Becoming a Champion of Continuous Improvement

I am pleased to announce that I am a Champion of Continuous Improvement. The story of how I became such a champion starts a few months ago when I spent some time reflecting on my mission / purpose / vision as a professional software developer and architect. I was inspired to do so by two […]

The Most Effective Method of Quality Assurance

The goal of quality assurance (QA) activities is to ensure that a particular work product is of sufficient quality. Work product most typically refers to the software making up the system, but can also be applied to related documentation (requirements or design) or even processes. Two common methods for doing QA are reviews and testing, […]

Cyclic Incremental Growth in Software Systems

I recently read an interesting research paper titled Metrics and Laws of Software Evolution – The Nineties View by Lehman et al in the 1997 proceedings of the Software Metrics Symposium that discusses eight laws of software evolution. One set of graphs within the paper jumped out at me: they show the incremental growth of two systems over a series of releases. The graphs shared a common pattern: releases with higher than average incremental growth tended to alternate with one or more releases with lower than average growth. What are the implications of this commonly observed behavior for developing and using software? How can we use this pattern to our advantage? Read on to see my answers to these questions.