architect-handbook

Software Architect Handbook

View on GitHub

Developer Struggle

The dilemama for software developers is that business managers are not equipped to evaluate the importance of architecture. Thats what software developers were hired to do. Therefore it is the responsibility of the software development team to assert the importance of architecture over the urgency of features.

Fulfilling this responsibility means wading into a struggle. Development team has to struggle for what they believe to be best for the company, and so do the management team, marketing team, sales team, and operations team.

Effective software development teams tackle the struggle head on. As a software developer, you are a stakeholder.

Developers have a stake in the software that they need to safeguard. It’s part of their role and their duty. And it’s a big part of why they are hired.

This challenge is doubly important if you are a software architect. Software architects are, by virtue of their job description on the structure of the system than on its features and function. Architects create an architecture that allows those features and functions to be easily developed, easily modified, and easily extended.

If architecture comes last, then the system will become ever more costly to develop, and eventually change will become practically impossible for part or all of the system.