For Scrum, the agile product development process being used to develop Creo, one key role, that of the ScrumMaster, is fully committed to both the scrum process and the development of Creo 1.0 – they are the enforcers.
At PTC, ScrumMasters are uniquely talented and have god-like powers, often having developed their skills in complex project management and activities spanning development teams across the globe. We caught up with Shawn Bellmore, the ScrumMaster for the new Creo direct modeling app (Creo Direct), to find out more about his role.
GH: Can you describe your role?
Bellmore: My role as “ScrumMaster” is to maintain the Scrum processes. I’m the one who makes sure the teams are following the agile process, are running sprints and sprint reviews as planned, and are delivering on their commitments.
GH: ScrumMasters are often labelled as enforcers- why is that?
Bellmore: A major part of my role is to remove impediments to the ability of the team to deliver the sprint goals and deliverables. I ensure the team is following the process that we have agreed upon.
GH: That sounds a little ominous.
Bellmore: Not really – the ScrumMaster is a buffer between the team and any distracting influences. The ScrumMaster ensures that the Scrum process is used as intended. The ScrumMaster is the enforcer of rules. A key part of the ScrumMaster’s role to protect the team and keep them focused on the tasks in hand. I want to make sure each sprint runs well, and that we deliver what we’ve planned – at all cost.
GH: Now it sounds even more ominous – give me an example of some distracting influences and how you’ve been able to keep the team focused on the task at hand.
Bellmore: You can imagine that it’s very easy in a rapidly moving environment to add new requirements to a sprint during the actual sprint. It could be that the team themselves add a requirement or an external influence adds a requirement. That can’t happen during a sprint.
GH: But that doesn’t sound too bad – staying flexible and taking inputs.
Bellmore: It endangers the sprint, changing or adding requirements can result in a poor outcome – to the detriment of the team. The way to stay flexible is to discuss requirement changes for the following sprint, not the current one.
GH: So apart from protecting the team from others and themselves, what else are you responsible for?
Bellmore: On each day of a sprint, I make sure the team holds daily meetings (“the daily scrum”). These meetings are typically held in the same location and at the same time each day. Ideally the daily scrums are held in the morning as they help set the context for the day’s work. We use tools like Windchill SocialLink to make sure we can keep the whole team informed and involved, irrespective of location or time zone.
GH: How do the daily scrum meetings run?
Bellmore: All Team members are required to attend the daily scrum, either physically or virtually. Daily scrums are meetings for the Team (development and Quality Assurance). ScrumMasters and Product Owners aren’t required to attend but it is a useful meeting for them. They do not participate in the meeting but can gather info to discuss with the team members outside of the meeting. Others are not allowed to attend these daily meetings.
GH: And the focus is to resolve problems right?
Bellmore: No – The daily scrum is not used as a problem-solving or issue resolution meeting. Issues that are raised are taken offline and usually dealt with by a smaller group immediately after the daily scrum. During the daily scrum each team member provides answers to the following three questions:
- What did you do yesterday?
- What will you do today?
- Are there any impediments in your way?
By focusing on what each person accomplished in the previous day and what they will accomplish today the team gains a full understanding of what work has been done and what work remains. The daily scrum is not a status update meeting in which a boss is collecting information about who is behind schedule. Rather, it is a meeting in which team members make commitments to each other. If a programmer stands up and says “Today I will finish the filing module” everyone knows that in tomorrow’s meeting they will say whether or not they did finish. This has the wonderful effect of helping a team realize the significance of these commitments and that their commitments are to each other, not to some far-off customer or salesman.
GH: Is it really transparent where the issues are?
Bellmore: Yes, Any issues that are raised should try to be resolved as quickly as possible. Typical issues are:
- I need help debugging a problem with ______.
- I’m struggling to learn ______ and would like to pair with someone on it.
- I can’t get the vendor’s tech support group to call me back.
- The department VP has asked me to work on something else “for a day or two.”
Team members are responsible for contacting the appropriate people outside of the daily scrum to resolve their issues, usually technical in nature. Anything that cannot be resolved by the Team or is a distraction to them completing their tasks during the sprint is escalated to the ScrumMaster to be handled.
GH: Have there been any issues you haven’t been able to address?
Bellmore: No, my role is to make sure those escalated problems are resolved.
I couldn’t help wondering if Shawn saw me as a problem, and if I wasn’t going to ‘vanish’ soon. Watch out (hopefully) for more Behind the Scenes articles on the people and processes we’re following to develop Creo 1.0.