Thursday, January 25, 2007

Rebellion in wonderland

Do you know the feeling that somebody asks you a question about a decision you have made and you can't remember why you made that decision? Even more, with every question your decisions seems more and more unwise. Well, I just had this experience.

I have designed (actually put down a design that a team has come up with) a system that involves separating front- and back-end systems with a layer of request-response queues to improve robustness. The system has been mostly built already and is due to go into the QA cycle when some people in operations started asking questions about why we needed these queues. Indeed, as there has been a while since I was deeply involved in the design details, I could not come up with a better answer than "This makes the system more robust" without believing it myself. We ended up giving the topic a good brainwhacking and ended up with a decision to proceed as planned.

I guess this is something every project faces: at the very end somebody questions a decision nobody actually remembers reasoning for and manages to convince enough people that a design change is necessary. The only wise thing to do at this point is to note the suggestion and proceed as planned, because the cost of (and risks associated with) change goes up exponentially as the time goes. Hence, even small changes can prove disastrous at the final phase of a project. Ah, but the temptation is big and the guy might actually be right and if you as a project manager have not noticed the rebellion early enough a lot of people might already be infected and support the change. Tough luck, this is what you get for becoming a project manager. Or an architect.


Sergei said...

Actually I had probably more than 5 different, almost full, implementations of this thing during development. It is worth to note, that it wouldn't be possible to do without automated tests. Actually it is amazing, what a robust system came out of that, even our DBA's had a warm word about it :)

konnasööja said...

what about helping the tough luck with a few notes in a wikipage, at the time of the decision ;)