The illusion of costs incurred by having to change something late is a very real part of every day life in the IT industry. We have been schooled to think that late change is bad and should be avoided at all cost. Yet, we can and do accommodate, embrace even, late change every day. The question is how to make the change less expensive.
Generally speaking, I would name two contributors to the cost of late change: excessive bureaucracy and bad quality.
We have traditionally tackled late change by introducing change control boards and change request management, which has increased the cost of making changes significantly. According to my experience with a number of "enterprise projects", we have not actually succeeded in managing change using these processes. We have prevented change from happening but at what cost? The process of pushing a change through the organization in place is generally slow and requires non-trivial effort. At the same time, we're decreasing our throughput—the very thing that defines our productivity.
Often, the need for the change in question is real. Why should we purposefully prevent that need from getting fulfilled? Wouldn't it make more sense to serve our customer's needs as effectively as we can?
Bad quality is another very real problem with many software projects today; just like it has been for as long as I've been in this industry. Preventing change is a good way to avoid getting rid of that problem among others.
Unlike some, I said "yes".
No, not Microsoft. I recently resigned from Accenture after some 3 1/2 years of a variety of (mostly) J2EE delivery projects, good company, and challenging projects. There were downsides, of course, but I feel good about those 3+ years.
As of a couple of weeks ago, I'm offering my services through an IT consultancy named Reaktor Innovations, located right here in Helsinki downtown, dedicated to deliver quality software on time while enjoying what we do. My role within Reaktor involves delivery projects, training and mentoring, supporting sales, and contributing what I can to the company's already extensive experience in adapting agile software development methods.
I'm feeling excited and energized. I cannot overstate the delight of getting to work with such a number of professionals who think about software development the way I do.







