On many occasions software architects get asked “are we there yet” from teams, managers and even executives.
The answer to this question is not so simple, when can we cut off architecture and hand over to the development team. The answer was quite simple during water fall software development lifecycle. The requirements would be frozen (at least theoretically), architecture team has a clear start and end points.
When it comes to Agile development, the product is split into multiple sprints, and ideally the architecture team is well ahead of the development team at least a few sprints ahead.
But still question is did the architecture team do enough before handing it to over development teams.
The answer is “it depends” on many factors:
- Regulatory requirements for the product before Start of Production
- Security requirements
- Safety requirements
- Organization structure
- Teams’ domain and programming knowledge on an average
- Distribution of the software teams across different time zones.
When you start seeing the pull request or discussions with the team aligned more and more to software architecture team, then the divide between architecture and development has been more or less closed.
If you still see that there is divergence , then best approach is to have architecture workshops to bring all the folks together. Also attention needs to be paid to new folks who are joining the team.
So software architecture is as much team sport along with technical skills , experience of past product launches and also past failures collectively across complete software team.