Side Stepping Landmines: Managing Risk With Sprint Futurespectives

Risks Are Landmines

Risk and project issues are one of the roots of poor project performance. There are three areas that we measure regarding the success or failure of a project; these three areas are what we call in project management, the triple constraint. The triple constraint consists of scope, budget, and time.

The interactions of these three areas are a lot like Newton’s third law of motion. For every action, there is an equal and opposite reaction. Was there a decision to increase the scope? You’ll likely need more time and money. Has there been a cut to the project’s budget? There most likely needs to be a cut to the scope. Has the schedule been crashed and we need to get to market in two months instead of the planned six? Better give me more money and be prepared to cut some of that scope down to a “minimal viable product.” I think you get the idea.

The triple constraint consists of scope, budget, and time. The interaction of these three areas are a lot like Newton’s third law of motion. For every action, there is an equal and opposite reaction.

This is why scrum is so effective. It allows for business agility via quick decision making from the Product Owner and iterative delivery of working software from the team. Scrum deals with actions effecting the triple constraint rather well. Project issues concerning the budget or schedule can quickly be addressed by everyone and the Product Owner can assess the business impact to make a decision that usually concerns scope.

However, when a team starts off on a new project that has a medium to high amount of risk and uncertainty, I recommend allowing teams the time to mull over possible risks and to perform some pre-planning. Otherwise, the project can blow up in their face or decisions will be made for them by the changed environment. We address this with risk planning — we don’t send our soldiers into a battlefield knowing land mines exist. So how can scrum teams plan for risk?

Risks are landmines. Some we know about. Some we don’t. Creating a plan to navigate and manage the consequences of a triggered mine is the only way to help us navigate a minefield responsibly.

Conduct A Futurespective

Thinking ahead and talking can help, but writing down potential risks and plans to address them is even better. This is the point of the “Futurespective;” To conduct risk planning at the start of a project or product enhancement and to give the team some time to do some planning before stepping on a potential minefield. It’s an activity outside of the typical scrum events and because of that, it should not be done before each iteration. Instead, it should be done provided select circumstances:

  • Just before beginning a new effort (i.e. Sprint Zero);
  • Just before a critical milestone (i.e. a new feature release to Production);
  • A significant change to a project constraint is anticipated (i.e. change to schedule, scope, budget, or quality). 

Just Before A New Effort – The Sprint Zero As A Futurespective

The Sprint Zero is an activity I’ve seen successful teams use when they conclude one effort and move to another. There is no such thing as multi-tasking and that is why we should frown upon teams who work on multiple projects at once. What they’re really doing is engaging in “task-switching” or inefficient “serial-tasking.” Instead, we encourage the team to wrap up a product feature and release it to production for general use before moving onto another product.

The Sprint Zero is the time between efforts that allows teams to assess what the new project or product enhancement is. If they’re cracking open the code for an existing product to add a new feature set, they should be allowed up to two weeks depending on the complexity of the code. For older, more monolithic applications, carrying large amounts of technical debt, I’d recommend no time-box on this activity. Let the team take their time getting familiar with the product, the code, and documentation (if it exists or is up to date). If there is no documentation, stress the importance to managers that they should not be rushed into starting the project until they are ready. Let the team decide when they’re ready to begin and use common sense.

If the team is about to spin up a new project and create a new product from the ground up, there should already be a product backlog and roadmap ready for them to review. The Sprint Zero is a great opportunity for the team to familiarize themselves with the backlog, Product Owner, Subject Matter Experts (SMEs), and stakeholders of the new product. The team should be conducting working sessions to create better acceptance criteria for user stories, sketching wireframes, and getting a better understanding of what they are going to build. Encourage them to seek continual feedback on their wireframes and designs. Make it an iterative activity. Teams may also take some time to engage in training if they will be developing in a newer development framework. Again, exercise common sense and decide on a reasonable time-box before kicking off the project.

Just Before A Critical Milestone – Release Planning As A Futurespective

Usually a sprint or two before releasing a larger feature, the team should have a handle on the stability of their product. Testers have been giving Developers feedback on the quality of their code via Integration & Performance Testing and of course, Bugs. The Product Owner is busy preparing, coordinating, or wrapping up User Acceptance Testing (UAT).  The Scrum Master is busy assisting everyone with Impediments and UAT. It can be chaotic or running smoothly… sometimes too smoothly…but, maybe I’m just naturally pessimistic?

I find this is a great opportunity to use the time normally allocated for a Retrospective as a way to plan for risk and get everyone together for the release plan. Of course, the need for this will eventually disappear as practices become better and code is pushed into production more rapidly via continual integration and continual deployment, however, I recognize that it can take a while to get to this point.

The need for this will eventually disappear as practices become better and code is pushed into production more rapidly via continual integration and continual deployment.

There are multiple ways to conduct a Futurespective and each one could use their own article. However, it’s a good idea to invite the Product Owner and SMEs to this event. To be concise, I’ll give you the meat and potatoes of what makes a good Futurespective.

  1. Identification of plausible risks regarding the release
  2. Statement of assumptions about the release
  3. Statement of the issues currently occurring (problems & challenges the team is experiencing).
  4. Identification of dependencies effecting the release (technical or cross-team dependencies the team or organization has). 
  5. Written mitigation plans that is developed by the team and Product Owner.
  6. Assignments/Owners for each plan (“if risk 2 is realized, who is the person responsible for leading the plan?”). 

A Significant Change To A Project Constraint

When a business priority changes and the project’s budget, schedule, or scope, is effected, the Product Owner may decide to stop the iteration and cancel the sprint. The Product Owner should call the team together and appraise them of the situation and call on the team for advice. Ultimately, the Product Owner will likely make some tough decision about cuts to the product scope. The Product Owner should use her Subject Matter Experts, stakeholders, and Delivery Team to make the most informed decision possible. It’s a great opportunity for everyone to brainstorm with the Product Owner about the best way to continue moving forward and exercise business agility.

Prioritizing the Product Backlog and refining user stories that were in the “freezer” takes a lot of effort and planning. Schedule as many backlog grooming sessions as needed and run a Futurespective before proceeding.

Thanks for taking the time to read and I hope you found it useful. I’d love to hear your thoughts on risk management or any experience you’ve had with Futurespectives. If you’d like to have a discussion, leave a comment below or contact me. I’d love to connect on social media as well!

Photo Credit: Pixabay

Related Posts

The Scrum Product Owner Chooses Business Value

The Product Owner Steers The Ship

Urban Legends In Our Organization. Listening To Our Naysayers, Seers, And Jaded Sage

Scrum Product Owners Part 2

The Product Owner Chooses Business Value

As the “single wring-able neck,” the Product Owner is tasked with maximizing business value and setting the direction for a new or existing product. She shares the guiding view into the future and collaborates with customers, stakeholders, technical teams, and supporting roles to steer the product to the desired end-state. In this article, I would like to share my favorite two value areas that effective Product Owners understand.

  1. Customer Service
  2. Operational Efficiency

1. Customer Service

An organization is nothing without it’s customers — they are either external or internal customers. Customers are the people who use the product to fulfill a specific need. A product that is easy to use and accurately fulfills a customer’s needs is valuable to the organization. Design considerations like User Interface and User Experience need to be considered when crafting user stories, however, the main consideration is, “how are we best serving our customer with this feature?” 

External Customers look to “exploit artefacts[sic] produced by the organization with specific requirements and specifications” (Hobbs, 2016). External customers are essential to the success of the organization as it operates to produce the artifacts specified by external customers.

Internal customers are all members of the organization who rely on assistance from each other to fulfill their duties in the production of artifacts specified by the external customers.

“If you build a great experience customers tell each other about that. Word of mouth is very powerful.”

— Jeff Bezos, Amazon

2. Operational Efficiency

An organization is unable to best serve it’s customers if it’s inefficient. While running the air conditioning in the middle of winter is wasteful, Product Owners go beyond the obvious to make operations more efficient. Below is a list of operational efficiencies in a ‘lean’ context that Product Owners should consider in their user stories. Product Owners should start with, “how does this feature improve our operations or reduce waste?”

  1. Reducing defects – features aimed at reducing defects strive to reduce errors, mistakes, rework, and preserve data integrity of internal and external customers.
  2. Reducing motion – features directed at reducing motion strive to automate a formerly paper-driven process. This helps improve efficiency and standardizes the quality of those processes. Additionally, frees up resource capacity so internal customers can engage in more technical work.
  3. Creating a common language – features sighted on centralizing information in a common place creates a lexicon synonymous with the organization. It simplifies the way information is shared and understood throughout the organization. Internal customers are all speaking and sharing the same meanings and when extended to client-facing applications, external customers speak the language too.
  4. Improving decision making – features trained on increasing transparency allow internal customer to make decisions quickly — ultimately helping organizations exercise business agility and ‘pivot’ when the internal or external environment prompts for it. 

Leave your thoughts on Product Ownership or Business Value in a comment below. If you’d like to have a discussion, please contact me or connect with me on social media!

Photo Credit: Pixabay

Sources

Hobbs, B. &. (2016). Projects with internal vs. external customers: An empirical investigation of variation in practice. International Journal of Project Management Volume 34, Issue 4, 675 – 687.

Related Posts

Scrum Product Owners Part 1: The Product Owner Steers The Ship

The 5 P Pyramid Model. Assessing Policy, Process, Procedure, People and Personalities In Scrum

Six Elements Of An Effective Strategy

Agile Leaders Understand Customer Service and Culture 

 

 

 

Scrum Product Owners Part 1

The Product Owner Steers The Ship

The Product Owner can be described as the “single wring-able neck” in Scrum. They are responsible for maximizing value and setting the direction for a new or existing product. They work with development teams, stakeholders, groom & prioritize their backlog, and share a guiding view into the future. The Product Owner is the most important role in the organization and only a special kind of person volunteers for it. The rest are usually ‘volun-told.’

Intention and style shape the effectiveness of a Product Owner. Like all of us, Product Owners come from different backgrounds or roles. Angela Druckman, of the Druckman Company has a wonderful series on Product Ownership and I have personally worked with her and attended her Certified Scrum Master and Certified Scrum Product Owner courses during our Agile Transformation at the Nevada Department of Transportation.

As a coach, we don’t want to make assumptions about the anti-patterns our Product Owners may have inherited from their previous roles.

“An anti-pattern is something that looks like a good idea, but which backfires badly when applied.”

-Jim Coplien

Never assume that an ex-project manager uses “command and control” with their teams or that ex-business analyst will struggle with emotional intelligence. Leave all judgement to Judge Judy. Your job as a coach isn’t to fix anti-patterns. It’s to tap into people’s potential. Anti-patterns will extinguish as each person’s potential is unlocked and the agile mindset becomes a part of who they are. 

Captain & First Mate: Product Owner & Scrum Master

The first thing I want to stress is the relationship between a Product Owner and Scrum Master. These two roles, when combined with the Delivery Team, are a lot like a Project Manager and Delivery Team. Let’s take a 30,000ft view of the 10 Knowledge Areas of Project Management and see where the Product Owner and Scrum Master have responsibility in regards to traditional project management and its’ relation to iterative product development.

  • Integration Management
    • Traditional: This responsibility falls onto the Project Manager via a Work Breakdown Structure (WBS) and Gantt Charts.
    • Scrum: This responsibility is shared among the Delivery Team, Product Owner, and Scrum Master via collaboration and iterative development.
  • Scope Management 
    • Traditional: This responsibility falls onto the Project Manager and Change Control Board via the Scope Baseline and Change Management Process.
    • Scrum: This responsibility is the Product Owner’s via collaboration with stakeholders, prioritizing business objectives, and the product backlog.
  • Cost Management
    • Traditional: This responsibility falls onto the Project Manager via the Cost Baseline, budget, and Change Management Process
    • Scrum: This responsibility is the Product Owner’s via iterative delivery, business objectives, and budget.
  • Time Management (formerly Schedule Management)
    • Traditional: This responsibility fall onto the Project Manager via the Schedule Baseline, critical path, and Gantt Chart.
    • Scrum: This responsibility is shared among the Delivery Team and Product Owner via iterative releases.
  • Quality Management
    • Traditional: This responsibility falls onto the Project Manager and delivery team via Quality Assurance (QA), Quality Control (QC), and User Acceptance Testing (UAT).
    • Scrum: This responsibility is shared among the Delivery Team, Scrum Master, and Product Owner via Quality Assurance (QA), Quality Control (QC), Sprint Reviews with stakeholders & Product Owner, Scrum Master resolving impediments during the daily stand-up, and Agile Retrospectives.
  • Procurement Management
    • Traditional: This responsibility falls onto the Project Manager and stakeholders via the organization’s Project Management Office procurement Policies, Processes, and Procedures
    • Scrum: This responsibility is not defined in Scrum, however, the organization’s Policies, Processes, and Procedures should be followed. A Scrum Master or  Product Owner should work closely with the Project Management Office.
  • Stakeholder Management
    • Traditional: This responsibility falls onto the Project Manager via the stakeholder management plan.
    • Scrum: This responsibility is shared among by the Product Owner and Scrum Master. The Product Owner elicits requirements from stakeholders and the Scrum Master insulates the Delivery Team so they can focus on the product.
  • Communication Management
    • Traditional: This responsibility falls onto the Project Manager via the communication plan.
    • Scrum: This responsibility is shared among the Delivery Team, Product Owner, and Scrum Master. The Delivery Team meets daily and communicates progress and impediments. The Product Owner manages stakeholder expectations. The Scrum Master can assist with managing stakeholder expectations, facilitates the Daily Stand-up, Sprint Planning, The Sprint Review, The Sprint Retrospective, and coaches the principles of Agile to everyone in the organization.
  • Resource Management (formerly Human Resource Management)
    • Traditional: This responsibility falls onto the Project Manager via the Resource Management Plan.
    • Scrum: This responsibility falls onto the Delivery Team and Scrum Master via iterative planning sessions, capacity planning for each iteration, and relative estimation and using past performance to forecast velocity.
  • Risk Management
    • Traditional: This responsibility falls onto the Project Manager via the Risk Register, Risk Management Plan, and Contingency Reserves.
    • Scrum: This responsibility is shared among the Delivery Team, Scrum Master, and Product Owner. The Delivery Team and Scrum Master use retrospectives to address risk and improve how they work. The Product Owner sets the guiding view into the future, sets the priorities for each iteration via the backlog, and makes informed decisions based on the technical expertise of the team and the strategy of the organization.

While the above is a high-level, “vanilla,” list of the shared responsibilities and activities, it illustrates my point. The Product Owner and Scrum Master are a lot like a Project Manager split into two roles. This allows them to share responsibilities and specialize in select areas — making them more effective and increasing the chances of success. As a coach, we need to make sure these two stand as a united front. The Product Owner steers the ship and the Scrum Master is the first-mate.

Leave your thoughts on Product Ownership, Scrum, or Project Management in a comment below or if you’d like to have a discussion, please contact me or connect with me on social media!

Photo Credit: Pixabay

Related Posts

Improving Agile Retrospectives with SMART Goals

 

 

 

 

The 5 P Pyramid Model. Assessing Policy, Process, Procedure, People and Personalities In Scrum.

The 5 P Pyramid Model.

I recall my first software development project as both exciting and nerve racking. Luckily, I was paired with an extremely talented Business Process Analyst who’s approach to requirements gathering was both methodical and like watching an artist at work. He introduced me to several ways of thinking about organizations — what I now call the 5 P Pyramid Model. This model has helped me analyze business processes and has been a wonderful tool for change management and exercising business agility. I continue to refine his ideas and accumulate my own knowledge, however, I would like to share his lessons with you by using the Scrum Process as an example.

“When eliciting requirements or attempting to document information from your stakeholders, keep the following items in mind:

The 5 P Pyramid Model
  1. Policies,
  2. Processes,
  3. Procedures,
  4. People, and their
  5. Personalities”

Policy

Policy is about understanding the landscape you operate in and those affected by your decisions. Policies guide decisions and provide rationale for their existence. Well written policies describe the what — they do not describe how an organization will fulfill the requirements of the policy. Generally, you can bucket your policies as external and internal. Internal policies also have two characteristics: De jure and de facto.

  • External policies are the laws and industry standards your organizations must adhere to. These include international, federal, and state laws you must adhere. In the case of Scrum, a government agency has policies regarding purchasing. Here is a great article regarding public-sector purchasing using Agile.
  • Internal policies are the policies related to the organization’s vision, mission, and goals. Whether undergoing business projects or internal IT projects, policies regarding how products and projects are delivered also exist. In the case of Agile, an organization’s policy describes the use of iterative and incremental development techniques vs. gated and sequential development.
    • De jure internal policies: Have been formally evaluated, approved, and adopted by the organization. Usually, they are easily accessible, understandable, and “written in stone.”
    • De facto internal policies: Have been widely adopted and accepted by the organization, however, they are not written and documented — leaving room for interpretation. Finding and documenting these policies can be difficult. At times it can feel like you’re on a journey to find the tribal leaders who can teach you the “song of the tribe.” It becomes increasingly difficult to find the tribal leaders to teach us their “songs” as more people retire and the trend for job hopping continues to grow.

Process

Business processes are the high level activities that an organization accomplishes in order to fulfill policies. They can and should be analyzed at different degrees of resolution. Think about the saying, “Give me the 30,000 foot view” vs. “At the ground level.” They should be assessed and dropped into three different categories:

  1. Operational processes are the processes related to an organization’s value chain. They are the core business activities that organizations engage in to deliver their goods and services. Using the processes that our Scrum teams use, we can see that the Sprint Review and Pushing Code to Production directly add value to our customers because this is where our stakeholders review and accept the code (sprint review) that was developed during the iteration and the delivery team makes it available to for use (delivery of shippable code).
  2. Supporting processes are the secondary functions that exist within the organization. They support the core business processes but do not provide value to the customers directly — Sprint planning and the daily scrum is where our delivery team plans what will be worked on (planning) and discusses the work being done over the past 24 hours to address any impediments to meeting the sprint goals (daily stand up). 
  3. Management processes help coordinate the operations and supporting processes. They drive for business efficiency and success. The sprint retrospective is used by the delivery team to inspect and adapt their daily work to improve efficiency and product backlog grooming is for prioritization, addressing dependencies, and writing effective user stories before the next planning meeting.

 

Scrum Process Diagram
A 30,000ft view of the Scrum Process

Procedures & People

Procedures are the steps that need to occur in each process to reach desired outcomes. They are normally fulfilled by a combination of people & technologies and are sometimes referred to as standard operating procedures. Let’s look at the procedures in our Scrum processes as an example and identify the people involved.

Sprint Planning
  1. Scrum Master: Opens the planning session, sets expectations, announces the agenda, and enforces a “time-box” throughout the planning session.
  2. Product Owner: Presents a prioritized and groomed product backlog to the Delivery Team and states what business objectives the stakeholders want attention during the iteration.
  3. Delivery Team: Examines the high priority user stories, asks clarifying questions with the Product Owner, identifies potential risks & dependencies, and helps refine acceptance criteria.
  4. Scrum Master and Delivery Team: Reviews the velocity from the last few iterations and plans their capacity for the coming sprint.
  5. Delivery Team: Uses relative estimation to size the user stories.
  6. Delivery Team: Uses their past velocity to benchmark how many user stories should be responsibly committed to.
  7. Product Owner and Delivery Team: Finalizes the Sprint Goal together.
Daily Scrum (aka. Daily Stand-up)
  1. Scrum Master: Ensures the meeting occurs, ensures no management interference on the free flow of information and discussion, and enforces a 15-minute “time-box” on the Daily Stand-up.
  2. Delivery Team: Conducts the meeting and discusses the progress towards the Sprint Goal.
  3. Product Owner: When available, attends the meeting to answer questions for the Delivery Team and makes decisions when needed.
  4. Scrum Master: Makes notes of any impediments that the Delivery Team is facing and immediately takes action following the Daily Stand-up to resolve impediments.
Sprint Review
  1. Scrum Master: Opens the Sprint Review, sets expectations, announces the agenda, and enforces a “time-box” throughout the review.
  2. Delivery Team: Presents their work in accordance with the acceptance criteria agreed upon during the planning meeting to both the Product Owner and any stakeholders invited to the meeting.
  3. Product Owner & stakeholders: Once the Delivery Team has finished presenting their work, the Product Owner and stakeholders are invited to ask clarifying questions and interact with what was built.
  4. Product Owner & Delivery Team: Takes notes of any issues, risks, or concerns from the stakeholders related to what was built or will be built in the near future.
  5. Product Owner: Accepts or Rejects each user story the Delivery Team worked on during the sprint.
Delivery of Shippable Code

Teams and organizations have their own way of pushing their code into their production environments. Due to the various best practices that exist, a separate blog post will be posted to address this at a later time. Seriously! This could be a ph.D thesis!

Sprint Retrospective
  1. Scrum Master: Facilitates the meeting, enforces a “time-box” and “sets the stage” –all information shared during the Retrospective stays within the meeting. I call this the “Vegas Rule” because what happens in Retro stays in Retro.
  2. Scrum Master: Starts with an ice-breaker if the Delivery Team is new and reviews past velocity with the team. The Scrum Master may also reminds the team of all the impediments that occurred during the sprint if the Delivery Team faced any during the sprint.
  3. Scrum Master and Delivery Team: The Scrum Master facilitates “Data Gathering” activity and the Delivery Team produces the data.
  4. Scrum Master and Delivery Team: The Scrum Master facilitates an “Insight Creation” activity and the Delivery Team creates the insights.
  5. Scrum Master and Deliver Team: The Scrum Master facilitates a “Prioritization” activity and the Delivery Team prioritizes what they want to improve.
  6. Scrum Master and Delivery Team: Decides how they will improve their own processes (either operating, supporting, or managerial processes) and creates a realistic plan to execute on. Scrum Master may need to coach new Delivery Teams about developing SMART Goals or some other goal setting techniques.
Product Backlog Grooming
  1. Product Owner: Prioritize the Product Backlog based on business objectives.
  2. Product Owner and Scrum Master: Gathers the requirements from stakeholders and writes preliminary User Stories and Acceptance Criteria
    • User Stories: As a <some role or person>, I want to <some procedure>, so I can <achieve a business outcome>.
    • Acceptance Criteria:
      • Functional
      • Non-Functional
      • Performance
      • Security
  3. Product Owner, Delivery Team, Scrum Master and invited stakeholders: Scrum Master and Product Owner facilitates an activity for the stakeholders and Delivery Team to refine the user stories and acceptance criteria.

Personalities

The personalities of our employees influences their effectiveness for their role(s). Selecting the right people with desired personalities ensures that the procedures and processes are completed correctly and in a manner that matches the organizational culture. While I won’t go into the different “types of personalities,” I will speak to the types of characteristics and traits that make an effective Scrum Master, Product Owner, and Delivery Team member.

  • Scrum Master
    • Ability to coach others with empathy.
    • Ability to resolve conflict and communicate with empathy.
    • Deep understanding of Agile and Project Management.
    • Facilitation skills and creativity.
    • Servant Leadership.
    • High level IT skills and knowledge.
    • Business acumen.
  • Product Owner
    • Strong leadership.
    • Ability to prioritize work and competing demands.
    • Ability to make decisions independently.
    • Ability to gather business requirements and elicit information from stakeholders.
    • Understanding of Agile and Project Management.
    • Domain knowledge.
    • Tactful communication skills.
  • Delivery Team Member
    • Ability to work well with others.
    • Openness to coaching.
    • Strong communication skills.
    • Strong technical skills.
    • Ability to analyze and solve problems.
    • Honesty and integrity.
    • Understanding of Agile and Project Management.

I’d love to hear your thoughts on the 5 P Pyramid Model in the comments below or if you’d like to have a discussion about Business Process Analysis, please contact or connect with me on social media!

Photo Credit: Flickr

Related Posts
For more on: