A lot of us solutions architects want to make things perfect. The need to achieve that architectural elegance is in our technical nature, but is that the right thing to do for your organization?
Business requirements are given to the technical team and the tech team needs to provide solutions. The job of solutions architects is to solve problems, not to achieve architectural elegance. Don’t misunderstand this statement.
- This does not mean that you don’t have any architecture.
- It does not mean that your code should be written the quickest way without any re-usability.
- This just means that your ultimate goal is to solve problems meeting the business requirements and in the process of doing that work, you can have architectural designs, coding standards, code reviews, and you can strive towards that ultimate goal of architectural elegance.
However, you cannot let the obsession for architectural elegance take over and negatively impact what business needs. You need to keep each other in check.
One may argue that if you met that architectural elegance means that you are not challenged enough by business and your company is really in cruise control without any innovation happening.
The analogy I like to use is: “Controlling a big ship in the ocean is not precise but that control is definitely steering the ship in the right direction”. And by the way, this ship is never stopping and it is constantly circling our planet. Therefore, you are hired to solve problems and in the process of solving problems you can keep the architectural elegance in your sight. As long as it is in your sight, you are heading in the right direction.
It is the “strive to get to the destination” and not the destination itself that keeps you going.
In conclusion, it is very acceptable for solutions architects to stand on their principles as long as those principles support the business and not just architectural elegance for the sake of architecture.
Thank you for reading.