Agile Product Management with Scrum – Roman Pichler

This is the best book about Agile Management that I’ve ever read. Thank you so much, Roman.

If you want to get the best out of this book, of course you need to read the whole of the book. The purpose for this article is to note critical things that I found out throughout tons of valuable information and advices.

1. Product Owner role

First of all, forget all about other traditional development framework. To have an agile team, product owner is crucial and the biggest challenge.

Characteristic of a product owner:

  • visionary and doer
  • leader and team player
  • communicator and negotiator
  • empowered and committed
  • available and qualified

“Being adequately qualified usually requires an intimate understanding of the customer and the market, being passionate about the user experience, and the ability to communicate needs and describe requirements, to mange a budget, to guide a development project, and to be comfortable working with a cross-functional, self-organizing team

“Since the product owner of a component team has to help translate product backlog items into technical requirements, the best individual to serve in that role is usually an architect or a senior developer rather than a product manager

A product owner committee is a group of product owners without anyone in charge of the overall product. There is no one person guiding the group, helping to create a common goal, and facilitating decision making. A product owner committee is in danger of getting caught in endless meetings with conflicting interests and politics – something also referred to as “death by committee”. No real progress is achieved; people stop collaborating and start fighting each other.”

The chief product owner guides the other product owners. This individual ensures that needs and requirements are consistently communicated to the various teams, and that the project-wide process is optimized. This includes facilitating collaborative decision making as well as having the final say if no consensus can be reached.”

As a product owner, you guide and influence the team. You behavior matters. A lot.”

2. Product Vision

Being able to envision what a new product or the next product vision should look like and do is essential for getting there.”

The vision acts the overarching goal, galvanizing and guiding people, and is the product’s reason for being.”

A vision is truly shared when you and I have a similar picture and are committed to one another having it, not just to each of us, individually, having it” 

“The product vision should describe the broad and engaging goal: a goal that guides the development efforts but leaves enough room for creativity, a goal that engages and inspires people.”

When it comes to product vision, less is more. The vision should be brief and concise. It should contain only information critical to the success of the product.”

“As our ability to predict the future is limited, our best chance of success is to envision the minimal marketable product, a product with minimum functionality that meets the selected customer needs.”

“By reducing time to market, we are able to listen and respond to the marketplace more frequently, rather than trying to outguess it… This allows us to build the possibility of failure into our strategy, an approach Google has embraced.”

Launch the product quickly, inspect the market response, and adapt the product accordingly

Simplicity is the ultimate sophistication” Leonardo da Vinci

“Whenever you have an idea for a new feature or you discover a new requirement, ask yourself if the new functionality is critical to the success of the product. If not, discard the idea.”

“Refrain from putting too many controls and procedures around the visioning work.”

“Keep the vision humble and focused on the upcoming product vision. Think big, but start small

Customer needs and product attributes are at the heart of the vision and deserve close attentionNonfunctional attributes can be an important differentiator – they can impact the user experience as well as the extensibility and maintainability of the product, which intern influence the total cost of ownership and the product’s life expectancy.”

3. Product Backlog

Definition: it is simply a prioritized list of the things which can bring product to life. The mot important items are found at the top.

Requirements are no longer handed off to the team; the team members coauthor them.”

“A requirement is clear if all Scrum team members have a common understanding of its semantics

“A well-groomed backlog is a prerequisite for a successful sprint planning meeting.”

“Treat existing requirements as suspicious and consider them as a liability, not an asset”

“Because risk and uncertainty influence product success, uncertain and risky items should be high-priority

“Dependencies restrict the freedom to prioritize the product backlog and influence the effort estimates; the item on which others depend has to be implemented first. You should therefore try to resolve dependencies whenever possible

4. Release planning

Adding manpower to a late software project makes it later.”

“Even though release planning is a collaborative effort, the product owner is responsible for ensuring that the necessary decisions are made.

Compromising software quality means trading in short-term gains for longer-term growth. You would cheat yourself of a better, brighter future”

“More precisely, velocity is the sum of the effort for the work results accepted by the product owner in a sprint.”

“To get the most out of the plan, I like to show the functionality each release will provide in terms of themes and epics. Showing stories in the release plan tends to introduce too much detail”

“Whatever tool is used, though, the plan should create transparency and facilitate dialogue between the Scrum team and stakeholders”

Pipelining is a last resort. You should employ this technique only if all other options have failed.”

Using feature teams rather than component teams whenever possible will reduce the need for pipelining.”

“In fact, the product owner should drive the release planning activities. As the person first and foremost responsible for the success of the product, it is in the best interest of the product owner to guide the project proactively.”

5. Becoming great Product Owner

“The product owner role is multi-faceted. It’s difficult – perhaps impossible – to find new product owners who have every necessary skill. You can therefore expect to find gaps in your own knowledge and skills.”

“Listen to feedback from your fellow Scrum team members, and work on the remaining gaps in knowledge and skills”

“Without sponsorship form the right level, you are likely to lack authority and, as a consequence, will struggle to do a good job.”

“Senior manager must recognize the authority and responsibility of the product owner role and the likely impact it is going to have on the organization. Doing so is not only crucial for making agile product management work, but it is also a critical success factor for any Scrum adoption”

“Product owners must be selected with care”

 

Thank you. Hope you had a good read!

business analyst in Agile development

Business Analyst role in Agile development – BA work in Scrum team

Normally in Agile development, people don’t mention about Business Analyst role. So what will be the true story behind the scene?

Business analysts play an important role: Traditionally, they act as the link between the business units and IT, help to discover the user needs and the solution to address them, and specify requirements. But in Scrum, there is no business analyst role. (Roman Pichler)

What will BA do in a Scrum team?

Option 1: product owner

This is a natural move. The individual needs to own the product on behalf of the company instead of analyse and get features approval from specific clients. For that significant change, the individual might need to learn new skills to adapt new role.

Option 2: team member

The role of business analyst as a team member will mostly to address and help other members groom product backlog. Since this responsibility is for the whole team, business analyst inside a Scrum team usually covers additional tasks as well like writing technical documents, coordinate with testers.

The role of a Business Analyst in an Agile project is not well-defined just as there is no defined role for a Project Manager on an Agile project. On small, simple Agile projects there may not be a need for either of these two roles but that is frequently not the case on large, complex enterprise-level projects.

The role of a BA is often neglected – it is assumed that the Product Owner plays that role but it can be difficult for a Product Owner to perform that role without some assistance on very large complex projects

(chuckc3)

Option 3: proxy product owner

Dealing half-heartedly with the role of business analysts in Scrum is a common mistake: Business analysts neither play the product owner role nor are they team members. Instead, they end up as proxy product owners, a go-between the real decision maker and the development team, as shown blow.

Using a proxy product owner is best avoided—certainly as a permanent solution.

(Roman Pichler)

Why this model is not-recommended? Because it requires many communication to verify each single decision thus brings lots of miscommunication, misunderstanding as well as inconsistent product requirements. At the end, no one is really the Owner of Product.

The head of a business unit was asked to take on the product owner role for a new product. As he struggled to fill the role effectively, the business analyst stood in as a proxy. While the analyst did all the detailed grooming work, the business unit head decided about the product features and when which functionally was released. Unfortunately, this resulted in miscommunication, a long-winded decision-making process, and poor morale. (Roman Pichler)

Conclusion

There is no fixed direction, solution for a traditional business analyst to follow in Scrum world. But I think from the above suggestions, insights, we’re all more clear about the basic concepts.

Scrum is not a plug-and-play environment that will guarantee that product development will succeed. If improperly managed, the product development will not adequately scale to the customer’s requirements, which will increase costs, impact return on investment, and lead to instability. (Sriramasundararajan Rajagopalan)

Reference:

Scrum development – basic and common problems

Scrum is widely used by many companies, organizations but to really know its true principles and practical methods is very hard. People always say that they are using Scrum for development but no one can really say that how many percentages of Scrum principles they are applying in reality.

Let work through the Scrum foundation and some common problems to find out that percentage number!

1. Definition

First of all, we start by going through the definition: “Scrum is a management and control process that cuts through complexity to focus on building products that meet business needs” (scrum.org) and “Scrum is an Agile framework for completing complex projects” (scrumalliance.org)

2. How does it work?

scrum framework to use for a Sprint

Product owner creates a prioritized wish list called a product backlog.
During sprint planning, the team pulls a small chunk from the top of that wish list, a sprint backlog, and decides how to implement those pieces.
The team has a certain amount of time — a sprint (usually two to four weeks) — to complete its work, but it meets each day to assess its progress (daily Scrum).
Along the way, the ScrumMaster keeps the team focused on its goal.
At the end of the sprint, the work should be potentially shippable: ready to hand to a customer, put on a store shelf, or show to a stakeholder.
The sprint ends with a sprint review and retrospective.
As the next sprint begins, the team chooses another chunk of the product backlog and begins working again.

3. Some know-hows

Scrum Team

The Scrum Team consists of a Product Owner, the Development Team, and a Scrum Master. Scrum Teams are self-organizing and cross-functional.

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.

Product Backlog

Product Backlog The Product Backlog is an ordered list of everything that might be needed in the product and is the single source of requirements for any changes to be made to the product. The Product Owner is responsible for the Product Backlog, including its content, availability, and ordering.

A Product Backlog is never complete. The earliest development of it only lays out the initially known and best-understood requirements. The Product Backlog is dynamic; it constantly changes to identify what the product needs to be appropriate, competitive, and useful. As long as a product exists, its Product Backlog also exists.

The Product Backlog lists all features, functions, requirements, enhancements, and fixes that constitute the changes to be made to the product in future releases. Product Backlog items have the attributes of a description, order, estimate and value.

The Development Team is responsible for all estimates. The Product Owner may influence the Development Team by helping it understand and select trade-offs, but the people who will perform the work make the final estimate.

The Scrum Product Backlog shall not contain the detailed requirement information. Ideally the final requirements are defined together with the customer during the sprint. Breakdown and distribution of these requirements is the responsibility of the Scrum Team.

Sprint Backlog

The Sprint Backlog is the set of Product Backlog items selected for the Sprint, plus a plan for delivering the product Increment and realizing the Sprint Goal

The Product Owner

The Product Owner is responsible for maximizing the value of the product and the work of the Development Team. How this is done may vary widely across organizations, Scrum Teams, and individuals.

The Product Owner is the sole person responsible for managing the Product Backlog. Product Backlog management includes:

  • Clearly expressing Product Backlog items;
  • Ordering the items in the Product Backlog to best achieve goals and missions;
  • Optimizing the value of the work the Development Team performs;
  • Ensuring that the Product Backlog is visible, transparent, and clear to all, and shows what the Scrum Team will work on next; and,
  • Ensuring the Development Team understands items in the Product Backlog to the level needed.

The Product Owner may do the above work, or have the Development Team do it. However, the Product Owner remains accountable.

The Product Owner is one person, not a committee. The Product Owner may represent the desires of a committee in the Product Backlog, but those wanting to change a Product Backlog item’s priority must address the Product Owner.

For the Product Owner to succeed, the entire organization must respect his or her decisions. The Product Owner’s decisions are visible in the content and ordering of the Product Backlog. No one is allowed to tell the Development Team to work from a different set of requirements, and the Development Team isn’t allowed to act on what anyone else says.

3. Common problems

How big is a Scrum Team?

Optimal Development Team size is small enough to remain nimble and large enough to complete significant work within a Sprint.

Having more than nine members requires too much coordination.Large Development Teams generate too much complexity for an empirical process to manage

What are the differences between user stories and tasks?

A user story is typically functionality that will be visible to end users. Developing it will usually  involve a programmer or tester, perhaps a user interface designer or analyst, perhaps a database designer, or others.

A task, on the other hand, is typically something like code this, design that, create test data for such-and-such, automate that, and so on. These tend to be things done by one person.

So, perhaps the better distinction is that stories contain multiple types of work (e.g., programming, testing, database design, user interface design, analysis, etc.) while tasks are restricted to a single type of work.

How detailed should tasks within a user story be?

The Scrum Guide doesn’t suggest that tasks are required, and it doesn’t recommend task size or a specific estimation process. It does suggest that refinement of product backlog with details and estimates is an ongoing process and “usually consumes no more than 10 percent of the capacity of the development team.” So, while the Guide doesn’t suggest how much detail should go into user stories or tasks, it does advise time-boxing the time spent in planning and refinement.

Getting the right level of detail for the user stories and associated tasks during a sprint planning meeting can be a challenge. The team needs to have enough detail to implement the story, but they also need to be efficient in their sprint planning meeting. Creating tasks that take about a day or less is the most common practice.

What should we do in Sprint Planning?

In Sprint Meeting, the Product Owner presents each item and explains how he/she sees it working from a functional perspective. The whole team discusses the item in detail. The whole team asks questions about the feature in order to establish what it should do and how it should work. You can use whatever form of writing requirements you want to. But the important principle in Scrum, and in any agile development methodology, is that you write requirements feature by feature, just before they are developed.

What really happens in Sprint Planning?

The first thing you must do (in your first Sprint Planning meeting) is decide on your Sprint duration.

The second part of the Sprint Planning Workshop is focused on breaking the requirements into tasks and estimating the hours required to complete them. Make sure the meeting is attended by all team members. Include all roles. Business Analysts if you have them. Testers if you have them. ALL Developers on the Scrum team for the product. The Product Owner and any customer, user or business representatives need not attend this part (part 2) of the Sprint Planning workshop, as it’s likely to be more technical in nature and is more about the team working out how the selected backlog items will be delivered. However, they should be welcome to attend if they wish, which may help their understanding of what’s involved to deliver the features, and may help if any further clarification is required as the tasks are discussed and estimated.

What do tasks look like in Scrum?

Tasks may include the traditional steps in a development lifecycle (although limited to the feature in question, not the entire product). For instance: Design, Development, Unit Testing, System Testing, UAT (User Acceptance Testing), Documentation, etc.

Keep tasks small. Estimate all tasks in hours. Estimate each task as a team. Ideally task estimates should be no more than 1 day. If an estimate is much larger than this, the requirements should be broken down further so the tasks are smaller. Although this can be difficult, it will get easier with practice.

Always include some additional scope in your Sprint Backlog, over and above what you think can be achieved. This is important in order to have something ready if the team delivers early, as the Sprint should ideally remain a fixed length.

Clearly identify these items as Stretch Tasks. The Product Owner should never expect Stretch Tasks to be reached. No-one should ever be beaten up if Stretch Tasks are never reached. And if you do manage to complete any Stretch Tasks, this should be cause for celebration!

Reference

  • https://www.scrum.org/resources/what-is-scrum
  • https://www.scrumalliance.org/why-scrum/scrum-guide
  • https://techbeacon.com/how-detailed-should-tasks-within-user-story-be-agile-teams
  • http://www.allaboutagile.com/how-to-implement-scrum-in-10-easy-steps-step-3-sprint-planning-requirements/
  • http://www.allaboutagile.com/how-to-implement-scrum-in-10-easy-steps-step-4-sprint-planning-tasks/
  • https://www.mountaingoatsoftware.com/blog/the-difference-between-a-story-and-a-task