Showing posts with label sprint review. Show all posts
Showing posts with label sprint review. Show all posts

Tuesday, January 16, 2024

What does the 2nd Agile Principle (Welcome Change to Requirements) look like in Action?

Many want to go Agile or claim to be Agile. The question is, are you and will you really align with the Agile values and principles?  To better understand what this means, I dissected the Principles to better discover the intentions behind them and what behaviors they entail. In this article, I expand on the second Principle to better understand what it means and to attempt to model how to marshal supporting evidence that a culture change may be occurring.  

Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage is the second Agile principle. From an Agile perspective, you embrace change to increase the chances of delivering value to the customer. You embrace change because you understand that change is necessary as customer needs, market conditions, and general demand change over time. 

Welcoming change implies several qualities. The first is that there is a positive attitude toward change from the team and management. The second is that while change ideas are admitted, they are methodically prioritized based on customer value along with existing requirements. The third is that there is a process that allows prioritized changes to flow without obstruction.

What actions may exhibit “welcoming change to requirements”? Some evidence includes:  

  • The PO continually engages with the customer to identify new requirements or changes to existing requirements. 
  • A methodical review of the change idea occurs to determine the priority amongst the existing requirements.
  • No person or process restricts incoming change ideas. 
  • The backlog is continually refined and reprioritized. 
  • Increment Planning and/or Sprint Planning is applied to introduce the newly prioritized requirements. 
  • Continuous customer engagement via customer visits and sprint reviews are applied. 

It is up to you to determine what supporting evidence will highlight that a culture change is occurring. It is worth experimenting with this as it will help you better understand and embrace the Agile principles. The ultimate question, if you really believe in this principle is, do you welcome change?

-------------------------------------------------------------------------------------------------

To learn about what evidence might look like to support the 1st Agile Principle (aka, Satisfying Customer with Valuable Software), consider reading: https://cmforagile.blogspot.com/2023/09/many-want-to-go-agile-or-claim-to-be.html

Monday, September 26, 2016

The Forgotten Agile Role – the Customer


Many Agile implementations tend to focus on the roles inside an organization – the Scrum Master, Product Owner, Business Owner, Agile Team, Development Team, etc.  These are certainly important roles in identifying and creating a valuable product or service.  However, what has happened to the Customer role?  I contend the Customer is the most important role in the Agile world.  Does it seem to be missing from many of the discussions?

While not always obvious, the Customer role should be front-and-center in all Agile methods and when working in an Agile context.  You must embrace them as your business partner with the goal of building strong customer relationships and gathering their valuable feedback.  Within an Agile enterprise, while customers should be invited to Sprint Reviews or demonstrations and provide feedback, they should really be asked to provide feedback all along the product development journey from identification of an idea to delivery of customer value.
Let's remind ourselves of the importance of the customer.  A customer is someone who has a choice on what to buy and where to buy it. By purchasing your product, a customer pays you with money to help your company stay in business.  For these factors, engaging the customer is of utmost importance.  Customers are external to the company and can provide the initial ideas and feedback to validate the ideas into working products.  Or if your customer is internal, are you treating them as part of your team and are you collecting their feedback regularly?

As you look across your Agile context, are customers one of your major Agile roles within your organization?  Are they front and center?  Are customers an integral part of your Agile practice?  Are you collecting their valuable feedback regularly?  If not, it may be time to do so.  

Sunday, April 13, 2014

Agile Lagging to Leading Metric Path

Even in an Agile environment there is a benefit to applying measures to understand progress.  It can be tempting to apply the same iron triangle input metrics (based on cost, schedule, and scope) that may have been used in a more traditional mindset to Agile projects and initiatives.  Those, however, tend to be output related. Instead, I suggest removing all of those metrics and start with a clean slate. On the clean slate, first consider your outcomes.

An Agile mindset asks that you consider an outcome instead of output as a measure of success.  This means you should first start with understanding your desired outcomes for an initiative or project.  Within a business context of building products, one measure of success is an increase in revenue. Having a customer revenue metric helps you understand whether the products being built are increasing revenue upon release. While capturing revenue is a good starting point, it is a “lagging” indicator meaning you don’t recognize the evidence of revenue movement until after the release is in production and has been in the marketplace for a period of time.

To supplement a lagging measure, it is beneficial to have corresponding leading measures or indicators that provide you with visibility during creation to gauge if you are moving the product into a position of increased revenue. I call this framework the Lagging to Leading Metric Path.  This visibility is important because it provides input for making decisions as you move forward. Making the right decision leads to improved results. As you consider measures (or indicators), think about how they help you gain visibility and information for decisions in building a product that helps you lead toward an increase in revenue.
For a hopeful increase in customer revenue, what leading metrics can we put in place to ensure we are moving in the right direction?  Let’s say in this case that increased revenue is the hopeful lagging metric based on expected customer sales.  Examples of leading measures or indicators to achieve an outcome of this lagging metric for increased customer revenue include:
  • Customers attending Sprint Review: a leading metric where you capture how many customers are actually attending the sprint review and how much feedback they give. This indicates engagement and interest. 
  • Customer satisfaction from Sprint Review: a leading metric is capturing customer satisfaction from the functionality they viewed within the sprint review.  This indicates levels of satisfaction with the functionality as the product is being built. 
  • Customer satisfaction of product usage: an indicator of the most recent release highlighting a level of satisfaction on the usage of the current product including commentary.   

When applying Agile to product development, the outcome that matters most are often represented by lagging metrics.  Therefore you will need leading indicators to ensure you are moving in the right direction, to provide visibility, and to help you with decision-making.   Within your own context, consider constructing a lagging to leading metric path so that you know you are moving in the right direction during your Agile journey.

                    ------------------------------------------------------------------------
Note: the lagging to leading metric path really isn't specific to Agile and I would suggest applying this to an initiative or project aligning with any mindset, process, method, or practice of delivering value.

To read more about establishing an Agile Lagging to Leading Metric Path and Agile Measures of Success, consider reading Chapter 14 of Being Agile

Wednesday, February 29, 2012

Gaining first-hand insight into Employee progress within an Agile World

In the Agile world, some people find the performance review process a bit challenging and in some cases feel that it is unneeded.  Because we are moving from a more command-and-control environment to a team empowerment environment, a person acting in the manager role (e.g., functional manager, resource manager, etc) seems to have a harder time understanding what their employee is doing. Also, the manager needs to realize that when we move into an Agile world, discussion of performance should occur in a more collaborative manner with a focus on progress and learning.

Why does it appear harder? First, the employee is not (or should not be) taking work orders from the manager any longer and instead, the work should be driven from the product backlog (via the sprint backlog from sprint to sprint). Second, the manager actually does have less visibility into what the employee is doing since the employee should be 100% commited to their Agile Scrum team. So what should a reporting manager do? I’ve heard about conducting a 360 peer evaluation, but this is basically second-hand information. The question is, is there a way to gain first-hand information? What I recommend are the following ideas that can help a manager who has folks who report to him or her that are on an Agile (or Scrum) Team.

Let us start by considering the areas along the Agile process where a manager could gain direct insight into what the employee is doing. The two Scrum practices where a manager could listen into what their employee is doing is the Daily Stand-up and the End-of-Sprint Review.
  • During the Daily Stand-up (aka, Daily Scrum), the manager can quietly listen into the progress that the Scrum team members communicate during this brief meeting. Before you do this, contact the ScrumMaster and verify that this Daily Stand-up is an open meeting that you may quietly attend. If you do so, ensure you tell your employees that you may be sitting in on the Daily stand-up. If you have employees on multiple Scrum teams, you may not have time to sit in on all Daily Stand-ups. Instead of sitting in on random Daily-standups, a tip is to attend the same Daily Stand-up for 5 consecutive days so you get an idea of the work done by your employee for a weekly period (for continuity and consistency). Since the Daily Stand-up focuses on what the team member did yesterday, what they are planning to do today, and their risks, you will have some idea of how story and tasks are connected to the work of the employee and how well they are completing the work.
  • During the End-of-Sprint Review, you can potentially understand the employee’s progress by seeing what they demo (assuming the team members conduct the demo and not the Product Owner). If you learn that your employee is demonstrating work software during the sprint review, then you can quietly listen in to see what the employee built and how it works. Before you do this, contact the Product Owner and ScrumMaster to verify that you may quietly attend the meeting. If you do so, ensure you tell your employee that you may be sitting in on the End-of-Sprint Review for transparency.

You may notice that I emphasize “quietly” a couple of times. The key is that the Agile practices that I am talking about are not meant for the manager per se but for the purposes of building customer value and making progress through the project. The Daily Stand-up is specifically meant for the team members to communicate to each other on their progress. The End-of-Sprint Review is meant to gain valuable customer and Product Owner feedback so that we can ensure we are building the right product for our customers.

Next let us discuss other opportunities to gain employee insight  I suggest using 1:1s with employees to collaboratively discuss challenges, progress and learning needs but evolving it to become a continuous performance review.  These should be a low-key sessions that replaces the "big-bang" performance review.  During the continuous 1:1s, there should be an effort from both management and employee to be transparent and this should avoid any surprises when ratings or compensation matters are discussed. Ultimately, I would like to see the performance review process move away from the stogy and often negative intrustive event and evolve into a continous and collaborative discussion on progress and employee needs.  

What do you think of these ideas? Are there other ideas you have seen work successfully where a reporting manager can gain first-hand insight into their direct reports without obstructing the progress of an Agile project or the employee themselves?

Sunday, October 30, 2011

Agile and the Cloud – Match made in Heaven!

Agile and the Cloud are both pervasive these days.  Agile is a software development method based on an iterative and incremental approaches. Applying an Agile method and mindset can, on the one side, can incrementally build Software as a Services (SaaS) based products and, on the other side, utilize IaaS (Infrastructure as a Service) and PaaS (Platform as a Service) to build the SaaS products and services.

As most software professionals are aware, the action of delivering the increment into the traditional on-premise software product environment is often laborious and time consuming. SaaS conveniently provides shared software products as services, and associated data via the Internet, a model that can be scaled and configured to a company’s or product team’s needs. SaaS changes the software paradigm by providing the software as a service “in the cloud” to people and companies that need that product or service. Companies no longer need local administrators to handle the rigorous and time-consuming effort of establishing on-premise product infrastructure and the installing the software.

When building products for the cloud, a production-ready environment is made available to teams almost instantly. While most products require an on-premise installation, building cloud products reduces the need for the often rigorous and time-consuming effort of installing the new releases of the software product infrastructure prior to the installation. Because Agile utilizes an iterative and incremental approach, SaaS products can be incrementally upgraded when the Sprint Review (aka, demonstration) indicates that the product is ready. The effort on the SaaS provider side is reduced also, because a few installations by experts are much easier to develop and manage than the many installations by customers (and documentation, ramp-up, and problem resolution that are included).

On the Agile side, the challenge is to build an infrastructure that supports Agile and does not impede the progress of the Agile team that must continue to deliver value. A simultaneous goal is to avoid investment in infrastructure that may not be needed in later phases of the project. One suggestion is to utilize the infrastructure envisioning approach, which applies an incremental approach to the continuous establishment of an effective infrastructure. This is where Infrastructure as a Service (IaaS) and Platform as a Service (PaaS) can be useful to Agile teams. The cloud IaaS and PaaS approaches enable consumers to only use and pay for what they need. This is a distinct advantage for incremental development processes like Agile. This "use-what-infrastructure-you-need" approach minimizes technology debt and allows the team to adjust and scale its needs just-in-time.

As Agile methods continuously build SaaS product increments (i.e. functionality), the cloud delivers them as increasing business value to the customer with little effort from the customer. In addition, the cloud (by way of IaaS and PaaS) provides Agile projects with tools and infrastructure just-in time, so that the team always has the tools and infrastructure they need but never wastefully invests in unused equipment. Consequently, they are able to provide continuous value to the customer in the cloud. This mutually beneficial relationship is a “match made in heaven” for project teams utilizing Agile to build software in the cloud and using cloud infrastructure to support Agile projects. 

Have you benefited with the Agile and Cloud relationship?  If so, in what ways?  

Saturday, July 23, 2011

How an Agile Customer Feedback Vision can lead to Product Success!

Gaining periodic customer feedback of working software is an important aspect of agile development, because it ensures that you are constructing a valuable solution for the customer. Without customer feedback, you are not really applying agile; you are just doing a form of iterative development without aligning your work with the customer’s need. While the engineering practices applied within an agile project focus on building the product right, the validation practices focus on building the right product.

The notion of thinking through and establishing a serious feedback approach for the product, which I term the Agile Customer Feedback Vision, is missing from many agile projects—and even missing within the bailiwick of agile practices. This vision is a strategy for identifying the right customers,  applying personas, establishing feedback sessions throughout the project, and then motivating the customers to attend the feedback sessions.

Establish Customer Profiles

Customer profiles are important to a successful implementation of customer validation. A customer profile identifies common traits in your target customers, including demographics, buying patterns, and areas of interest. The goal is to identify and select customers who meet the profile you are looking for and who are willing to provide feedback.

Identify Personas

Personas represent the users of the product that is being developed.  There are often several personas that use a product for various reasons.  An example of 3 personas that may use an on-premise application are: "Regular User", "Power User", and "Administrator".  They all use the product a bit differently and features are built for their needs.  The importance of identifying the personas in regards to customer feedback is that you should invite the customers that represent that persona when those features are being demonstrated.  For example, when you are demonstrating a feature that focuses on administration tasks, then the best feedback comes from having someone from the customer who represents the administrator.

Motivate Customers to Attend

Start by inviting customers to just one end-of-sprint review or demo session and getting their input. Customers who have not experienced something like this before typically are impressed to see working software so early in a release lifecycle. If they like the first validation session, then invite them to the next end-of-sprint review and excite them by highlighting where you’ve incorporated their input. At this point, ask the customers if they want to participate periodically at a per-sprint cadence.

Capture Customer Feedback

Capturing customer feedback is important to ensuring we are "building the right thing".  I have seen feedback languish which defeats the point of gaining the feedback.  It is critical that the feedback gets incorporated into the next Sprint Review.  The feedback that you gain should be linked to the User Story and should also capture the customer by way of Customer Profile that gave the feedback.

Consider Various Types of Customer Feedback Loops

While there is significant benefit to the end-of-sprint review or demo, the customer is, in most cases, only viewing the working software at that point. Let us review the potential types of customer validation sessions and their attributes in more detail.

• Sprint Review/Demo—This is a type of feedback that demonstrates the working software completed during the sprint, shown to customers in order to both highlight progress and gain the all-important customer feedback.

• Hands-on Experience—This is a type of feedback where customers will exercise the software in a hands-on manner in a simulated or pilot working environment.  This could be in the form of alphas or betas.

• On-premise Installation Feedback—this is a type of validation where customers physically install the working software into their environment.

Once you have established the Agile Customer Feedback Vision, it is important to share it with the team so that everyone is aware of the vision and the importance of the validation activities.

To learn more about Personas, go to: http://cmforagile.blogspot.com/2013/12/personas-do-you-really-know-your-users.html.