Is it OK if the Scrum Master and Architect is one person? I clearly understand why it's bad idea to combine Scrum Master and Product Owner roles: conflicts of interest, SM cares about development, PO cares about the business. However, I'm not sure what is wrong with being both the Scrum Master and an Architect at the same time.
Scrum Master and Development Team Roles Can Conflict
Is it OK if the Scrum Master and Architect is one person?
Presumably the Architect is considered a member of the Development Team. The Scrum Master role is a distinct role with the responsibility to be a process referee, whereas the Development Team is charged with implementation.
While it's technically feasible for one person to fulfill both roles, it is much more common to see a conflict between the requirement to deliver and the requirement to facilitate a formal process.
In addition, the time required to perform both roles also represent a conflict of interest. For example, if you have one day to implement an architectural story that your team is depending on, as well as Scrum Master tasks such as impediments to clear or a long Backlog Refinement session to attend with the Product Owner, which do you prioritize? If you can't do both without cutting corners, then you serve neither role properly.
As with all things, your mileage may vary. However, it won't vary by much if you're implementing Scrum properly. Also note that if you're looking to avoid budgeting an extra resource for one of the roles, you'll still pay for that resource in lost team capacity because TANSTAAFL.
I can speak from some experience, as I'm currently both Scrum Master and development team member (such as an architect, who is 'just' a development team member in Scrum terms). Though often frowned upon, this is possible and not explicitly forbidden. For me, this part in the scrum guide is the most indicative and grants us some freedom:
The Scrum Team consists of a Product Owner, the Development Team, and a Scrum Master. Scrum Teams are self-organizing and cross-functional. Self-organizing teams choose how best to accomplish their work, rather than being directed by others outside the team. Cross-functional teams have all competencies needed to accomplish the work without depending on others not part of the team. The team model in Scrum is designed to optimize flexibility, creativity, and productivity.
Note that the entire Scrum team is mentioned, not merely the development team. That being said, a number of conflicts may arise:
- Time: as mentioned by CodeGnome, there are days when the Scrum master and the development role need full attention. Especially near the closing of the sprint, a developer is in the heat of wrapping things up to finish stories, while the Scrum master probably needs to facilitate the Product owner in backlog management.
- Goals: the entire Scrum team is committed to the sprint goal. However, a proper Scrum master maintains a coaching agenda as well. On some occasions, this may mean that the Scrum master needs the team to experience a form of failure, for instance not fully finishing a user story, for them to learn, inspect, adapt and improve. As a developer, you never want this to happen, you want to succeed in the best way possible. This conflict may turn the scrum master into a 'scrum mom' who chases after everything to keep the team successful. This ends up looking a lot like an embedded project manager or servant micro-manager at the least.
- Confusion: during formal events for inspection and adaptation, it can be hard for other team members to know who's speaking. The scrum master, or the developer? As a developer you may want to express a strong opinion during the retrospective, but no-one can tell as whom you're speaking. This runs the risk of coming across as an authoritative Scrum master, which starts to look a lot like a team lead. As silly as it might sound, you probably want to start all your sentences with 'speaking as a developer / scrum master'.
That all being said, experienced teams with a strong bond can handle this mix-up in most cases. Then again, it's never the ideal situation.
The Scrum Master role provides two things to the Scrum Team:
- It helps the team to resolve impediments
- It helps to ensure the team is following Scrum by providing coaching and facilitating Scrum ceremonies
If an individual can provide those two things then they can do the Scrum Master role.
There is nothing to say how long these activities will take. In a large team that is new to Scrum and in a difficult business domain the Scrum Master may well be very busy. In a smaller team, or with a team that is very experienced there may be a lot less for the Scrum Master to do.
The key is to see the Scrum Master as providing a service to the team. If they can provide that service and have enough time to do other things then that is fine.
I have often worked with teams where the Scrum Master role is performed by a non-specialist team member. I have seen developers, testers and a business analyst perform the Scrum Master role. I have not worked with an architect in the Scrum Master role, but I cannot see any reason why this would not work.
It is difficult to see any conflict of interest between the Scrum Master role and any other development team role. A Scrum Master does not have authority over the team, so they cannot tell them to do things. The Scrum Master also doesn't have final say on technical matters. The team as a whole makes technical decisions via consensus.
@Barnaby Golden says they find it "difficult to see any conflict of interest between the Scrum Master role and any other development team role." I can see (and have seen) plenty!
Consider an architect that has a Developer role on two teams: can each Team respectively hold the architect fully accountable to their Team? I can imagine a scenario where 'urgent unplanned work' arises on one Team, the architect jumps in on that Team and the other Team is left high and dry resulting in a failed Sprint for them.
Now consider a single Team where the architect has both a Developer role and the SM role: when some 'urgent unplanned work' arises for the Team, how does the architect react? Does the architect jump into full SM mode to ensure psychological safety is maintained, the Development Team is does not over-commit, protect from outside meddling (mandatory overtime etc)? Or do they dive into full Developer mode and start 'facilitating' whiteboard sessions, writing and reviewing code, helping test, actively removing Impediments, etc?
I have worked on multiple Scrum Teams which had a Developer+SM person and they always reverted to Developer mode and the first thing to go out the window was psychological safety i.e. just when we needed a SM most of all.
Of course in theory there is no reason why the architect cannot continue to do both roles to their full. But can you imagine these conversations happening?:
- The architect as SM holds the Development Team to account for not holding the SM to account for not being an SM when they need one?
- Architect: "...so we forecast we will narrowly miss being done by the end of Sprint with the amount of work and six FTEs." Project manager: "But you have 6.5 FTEs?" Architect: "No, under these circumstances I've reverted to full SM mode. I won't be contributing further to the Increment." Project manager: "Ah yes, of course. I totally get that."
OK, I'm being a little facetious but you get my point. There can be real conflicts of interest and, for whatever reason, it is the SM role that suffers.
@Barnaby Golden mentions services to the Team but not the other two: services to the PO and to the organisation respectively. In my experience, I've not seen a Developer+SM person who has provided these services effectively -- and usually not at all -- because they are too focused on their own Team. There usually aren't enough hours in the day.
The bottom line for me is this: those of us who have worked on a Team where the SM is a career SM/agile coach, is full time and fully dedicated to the SM role, knows the value that such a person brings to the Team and, given the choice, would opt for this scenario every time. I feel that, if someone thinks a Developer+SM does not in some way compromise the SM role, then they have yet to work with a really good SM person.