Q
Problem solve Get help with specific problems with your technologies, process and projects.

Understanding the dependencies between requirements in a Scrum environment

Prioritizing user stories for each iteration in a Scrum environment can be challenging if the project owner does not understand the dependencies between requirements. In this expert response, Lisa Crispin shares best practices for prioritizing user stories based on requirement dependencies.

How can the product owner understand the dependencies between requirements when prioritizing user stories for each...

iteration in a Scrum environment? What if the implementation of a particular user story is dependent on another user story that has not been implemented yet?

Since we usually start a new theme or feature with a meeting to discuss the purpose of the theme, brainstorm technical implementations and break it into user stories, we can consider dependencies at this time and help the product owner prioritize the user stories in the correct order. Usually, the product owner (PO) gives us all the user stories for a theme, and we are free to work on them in the order that makes the most sense. The PO indicates which user stories are “must-haves” and which are “nice-to-haves,” which helps us plan how to work on them. This is one advantage of the self-organizing team in Scrum: We manage our own workload in the way that makes the most sense. After all, we were hired for our ability to deliver high-quality software. The business cannot tell us how to ensure the technical aspects of that quality. We have to take that responsibility.

This is another area where your team may need to experiment with different approaches. Some teams adhere to a rule that a user story must deliver value to the business. We don’t worry about that, as we may need user stories that build up infrastructure or make changes to our application or database model. Our team releases to production every two weeks. If a theme can’t be completed in one sprint, we use a system runtime property to “turn off” the new functionality and prevent end users from seeing or using it. That way we can release the theme when we’re ready. Teams that actually release to production less frequently may have different ways of ensuring that they have enough ready to release, which includes considering dependencies between user stories.

Dependencies also come into play when estimating user stories. Because we keep our user stories small, which helps with predictability and maintaining a steady pace, we will estimate stories in the order in which we think they should be done. If Story A is dependent on Story B, our estimate for Story B will be something like “Three points, assuming Story A is complete.”

This was last published in March 2011

Dig Deeper on Gathering Software Requirements Use Cases

PRO+

Content

Find more PRO+ content and other member only offers, here.

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

Start the conversation

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.

-ADS BY GOOGLE

SearchMicroservices

TheServerSide.com

SearchCloudApplications

SearchAWS

SearchBusinessAnalytics

SearchFinancialApplications

SearchHealthIT

DevOpsAgenda

Close