- Role
-
define a blueprint for what needs to be built
-
ensure the team has enough details to get the job done
-
guides the rest of the team toward this design during execution
-
talks to stakeholders
-
it’s possible to do the architect’s job w/o coding:
- one must understand the low-level details, constraints and complexity
First of all, a software architect is a programmer; and continues to be a programmer. Never fall for the lie that suggests that software architects pull back from code to focus on higher-level issues. They do not! Software architects are the best programmers, and they continue to take programming tasks, while they also guide the rest of the team toward a design that maximizes productivity. Software architects may not write as much code as other programmers do, but they continue to engage in programming tasks.
-
create a shape for the system that recognizes policy as the most essential element while making the details irrelevant
- this also allows decisions about the details to be delayed and deferred
-
takes late decisions and shapes the Software System in a way that decisions can still be deferred or changed for as long as possible
- also maximizes number of decisions not made
-
Software Architect