Perfect architecture or just enough architecture

Have you ever debated the amount of architecture needed? If you have began your career progression as an architect or a software engineer with the role of architect, you probably have questioned the appropriate level of architecture. Terms will be thrown around like explicit architecture versus intrinsic architecture. Maybe intentional architecture versus organic or emergent architecture. Either way you begin to question what is the right level of architecture for your solution.

If you have experienced things like I have in my career you go through waves where you think you have all the answers to find out they were all the wrong answer. The truth of the matter will become clear at some point that there is not a perfect architecture, there is only the architecture that meets the needs today. Eventually it will get broken. If not by use by time.

I feel the job of the architect whether it is role or whether it is a position is to minimize the risk of change. This means usually putting just enough architecture in place to make it easy to change later. This is more art than science. This is where the engineering brain you may have will beat you up. At some point you have to be able to work in the grey or you will not make it in your career.

I feel like I’ve reached the point in my career where I know how far to go without killing a business or killing the engineers that work on the project but I’m sure others may have different opinions. Either way I’ve learned to get out of the way more and not feel like I need to architect every aspect of the software. At the end of the day no one cares about the architecture except the architects and the engineers that have to change the system, unless you have a very technical product team that understands the trade offs. Your customers whether internal or external do not care as long as the software meets their needs. They will care if they are paying regular though whether you can add additional value and that is where the customer unintentionally will care about the architecture whether they know they do or not.

What are your thoughts? Is there a perfect architecture? Is there ever enough architecture? Does your organization care about architecture? Do they understand the need?

I’d love to have some conversations on this topic with others. Catch me around other meet ups and conferences if you get a chance.