Agile Me This!

Archive for the category “Agile”

Planning For Your First Potentially Shippable Increment – Part 2

Written by Anu M. Smalley and William F. Nazzaro

In Planning For Your First Potentially Shippable Increment – Part 1 we recommended that organizations should properly plan for their first PSI.  For simplicity, we will refer to this planning as preparatory activities for your first PSI.

What is the goal or purpose of these preparatory activities?

The goal is to be ready and able to delivery business value in the form of potentially shippable features at the end the release train.

How long should one spend on these preparatory activities?

As a benchmark, we found it useful to have this timebox be the same length as the upcoming Agile Release Train (ART).  If you are planning a 12-week ART, we recommend 12 weeks for the preparatory work.  It may seem like a lot of time, but there is a good deal of work to get ready for your first Potentially Shippable Increment (PSI). [1]  Keep in mind, this is recommendation, not a rule, and the preparatory needs will vary based on your organization’s agile maturity.

Below is a collection of six preparatory activities we refer to as “Form Program & Leadership”.  We recommend that these activities occur 10 to 12 weeks prior to the launch of your first Agile Release Train.

1.     Validate Value Stream

A successful agile transformation or a scaling implementation needs to happen bi-directionally – top down and bottom up.  Validation of the value stream brings together everyone in the value stream to ensure that all teams, leaders, and support services are dedicated and willing to meet the commitment to deliver on the value streams objectives, which is providing business value.  This helps the process of identifying and disseminating the vision of the value stream.

This is ideally done with executives from IT and the business.  This is to ensure that the value stream or the “kidney” is valid and complete.  With an incomplete value stream the rest of the effort to stand up a release train is at severe risk. With the value stream identified and validated we are now ready to form and train the leadership of the Agile Release Train.

2.     Form and Train ART Leadership Team

When considering membership for this team we will look at both the business and IT that make up the value stream.  In larger organizations we will consider senior leaders that are business stakeholders, value stream champion, IT leadership, and those managers making decisions on what personnel will be part of the Agile Release Train team.

The ART Leadership need to understand what the SAFe™ framework is, how its implementation will impact their teams and the commitment to delivering business value.

While it’s recommended that we provide the ART Leadership Team with the 2-Day Leading SAFe class.  We prefer to provide a shorter 1-day version that includes the following topics like Agile Manifesto & Principles, SAFe Big Picture Overview, SAFe Roles & Responsibilities, What to Expect During Your First PSI, and What Changes with Agile and What Doesn’t.

This enables them to know what they are committing to, how a release train works, and what they must do to help assure SAFe is implemented correctly.

This class is only held for the ART Leadership which will often have very different questions from the ART team members.

3.     Identify Program’s Key Players & Teams

Bringing together a 100+ people within a defined value stream together for 2 days to plan for the next 12 weeks is a huge endeavor and requires some level of responsible planning.  We need to ensure the correct people have been identified and are prepared to talk to the business value of the features being discussed as well as managing risks across the train.

Identifying key Agile Release Train (ART) players early on in the process is a critical step to the success of a SAFe QuickStart.  Some of the key players needed early on are:

  • Product Management
  • Architect
  • Release Train Engineer (RTE)
  • Release Management Team
  • Business Owners
  • System Team
  • Dev Ops
  • Scrum Masters

4.     Program Team Kick-Off

From the outset it should be clear what the purpose of the Program Team is, their roles and what’s expected of them and how agile may influence their behaviors.  During this time of “forming” we’ve found it advantageous to have the Program Team also establish a Working Agreement.  This working agreement should outline how they plan on working together to handle prioritizations, coordination, escalations, and impediments.

5.     Review Readiness Checklist

We should have the Release Train Engineer and his/her key people identified above actively work through the PSI Readiness Checklist.  While SAFe’s Readiness Checklist[2] is a good place to start you may want to adapt this checklist for your organization. Some things to consider are:

  • Are all the teams on the train in place
  • Is training available for these teams on agile concepts as well as any tools and processes that are part of the organization
  • Has a coach been identified and engaged to assist with the teams as well as the groups on the program level
  • Is the tool to be used by the train for their PSI ready and set up
  • Are all support services available and committed to the release train
  • Are the engineering practices to be used understood and in place

This is not an exhaustive or exact list; rather, these are ideas to guide your activities and provide you with an awareness of the amount of preparation required to work to ensure a successful QuickStart.

6.     Establish Program Team Backlog

A common Program Team Backlog contains the stories the Program Team needs to keep the train on the tracks.  It’s important to note that the Program Team Backlog is different from the Program Backlog.  The Program Backlog contains the prioritized features.  The Program Team Backlog contains the stories that:

  • Remove impediments for the agile release train,
  • Establish, maintain and track program-level metrics,
  • Manage critical value stream relationships that are external to business or organization,
  • Represent the communication to and for the agile release train,
  • Drive a continuous improvement culture.

The Program Team Backlog takes time to build and these stories can impact the scrum teams’ abilities once we start the ART.  Having these items identified and potentially being worked on prior to the PSI Quick Start will ensure the train is effectively moving forward on the tracks.

Conclusion

In Part 3 of this article we’ll discuss the “Build Vision and Backlog” preparatory activities we recommend to address 6 to 10 weeks prior to launch.  In Part 4 of this article we’ll discuss the “Conduct QuickStart” preparatory activities we recommend to address 1 to 2 prior to launching your first Agile Release Train.


[1] Note: Not all individuals will be working full-time on the preparatory activities

[2] Agile Software Requirements, by Dean Leffingwell, p 485.

Planning For Your First Potentially Shippable Increment – Part 1

Written by Anu M. Smalley and William F. Nazzaro

In 2013 the Scaled Agile Framework (SAFe) appears to be the de facto standard for those organizations seeking to go beyond team agile and truly bring distributed, scaled agile adoption to their enterprise.  While SAFe has made quite the splash and many companies are seeking to adopt it, we would like to share some of our experiences both pro and con with assisting our clients in implemeting SAFe.

One area of SAFe that is incredibly powerful is the concept of a Potentially Shippable Increment (PSI) and the metaphor of an Agile Release Train (ART).

What is a PSI?

PSI provides the Program or Enterprise with a timebox in which iterations are then conducted.  The PSI offers the following: “a routine and continuous planning cycle, an aggregation of iterations value into larger piles of newsworthy value and a quantum unit of thinking, roadmapping, implementing and measuring.” [1]

What is an ART?

“The Framework’s primary scaling mechanism, the Agile Release Train (ART), is to the program what iteration is to the team. It follows the same pattern—plan, commit, execute, demo, and reflect—but at the Program Level (see Figure 1) where it produces system-level working software every two weeks, and full, potentially shippable increments of software every 4-5 iterations.” [2]

safe

Figure 1 – Agile Release Train

Although the PSI and Agile Release Train are very helpful for teams to focus the delivery of business value to their stakeholders the one concern we have with the current version of SAFe [3] is little to no mention on planning for your first PSI.  While this may be an oversight or intentional (and we acknowledge that SAFe is meant to be a framework and not a prescriptive process), we feel this lack of detail may actually catch those new to SAFe off-guard as they embark on their first Agile Release Train.

Why do I need to plan for my first PSI?

Many organizations new to SAFe are likely to conduct an Agile Release Train Quickstart.  This 5-day immersion program will bring together anywhere from 50 to 100 people into a single location with the sole purpose of identifying PSI 1’s features and objectives.  If the Quickstart is the first time that a company is thinking about teams, governance, value streams and features it could be quite costly and disappointing for those in attendance.

Therefore, we recommend planning for your first PSI and allow a Program and Enterprise the time to ask and answer these hard questions prior to bringing all of these people together.

Now that we’ve framed the problem, in our upcoming blog posts we will discuss and share what should be done prior to launching your first PSI.

Building Trust – Not just a cliché

Trust is the main ingredient in an Agile Transformation. Trust is the building block of team cohesiveness and is what allows people not only to feel but also to be empowered.  Building trust is organic and cannot be rushed, scheduled or forced.

When a team is first put together they might be a reluctance to rely on and trust each other.  Team members who do not know each other often fall back to doing what they know best.  At this stage team members are working as independent people working in their silos and connecting when they need to at the end of the sprint. Every person for oneself is the motto!!!!

One of the biggest factors blocking trust is an unwillingness to be open and vulnerable to your team.  During the forming of a team it is critical to help the team get to know each other.  This is not just what kind of work they do but helping the team to get comfortable with each other, to be open and willing to raise impediments, to work together towards a common goal.

Here are five key attitudes and behaviors for building and maintaining an environment of trust –

1.     Respect – Respect is one of the foundations of trust.  Building on the saying –“treat others as you would like to be treated” – respect others, as you would like them to respect you.
2.     Collective Accountability – There is no one person to blame or to take credit.  The team collectively fails or succeeds.  Finger pointing or hogging the recognition is a sure way of breaking trust.
3.     Assume Positive Intent – As you get to know each other assume that the other team members are always working to the benefit of the team.  This does not suggest that naïveté is needed to build trust, but I would submit that a little naïveté along with positivity would go a long way.
4.     Team First – As clichéd as “there is no I in team” sounds, there must be a spirit of selflessness towards team objectives.  Team members working together responsibly towards a shared goal will immensely help with building the trust in the team.
5.     Communication – Communication is a capstone of the building blocks towards trust.  Open, honest communications is a MUST to develop and maintain trust.

In his book The Speed of Trust, Stephen Covey wrote:

There is one thing that is common to every individual, relationship, team, family, organization, nation, economy, and civilization throughout the world — one thing which, if removed, will destroy the most powerful government, the most successful business, the most thriving economy, the most influential leadership, the greatest friendship, the strongest character, the deepest love.

On the other hand, if developed and leveraged, that one thing has the potential to create unparalleled success and prosperity in every dimension of life. Yet, it is the least understood, most neglected, and most underestimated possibility of our time.

That one thing is trust.

 

Definition of Impediment

As an agile coach,  I have heard often during standup – “I worked on task X yesterday, but was not able to complete it. I plan to work on task X today and hope to complete it.  I have no impediments.”  This went on for 2 days until I asked how long the task was originally estimated for and the response was – 8 hours.  So here we are 16 hours later, we have not yet completed task X and we have no impediments.  Upon further questioning I found out that the reason this task was going over the estimate was because the team member was waiting for someone on a different team to provide a particular access.  So in fact there was an impediment but this team member was hesitant to call out someone else as one.

This is a story we have all heard – right?

In a culture of competency no one wants to call out  another person for not doing their job, so they might not properly identify impediments.  One of the new standup questions in the updated scrum guide might aid this issue –  “Do I see any impediment that prevents me or the Development Team from meeting the Sprint Goal?” This is one way for team members to call out impediments for the whole team rather than just for themselves.

One thing I did to help my team to more objectively identify impediments –  is create a “Definition of Impediment”.  This was posted just like the Definition of Ready and Done in the team room on the BVIR’s.  The Definition of Impediment is created the same way as the other two definitions – together as a team.  Some of the things we listed on our definition of impediment are:

  • If a task is taking more than estimated and that is due to waiting time on any person other that the team member – it is an impediment.
  • If someone outside the team needed to do something to complete a task and the team had been waiting for over 1 day  –  it is an impediment.

Each morning during standup,  each team member was asked to look at the Definition of Impediment prior to answering the question – ” Are there any impediments ?”.  Over the course of 2 sprints the team started becoming more accountable to themselves.  They would call out dependencies outside the team that risked becoming an impediments.  They would call  out dependencies that other team members were not willing to call out.  Realizing that estimating is a skill that will improve over time, the team dug into how there were estimating and why their estimates were unrealistic.

The Definition of Impediment helped them see beyond their current agile maturity and identify areas of opportunity to “Be More Agile”!!!

 

Post Navigation

Sharon Bowman's Website

The best of brain-based teaching, training, and learning!

Adventures in Learning

A Scrum Masters journey through Agile and SCRUM

Agile Coach Journal

by Roger Brown

Agile Scout

Agile Software Development News

Agile Business Connect

Getting your business Agile is a easy as ABC!

William F. Nazzaro's Blog

Streamlining Software Development & Accelerating Project Delivery

esther derby associates, inc.

designing your environment for agile success

%d bloggers like this: