Here are a few:
Without an architect, the project doesn't choose the best solution.
Purely from a software development point of view, our main desire is to get things "working". The thought always is to have something working which we can later refine. While, this could be a very good way to begin things, the problem is that we usually end up not wanting to change that initial implementation because it's too disruptive.
Since Architects (usually) don't have the immediate task to code, they come up with the best solution with the sole aim that the solution in itself is the best one and not necessarily because it can be coded by someone in the team. This sometimes does lead to a problem where the solution is too abstract or is simply not feasible but that can be discovered early by enforcing a tighter working relationship between the architect and the programmer.
Without an architect, the project lacks technical innovation.
This is highly subjective but most architects I know are always up to date with the latest technology and have a desire to use that technology to solve the particular problem that the technology was intended to solve. Without an architect,:
- you either don't have someone that well informed
- or you don't understand what the exact problem that can be solved by a particular technology
- or you don't know how to use a particular technology to solve future problems.
Without an architect, the product/project is not future proof.
Architects bring a lot to the table but if a product/project doesn't have an architect(let's say has a lot of senior developers), then in most cases they wouldn't even know what they are missing. As per the team the development is going as per plan, they are progressing and the milestones are being met.
The problem is discovering (hopefully early) that the product/project
- is too rigid
- lacks adequate support for non-functional requirements
- progressively becomes harder to implement complex features
- discovering problems becomes very difficult.
This probably summarizes my main points and being an architect, gives me some satisfaction....
Facing this very question in a product team that is growing, I cannot agree more.
ReplyDeleteThanks for the interesting thought...