A successful Scrum implementation requires proper understanding of Scrum processes within team and within all project stakeholders. Even after proper training and certification (CSM/CSPO) it’s really tough to achieve the success as intended. There is one common and important problem which has always been overlooked: the alignment of current team with Scrum the model. Because, vanilla-Scrum only describe what the role does in the process.
A successful Scrum implementation requires proper understanding of Scrum processes within team and within all project stakeholders. Even after proper training and certification (CSM/CSPO) it’s really tough to achieve the success as intended. There is one common and important problem which has always been overlooked: the alignment of current team with Scrum the model. Because, vanilla-Scrum only describe what the role does in the process.
The Scrum consists of mainly three key roles: Product Owner, ScrumMaster and Scrum Team. However in general a typical team structure contains – Developers, Team/Tech Lead, Testers, Test Lead, Project Manager, Technical architect, Project Sponsor, Project Director, Quality Manager, etc. This list may vary depending upon projects and organizations. Consequently, it becomes essential to align the existing team with Scrum model.
Practically, it’s really tough to find out and assign the correct role to existing resource within team. As far as Scrum model is concerned, it describes only what a product owner, scrummaster and scrum team should do, but it does not say anything on who specifically from traditional world should play this role. So, most sensible question now is how to match so many roles among only three available roles effectively.
Align resource to Product Owner
A product owner is responsible to provide the requirement and prioritize them as per the need. This role suits to the person who remains in touch with the end-user/client to understand his need. He is responsible for understanding and communicating the client’s need.
The potential candidates for this role are Product Manager, Project Manager, Business analyst and project sponsors. Let’s analyze each of these roles and different scenarios when these can best fit for the product owner role.
Project sponsors or Customer as Product Owner
A project sponsors or customer could be used in prioritizing the requirements. However it’s not usual to get someone from client or sponsors side as product owner. Rarely, this role is played by any customer. Otherwise it is played by the proxy customer or internal customer.
“In some cases, the Product Owner and the customer are the same person; in other cases, the customer might actually be millions of different people with a variety of needs.”
The project sponsor or customer needs to be trained on Scrum and also need a clear understanding of Scrum practices and its benefit. Usually one can not expect all this from the customer. On the whole, it’s not easy to align the project sponsor or customer for Product Owner role.
Product Manager as Product Owner
Another good candidate for this role is product manager. At high level both Product Manager and Product Owner looks as same.
The product manager governs below responsibilities:
- Define product strategy and roadmap
- Work closely with customer
- Ensure meeting of revenue and customer satisfaction goals
- Market research (Competitive and Pricing analysis)
In addition to above tasks, a product owner drives the priorities for the development team. Even though responsibilities of Product manager and Product owner overlap a lot, one thing is clear that both of them are not same.
In case product manager is available then he is most suitable candidate for this role in Scrum model.
Business Analyst as Product Owner
Business analyst is another suitable candidate for Product Owner role. The main difference between Product Managers and BAs is outward vs. inward facing. BAs look inside the company, processes and practices inside a single company and how these can be improved through the use of software technology. In contrast Product Managers are outward facing i.e. they look at the market and at multiple independent customers.
A Product Owner should normally be a Product Manager or a Business Analyst. In general, the title Product Owner can be considered an alias for Product Manager or Business Analyst.
If there are clear defined roles and responsibilities for BA and Product Manager in an organization then it’s debatable to choose anyone for Product Owner. In such a scenario mix of both skill sets could be thought through. Because if we choose BAs then it may neglect the customer experience side, while in case of Product Managers it may neglect the internal aspects.
Project Manager as Product Owner
Sometimes this role also increases the confusion while choosing the best suitable role for Product Owner. In general the role of project manager is more concerned on “when” i.e. project tracking in terms of schedule, effort, cost and quality. Hence a project manager does not have enough time to fulfill the demands of the PO role effectively. A part time PO is against the Scrum model.
In general, Project Manager is not a preferable candidate for this role. However in some organizations where no Product Manager and BA are available and there is overlap of Product Manager/BA and Project Manager in terms of responsibilities then Project Manager could also be considering for this role.
Challenges
- Prioritize the requirements: The main challenge for a product manager for this role is to keep prioritizing the requirements based upon discussion with customer for the development team.
- Balance between development team, customer and market: The product manager spends a lot of time with customers and really understands the market including competitors, which is important information too. Whereas the product owner is the one who understands the customer’s need, sets the vision and prioritizes the backlog for development team. Hence the product manager in this new role needs to make a perfect balance between development team, customer and market.
Common mistakes
It has been observed that often the Product Manager/BA ignores the responsibilities of product owner inadvertently. Gradually this leads the team in a situation where everyone starts ignoring the scrum practices and finally become a part of chaos situation.
As per the Scrum Guide:
The Product Owner can be a Team member, also doing development work. This additional responsibility may cut into the Product Owner’s ability to work with stakeholders.
For the Product Owner to succeed, everyone in the organization has to respect his or her decisions.
Align resource to ScrumMaster
The Scrum model describes ScrumMaster as most important element of success. ScrumMaster ensures the scrum process implemented in true sense and helps the team and organization to adopt the Scrum which result the success. SM is just like guardian of the scrum process. He as a facilitator ensures smooth functioning of the team by removing impediments and keeping the team safeguarded from external disturbances.
Basically it does three type of work:
- Helping the team to resolve the impediments as quickly as possible
- Protecting the team from any outside interference that may impact on its efficiency
- Providing proper guidance on use of Scrum processes
All above three tasks look very simple, but in practical it’s very difficult to implement. That’s the reason Scrum is called as simple but hard.
Mostly we transfer a Team member or Tech/Team lead or Project Manager to this role. Despite of CSM certification and training, it takes time for them to play the actual role of ScrumMaster.
Team Member as ScrumMaster
Can a Team member part of Scrum team become a ScrumMaster? Yes.
However, a team member as SM conflicts in below situations:
- Own Tasks vs. Team issues: Give more focus on own tasks over the team issues. Decide between removing impediments and performing own tasks.
- Prioritize impediments: Prioritize own impediments over those of other team members.
In general this case should be avoided. Often this leads to a conflicting situation and paves a path to a bleak failure.
Tech Lead as ScrumMaster
An SM works like a “Scrum Police” and also needs to play various other roles like mentor, guide, coach, tester, coder, designer etc. Many times, for scrum masters to succeed they need to be technically capable of teaching and mentoring agile development to the team. In all these cases tech lead are good candidate for ScrumMaster.
In case of new team who is trying to adopt the Scrum Practices, an SM needs to be technically sound to teach the team about the technical practices.
Project Manager as ScrumMaster
Project manager is ideal choice of everyone for ScrumMaster role. There are lots of tasks within PM’s responsibilities are fine with Scrum. However there are some which are not good or required in Scrum. This all needs to be fine tuned correctly.
Pete Deemer has explained this in a very detailed way in his article. http://www.scrumalliance.org/articles/148-manager--the-role-of-the-manager-in-scrum
In case project manager is managing multiple projects or not full time allocated in project, team leader can play the ScrumMaster role. The part time SM is not recommended.
Challenges
- Work as a facilitator: The main challenge for this role is to work as a facilitator and to help team to attain self-organized.
- Balance between technical and managerial skill: A balance is required between technical and managerial skills from SM so that s/he should not lose focus from actual tasks and responsibilities of SM.
Common mistakes
- Keep playing the old role: It’s really hard and requires some time to understand the actual responsibility and to change the old mindset. It’s a very perilous situation that eventually leads towards more chaos situation.
- Not ready for the change: Often people believe change as scary and always try to protect themselves. This requires high quality of training session. Also initially it’s better to choose a team that is ready to try Scrum.
Align team to Scrum Team
A scrum team needs to be self-sufficient to determine how and when to complete its work. Below are two important characteristics required by the Scrum Team:
- Cross-functional: Team must have all required skills to accomplish its work. So, the team contains resource with all sort of skills like Development, QA, architecture, database design, UI design etc. Although it doesn’t mean that everyone requires being expert in all area, however team has wide range of skills and areas of expertise.
- Self-organizing: Team members select their daily tasks and they are responsible for deciding the requirements for the Sprint. This led them to understand their daily responsibilities and no one direct them on what to deliver.
Development and QA team in Scrum Team
A scrum team comprise of both development and QA team. The QA accommodation in the same sprint with development team is really a tough time for many scrum teams. Mostly teams end up with creating separate QA sprints and differentiating it with development sprints. Eventually, team lands up in some tweaked traditional development methods where development happens in one sprint and QA in the next.
And it's worthless to say that this isn't agile, correct? In true implementation of Scrum, all user stories within any sprint must be finished with the necessary testing in the same sprint.
Challenges
- Better Sprint planning: It is required to make sure that while picking the story point to complete in a sprint the QA activities has also been taken care. The Story cards need to be created such that the tasks must have more of a vertical flow to them in order for QA to be involved earlier. Eventually it should take care of bug and regression portion within the sprint appropriately.
- Cohesive team: Both team needs to work cohesively. Everyone is responsible for the quality of software, not just the QA team members. Every member in team plays a significant part of ensuring the quality of software. Testing begins long before the testers start writing automated scripts.
Common mistakes
- No process defined: Often slight confusion arises on who/how things are going to be QA’ed. Since both a developer and QA member responsible for each item, it led into a situation where once the task is taken by a developer, how does a QA person be assigned to the issue. It’s always good to define a process for this.
- Same Development and QA environment: Many times both development and QA share the same environment, but it’s very risky and always recommended to have different development and QA environments altogether.
Reference:
- Ken Schwaber and Jeff Sutherland (2010). Scrum Guide
- Pete Deemer, Gabrielle Benefield, Craig Larman Version 1.1, Scrum Primer
- Mike Cohn, Succeeding with Agile