As an architect observing and helping multiple teams build and maintain enterprise software, sometimes I think I am living in an alternate reality. I see systems fail on a nearly daily basis, teams under intense schedule pressure, a lack of awareness of basic developer quality practices, repeated failures of communication, servers taking weeks to provision, poor management oversight and planning, a lack of critical thinking - the list goes on and on. Yet many teams and managers act like this is normal or blame external factors, with no drive to continuously improve or tackle obstacles. Even acknowledging the issues would be progress in many cases.
When I talk about broadly-used industry practices that could help like agile development and continuous delivery I don't know which reaction bothers me more: the blank stares from people who have not heard of them, or the common refrain that such practices will not work or are not possible in this environment. (Actually, what bothers me the most is when I get both reactions from the same person, at the same time.)
Are my standards too high? While perfection like zero defects or 100% up-time is impossible to attain, surely we should strive to push ourselves to get as close as we can to those platonic ideals, in a cost-effective manner. (And most people, it seems, under-appreciate the hidden costs of poor quality.)
Yet sometimes in meetings I feel like I am attending the opposite of an intervention, where everyone reassures myself and each other that things are going okay, and there are no serious problems. Like that old Nintendo Gameboy commercial, perhaps I just need to take a large stick and wack myself upside the head in order to see the beautiful colors that everyone else is seeing, instead of seeing problems in black-and-white.
Should I give up? Join the ranks of those in denial or ignorance? Abandon the vision of how things could be better?
Absolutely not! That would violate my personal values and sense of professionalism. Great software is hard and requires highly motivated individuals pushing for it. To paraphrase a quote from Edmund Burke, all that is necessary for mediocrity to triumph is for good men to do nothing.
So I will remain the one seeing problems and being a voice for change. I call on all architects to grasp that vision of a better tomorrow and strive towards it.
My name is Basil Vandegriend, and I am an architect.
If you find this article helpful, please make a donation.