Future of Solution Architects in Agile
Some time ago, I was discussing with some others agile advocates and practitioners about the future of the project teams in the Agile world. The focus of the conversation was on the role of the Solution Architect (SA) in Agile projects. I don't think that in the future, we will work only in Agile, but I definitely think that Agile will be very present in the future.
In Agile projects, often, the roles are distributed homogeneously. You might have a member of the team acting as Scrum master, but generally, all the members have a similar skill set, and the roles are interchangeable. In Scrum, at the beginning of the sprint, all members will be focused on the planning and design, then all will move at their own peace to the development and at the end, everybody will be focused on the testing. This gives a holistic view of the development process to each member. The synergy will allow them to have better control of the process, and on how to improve how they work together.
When the time-frame to have some visibility on the developments are high, the business owners (e.g. business analyst, product owner) may not be technical enough and their interaction with the project team might be challenging. The SA can provide a more complete view on the progress to the business owners and will be able to adjust the whole design if new requirements or blockers come up.
In Agile, projects are often developed iteratively, and the time-frames to see the individual deliverables is minimal. The business owners are much more in control of what it is developing. Hence there is no longer a need for an intermediary.
In Agile, it is more important working software over comprehensive documentation. A robust design with comprehensive documentation will allow you to build the same deliverable with a very basic development team. However, if the requirements are not that clear from the beginning, or the product needs to evolve, might be more suitable for a different approach. Working iteratively with small deliverables allows the business owner to have more control on the development and to react to change faster. Bear in mind that the members of an agile team often have a homogeneous skill set, and the strength of their results rely on the synergy of the team rather on individuals.
In an Agile team, all the members are the same, and they all take the same activities. Any role focused only on certain activity can be at risk of becoming obsolete. Perhaps, the future of SAs in Agile is to join the rest of the team and be one more, or perhaps they move out of the delivery team to work closely with business owners to orchestrate deliverables and goals in a longer term.
While in traditional projects, the SA will keep playing an essential role, I think that in Agile projects, they might be displaced outside of the delivery team to work closely with customers, business analysts or product owners.