The When and How of Client Involvement in Agile Scrum Ceremonies
Agile software development methodology is focused on continuous feedback and interaction with the client throughout the software development lifecycle. Agile methodology employs sprint ceremonies, which are short time-boxed periods where developers create working software and gather feedback from the client. But when should the client provide feedback? When should the client be involved at all?
Client interaction is essential during sprint ceremonies because it helps the development team gain a better understanding of the client's requirements, goals, and expectations while also ensuring to the internal team that the client’s expectations can be managed accordingly. This interaction is facilitated through several ceremonies such as sprint planning, daily stand-ups, sprint reviews, and sprint retrospectives.
While these ceremonies are standard across all agile software projects, I have seen client interaction vary at each step, with equally varying results. The following is based on personal experience as well as industry best practices in regard to client/stakeholder involvement at each of the agile ceremonies within a software development sprint.
During sprint planning, the development team (including the product manager, developers, the project manager, and quality assurance) and the client come together to discuss the priorities for the upcoming sprint. Client involvement is HIGH during this ceremony as the client provides feedback on the requirements, priorities, and any changes to the project scope. The development team, in turn, provides input on what is feasible based on the project's constraints and timelines. This provides both parties with an ideal opportunity for co-innovation.
Note: Sprint planning is a vital forecasting process that can make or break a project momentum. A clear understanding of expectations must be present for both the internal team and the client.
Define What’s Possible
A supporting agile ceremony to sprint planning is backlog refinement. Client involvement during this ceremony is NONE, as during this time the internal development team and QA provide evaluations on level of effort and story pointing for each of the tickets in the backlog. The tickets that have been refined are then ready for sprint planning. The team should not feel pressured to estimate one way or another based on a client’s expectations.
Note: It’s critical for the project manager to have an accurate estimation of a team’s capability and ticket point output during a given sprint to correctly plan and forecast future sprints. Pushback from developers or quality assurance should be taken seriously and risk evaluated accordingly.
Keep the Wheel Turning During Daily Stand-Ups
The daily stand-up is a brief meeting where the development team discusses progress, challenges, and plans for the day. Client involvement is LOW during this ceremony. While clients and stakeholders are welcome to attend these meetings to provide feedback, ask questions, and address any concerns, priority should be placed on team members’ updates, questions and progress blockers.
Note: It is best to take any lengthy conversations or discussions that do not include all team members to the “Parking Lot”: up to 15 minutes after stand-up that those that are not included may drop from the meeting. Valuing the time of our team members is a priority during this meeting.
Sprint Reviews Offer Built-In Checkpoints
Sprint reviews (also known as “Demos”) are held at the end of each sprint, where the development team demonstrates the working software to the client. Client involvement during this ceremony is HIGH as this is an opportunity for the client to provide feedback on the software's features, functionality, and user experience. Based on this feedback, the development team can make necessary changes and prioritize tasks for the upcoming sprints.
Note: Earlier sprints in a project timeline may allow for more drastic client feedback that may require a heavier development effort, but as the project progresses into mid and later sprints, general requirements have been set and feedback should be limited to minor updates and “tweaks”. This is to ensure that the project timeline is accurate, and the deadline met. If the client feedback includes major updates and/or a redirection for the development team, a discussion must be had with leadership from both sides to determine the best path forward with minimal risk.
Sprint Retros: An Opportunity for Reflection
Finally, sprint retrospectives are held after the sprint review, where the development team reflects on the sprint's successes and failures. The client involvement is either NONE or HIGH. While I recommend having an internal sprint retrospective so the team may have time and space to reflect on the past sprint without client judgment, there may be instances where a client requests an external sprint retrospective as well.
Note: The internal sprint retro should be considered a safe space for all members. It is often suggested that feedback during this ceremony remains anonymous unless the team member would like to speak on it. External retrospectives should be primarily led by the client with feedback from their perspective, including pain points, ways to improve and successes of the past sprint. Once the feedback is gathered from both the internal team and the client, both parties must ensure action is taken on feedback. Documenting what and how we can improve is one thing, but putting that feedback into action and practice is really what makes a difference.
Perform Better Together
Client interaction during agile sprint ceremonies is vital to ensure the development team's work aligns with the client's expectations and the project space allows for successful co-innovation. It truly allows for both Bounteous and our clients to “do things better” and “do better things.” While there is a balancing act of what the client needs to be involved in and what should remain as an internal team decision, open communication should always remain a priority as it is a direct correlation with client and internal expectation management. Agile methodology promotes such continuous communication and collaboration, leading to a better understanding of the client's goals and successful project delivery.