Two of the most important leadership roles within a Software Development Team are the roles of the Scrum Master and Product Owner. Together, they often serve as the primary point of contact between the Client Business Unit (whether internal or external) and the rest of the Software Development Team. In this blog article we will cover the following:
The Term Scrum Master comes from the most common Agile Software Development Lifecycle methodology, that first began in the late 1990’s; known as Agile SCRUM. It is a Rugby term, where a Scrum (or group) of players are trying to work together to get the ball over the goal line and score.
Likewise, the Scrum Master is the team leader who is facilitating moving the ball further down the field. When to pitch it to another player, when to run with it, or when to bunch up in a scrum and force the way forward. Unlike in a Traditional Project Management role, the Scrum Master is a member of the team and only “First among Equals.”
Their primary responsibilities include:
It is important to note that the Scrum Master does not Command and Control the team, rather facilitate their success.
The term Product Owner came about because originally Agile Techniques were first used within Software Companies, where the individual doing the business and product analysis was typically a Software Product Manager. Hence the term “Product Owner”, since they owned the long term Product Roadmap and vision for the product that the team was working on.
This term stuck, although some organizations will call them Business Analyst or have alternative titles. The role is ultimately very similar. The biggest difference between an Agile Product Owner and a more Traditional Business Analyst, is in the way of thinking and the approach that is taken.
There is also in most cases a major difference in how we estimate the work required.
Product Owner:
Epic Stories broken down into smaller User Stories.
Traditional BA Approach:
Huge requirements specification up front, but who reads 150 pages and understands it?
Product Owner:
Complexity of the work “Software Points” function point Analysis.
Traditional BA Approach:
Number of hours.
Product Owner:
Changing requirements are expected, only major additional scope requires a change order.
Traditional BA Approach:
Change is not expected, everything becomes a change order.
Traditional BA Approach:
A Software Point is a relative measure of the Complexity for Designing, Developing, and QA Testing a particular Feature or Function within an Application, whether this is a new Application, an Enhancement, or Modification (Refactoring).
Most organizations use a modified form of a Fibonacci Scale, to identify the Complexity of Building the item, given all of the work required to Build it, without consideration for Who is actually doing the work. The goal is not to measure the “Time” required by an individual, but rather the Complexity of Building the Item and making it Production ready.
The reason for this is that even during the Course of a given Sprint (2-week Production Cycle), you may need to shift resources around on the team, team members may get sick, and unexpected things may happen. In addition, by measuring every item in terms of Software Points, allows us to determine over time the Team’s Velocity in terms of how many Points they can do on average each Sprint. And you can start to see patterns occur, if the Team takes on too much work or areas that need to be improved upon.
Normally, the Product Owner or the Scrum Master, will take a first crack at Pointing the Items in the Backlog, which gives the Team an initial analysis of each item's complexity. Then when it is assigned during Sprint Planning, the Team Members working on that item (Dev and QA), should adjust the Software Points, as they see fit. Sometimes, this won’t be known until they start working on the Item / Story, so expect some adjustments in the Software Points assigned to the Sprint (up and down).
Items that the Team should “Point”
When Pointing a particular Item, there are several things to consider, in terms of Complexity:
This is critical, because an Item may be very easy to Code, but extremely difficult and complex to accurately QA Test. And vice-a-versa.
Mode of Transportation: Your Feet
Examples:
Mode of Transportation: Skateboard
Examples:
Mode of Transportation: Bicycle
Examples:
Mode of Transportation: Scooter
Examples:
Mode of Transportation: Motorcycle
Examples:
Mode of Transportation: Car
Examples:
Mode of Transportation: Formula 1 Race Car
Examples:
Mode of Transportation: Biplane
Examples:
While this is not true for every individual, in many cases the Competencies, Knowledge, Skills and Abilities are very similar between a Scrum Master and a Product Owner. When a Team contains both Roles, this gives you an inherent ability to have them cover for each other, or assist when there are more Tasks required for one role or the other. This gives the Team a lot of flexibility and makes it easier to maintain the Velocity (Productivity) and Efficiency of the Team.
Likewise, the two individuals may decide to divide up some tasks, based on their own background and experience, leveraging the person who knows a given Tool or Function the best. This is very common and should be encouraged where it makes sense.
To a lesser degree, both the Product Owner and the Scrum Master, can also pitch in and help out the QA Engineers on the team in performing testing. In most cases, this won’t involve performing Automated QA Testing, but rather playing the role of an actual Business User (or Consumer) using the Application and trying to see what works and what doesn’t, and documenting their actions and results. This type of “Gorilla” Testing, can be very valuable, as they may end up testing something that no one thought of, but a real User might actually perform.
In a few cases, it is possible to combine these Roles into one person. Before you do this, here are some considerations to take into account:
We have covered the Agile Roles of both the Scrum Master and Product Owner, as well as how they can Support one another and the Team, and the few occasions when it makes sense to Combine the Roles.
We hope that you have enjoyed this Blog Article.
Thank you, David Annis.