Great question earlier on this blog about what about the concept of good enough. Beyond good enough what about the road not taken.
As we consider the concepts of ethics and software architects there are two distinct divergent paths. The easy way is to continue down the path that has been before. The harder way is to make the changes that will result in more efficiency and eventually a stronger solution.
It is the upgrade dilemma. I asked a few month’s ago and got a number of brilliant responses about responsibility beyond design. It has always been held that the software architect must be involved in the deployment of the designed solution. But is the architect responsible beyond that deployment? When the solution as designed is designed for a system that shifts to the left or right post deployment is the architect responsible.
Within a code of ethics are the boundaries of a profession. For software architects it is important to note that the first couple of boundaries have to do with removing personal bias. The drive reason for that is the potential that you will be bound to your solution for the rest of your career. Software Architects can end up having great careers on one success, or be see as failures because of one failure. That one solution can change your career and the perception of you as an professional.
You will notice in Draft 5 of the Code of Ethics for software architects there isn’t a mention of time. That the architect owns the solution beyond deployment. If you have gathered requirements without bias and selected technology without bias, you don’t own the solution after deployment. Unfortunately the success or failure of that overall solution you do own.
There are professions that live in the same reality as Software Architects. The what have you done for me lately and what did you do to me last time. I love American football. One of the things that the announcers always say really resonates for software architects. They always say “cornerbacks have to forget.” If they make a mistake and it costs their team 6 points, they have to line up the next time and play the game. That is what software architects have to do. If we make a mistake we have to own and move on. We have to have short memories.
The business may not have short memories but the software architect has to have a short memory. Own the mistakes that you make every time.
working through the ethics of the software architect profession…