Need advice? Call Now, Schedule a Meeting or Contact Us

head-imghead-imgSpeak to an Advisor
Flag
  • FlagAU
  • FlagEU
  • FlagIE
  • FlagUAE
  • FlagUK
  • FlagUSA
  • FlagSA
  • FlagSG

Mastering Requirements Gathering in Agile Project Management

Luke Pivac explores progressive elaboration and the FEEDBACK Method for mastering requirements gathering in agile project management.

By Luke Pivac 04 Nov 2024
Mastering Requirements Gathering in Agile Project Management

Exploring Progressive Elaboration and the FEEDBACK Method to Excel in Requirements Gathering

This article explores Progressive Elaboration, an agile method where requirements are detailed progressively from high-level to specific tasks. It also discusses refining requirements using the FEEDBACK approach.  

First, let’s explore what Progressive Elaboration is in detail.

Exploring the Guiding Principle of Progressive Elaboration

In Agile, Progressive Elaboration emphasises the ongoing enhancement and refinement of the agile plan as further details emerge. This means that estimates become more precise as additional information becomes available. This approach is integral to ‘Just in Time planning’ (JIT).  

What is Progressive Elaboration?

Progressive Elaboration involves breaking down high-level requirements into detailed tasks, moving from epics to features, and then to user stories and subtasks.  

The Relationships Between Epics, Features, User Stories, and Subtasks

Understanding Progressive Elaboration

To enhance planning efficiency, agile teams break down tasks into epics, features, user stories, and sub-tasks. Let’s explore these categories a little deeper.  

Themes

Themes are high-level strategic goals that guide agile projects, aligning team efforts with broader organisational priorities. They break down complex projects into manageable sections, organising epics, features, user stories, and sub-tasks for a clear vision and measurable outcomes. This structure improves planning, tracking, and collaboration among team members.  

Epics

Epics are large user stories that will probably need to be divided into smaller stories. Epics are generally too extensive to fit within a sprint and might take up to a quarter of the year to complete.  

An epic comprises a group of related user stories with a common objective.  

The distinction between epics and features can often be unclear. Sometimes, agile teams skip features and move directly to user stories, which is acceptable if required. Nevertheless, we have included features in this article as a best practice.  

An epic is typically written in a user story or elevator pitch format. Epics serve as a valuable tool for organising and structuring your work.

Features

A feature is a significant piece of work derived from the epic, intended to deliver value by progressing substantial portions of the work outlined in the epic. Features are broken down into specific tasks tailored to the needs of customers, stakeholders, or users. These tasks can be sized or divided as necessary for agile teams to execute.  

Generally, features can represent a collection of functionalities rather than focusing on individual user perspectives, which is common to many stories. Features should provide business value and be estimable, ideally being small enough to fit into two or three sprints. Ensuring features are testable is crucial, so having a Definition of Done for each feature is recommended.  

Whether it’s an epic, feature, or story, every requirement should align with the release plan, roadmap, and product vision. If there is no alignment with these higher-level plans, the product owner has the authority to reject the request for the feature or story.  

User Stories

User Stories1 often referred to as just ‘Stories,’ are usually brief requirements or requests penned from the user’s viewpoint. This perspective emphasises the value of the task by considering what a user aims to achieve — also called an ‘enabler.’ These stories are tasks that can be developed and completed within a single sprint or iteration. When drafting a new user story, I suggest using the following template in the story’s header:  

As a <type of user>, I want <some goal> so that <some reason> 

Subtasks

Stories can be divided into smaller subtasks. This is usually organised and refined during sprint planning and sprint refinement meetings.  

Subtasks are akin to the steps in a cake recipe, whereas the cake itself represents the User Story. These should be created as close to the time of the sprint as possible. Tasks are always focused on achieving specific outcomes.  

Example of How Progressive Elaboration Could Work

Consider an Agile Scrum scenario where a product owner collaborates with their development team to gather requirements. Initially, the team can brainstorm user stories and features without worrying about prioritisation.  

The product owner then incorporates these ideas into the plan or offers feedback to stakeholders, ensuring the team’s empowerment. Having clarity on the placement of these elements within the roadmap or backlog helps keep the team focused.  

Both epics and features can be present on the product roadmap as well as release levels.  

Although including detailed features or user stories in the roadmap is possible, it may lead to management challenges.  

Refining and elaborating on project details as more information surfaces is crucial. This iterative approach aligns perfectly with Agile principles, emphasising continuous improvement and adaptability.  

The FEEDBACK method can be effectively integrated into Progressive Elaboration. This approach highlights ongoing communication and collaboration among stakeholders, development teams, and product owners. By consistently revisiting and updating the requirements, the FEEDBACK method ensures that the project stays in line with customer needs and business objectives.  

In recent years, Agile project management has transformed software development by focusing on flexibility, teamwork, and customer satisfaction. The dynamic nature of Agile settings, particularly the concept of epics — large tasks divided into smaller ones — is essential for delivering projects successfully within Agile frameworks. The FEEDBACK method proves particularly useful in this context.  

What is the FEEDBACK Method?

The FEEDBACK Method is crucial in Agile practices, optimising epics to meet stakeholder expectations and project goals. It embodies a continuous loop of iteration and improvement, where feedback is constantly sought, analysed, and incorporated throughout the project lifecycle. Rooted in the Agile Feedback Loop, it is essential during and after sprints.  

Understanding the FEEDBACK Method

FEEDBACK is an acronym, detailed below, with each initial letter spelling out FEEDBACK.  

Understanding the FEEDBACK Method entails breaking down its components and appreciating its influence on Agile project management:  

  1. Frequent Iteration: Agile benefits from brief, iterative cycles that enable regular evaluation and adaptation. By consistently revisiting epic composition, teams can adjust or continue based on the most recent feedback and insights.  
  2. Engagement: Stakeholder engagement is crucial. The FEEDBACK Method promotes continuous communication with all involved parties, ensuring the project stays aligned with business goals and stakeholder requirements.  
  3. Data-Driven Decisions: Gathering and analysing data are central to the FEEDBACK Method. Whether looking at performance metrics (information radiators), user feedback, or team retrospectives, data drives the decisions shaping the epic’s direction.  
  4. Backlog Refinement: Maintaining a well-groomed product backlog is vital for successful epic composition. The FEEDBACK Method endorses regular backlog refinement sessions to prioritise tasks and manage scope creep, known as backlog refinement.   
  5. Actionable Insights: Feedback must be turned into actionable steps to progress the project. This involves making informed decisions that enhance the epic’s value and resolve any identified issues.  
  6. Continuous Improvement: The Agile philosophy embraces change and strives for excellence. The FEEDBACK Method nurtures a culture where continuous improvement is not just encouraged but expected.  
  7. Knowledge Sharing: Sharing knowledge and lessons within the team enhances collective understanding of the project and boosts collaboration. The FEEDBACK Method advocates this exchange as a way to refine epic composition further.  
  8. Customer-Centric Approach: Ultimately, Agile focuses on delivering value to the customer. The FEEDBACK Method ensures customer feedback is integral to the epic composition process, driving the development of features that truly matter to the end user.   

Incorporating the FEEDBACK Method into Agile Project Management

Incorporating the FEEDBACK Method into Agile project management necessitates a cultural transformation towards openness, adaptability, and an unyielding commitment to improvement.  

It’s about creating a feedback-rich environment where each team member feels empowered to contribute to the success of the epic. By utilising feedback loops at different stages of the sprint process — such as during daily standups, sprint reviews, and retrospectives — teams can stay responsive to the evolving needs of the project.  

This approach not only enhances the quality of deliverables but also ensures that the team remains agile in the truest sense, capable of responding to changes and seizing opportunities for innovation. The FEEDBACK Method is foundational to Agile project management, enabling teams to optimise epic composition through a structured yet flexible approach.  

The FEEDBACK Method encapsulates the principles of Agile2, fostering a collaborative atmosphere where feedback serves as the engine for growth and excellence. As Agile methodologies continue to advance, I believe the FEEDBACK Method will remain an essential tool for teams striving to deliver exceptional value in an ever-changing world.  

Implementing the FEEDBACK Method

The FEEDBACK Method is often regarded as a “transformative approach” to enhancing efficiency and promoting collaboration across various Agile teams. Incorporating this method into your team’s or organisation’s workflows can create a more dynamic and resilient environment where continuous improvement becomes a successful reality.  

Cultivate an Open Feedback Culture

Begin by fostering a culture where feedback is welcomed and valued. Encourage team members to share their insights, suggestions, and knowledge without fear of criticism. This can be achieved through regular team meetings and by creating a safe space for open dialogue.  

Set Clear Goals and Expectations

Clearly define what you aim to achieve with the FEEDBACK Method. Start by setting Specific, Measurable, Achievable, Relevant, and Time-bound (SMART) goals that align with your team’s objectives and project deliverables.  

Train Your Team

Ensure that every team member understands the principles of the FEEDBACK Method and how it applies to them. If necessary, conduct training sessions to emphasise the importance of feedback, how to give and receive it constructively, and the process of translating feedback into actionable insights.  

Implement Feedback Loops

Integrate feedback loops at each stage of your project lifecycle, including planning, delivery, execution, review, and retrospectives. Use tools such as Kanban boards, user stories, and burn-down charts to visualise progress and facilitate feedback. These tools are known as information radiators.  

Encourage Frequent Iteration

Adopt an agile mindset that includes delivering frequent iterations or sprints. This allows the team to make incremental changes based on stakeholder feedback, minimising rework and ensuring adaptability to changing requirements.  

Utilise Data-Driven Decision Making

Collect data from various sources, including performance metrics (information radiators), customer reviews, and team retrospectives. Analyse this data to inform and drive important decisions that improve the composition of your epics and user stories.  

Prioritise Backlog Refinement

Regularly refine your product backlog to ensure it accurately reflects current priorities based on stakeholder and business feedback. Consider involving your team in backlog refinement sessions to assess what’s working, what isn’t, and what can be improved.  

Focus on Actionable Insights

Transform feedback into concrete actions that can be implemented. Assign responsibilities and deadlines for these actions to ensure they are carried out effectively. For more detailed guidance, I recommend my book, “Team Facilitation the Agile Way”.  

Embrace Continuous Improvement

Make continuous improvement part of your team’s culture. Celebrate successes, learn from failures, and always seek ways to enhance goals, processes, and outcomes.  

Share Knowledge and Learnings

Create a knowledge-sharing community within your team. Document lessons learned, best practices, and innovative solutions generated from the feedback process.  

Keep the Customer at the Forefront

Maintain a customer-focused approach by actively involving stakeholders in the feedback process. Scrum methodologies can be particularly effective for this. Use customer feedback to guide feature development and ensure that the end product meets their needs.  

Review and Adjust Regularly

Continuously review the effectiveness of the FEEDBACK Method within your team and be prepared to adjust as needed to optimise its implementation. Consistent improvement ensures that your processes remain dynamic and effective.  

Implementing the FEEDBACK Method in your Agile team can be highly effective when you follow these steps. This technique goes beyond merely gathering feedback; it fosters a cycle of ongoing learning and improvement, driving your team towards outstanding performance.  

Adopt the FEEDBACK Method to see your team flourish in an atmosphere where collaboration, innovation, and customer satisfaction take centre stage.  

The FEEDBACK Framework

The FEEDBACK Method is a powerful framework designed to promote continuous learning and improvement within Agile teams.   

This method stands for:  

  • Focus: Concentrate on specific, measurable goals.  
  • Engage: Involve all team members in the process.  
  • Evaluate: Regularly assess progress and outcomes.  
  • Discuss: Openly communicate findings and insights.  
  • Brainstorm: Generate innovative solutions and ideas.  
  • Act: Implement changes based on feedback.  
  • Continue: Maintain momentum with ongoing iterations.  
  • Knowledge: Document lessons learned and best practices.  

Applying the FEEDBACK Method to Progressive Elaboration involves using these principles to refine and expand project details over time.   

By focusing on incremental improvements and actively engaging team members, Progressive Elaboration ensures that projects evolve based on real-time feedback and emerging requirements.  

Conclusion

The synergy between the FEEDBACK Method and Progressive Elaboration creates a robust framework for Agile teams to thrive. While the FEEDBACK Method encourages continuous improvement through structured feedback loops, Progressive Elaboration allows for dynamic adjustments as the project progresses.  

By implementing these approaches, teams can achieve a harmonious balance of innovation, collaboration, and customer satisfaction.  

Take your team to the next level by implementing the FEEDBACK Method today. Embrace Progressive Elaboration to keep your projects adaptable and responsive. Together, these methods will drive your team’s success and ensure that you remain at the forefront of your industry.  


Reference Literature:

  1. Mountain Goat Software. User Stories.
  2. Agile Manifesto. Principles behind Agile Manifesto.