1

We have just started using TFS (Team Foundation Server) 2017. The team project we created uses the Scrum template. There are only Epics, Features and PBIs (Product Backlog Items) in this template. How to create requirements? We don't want to use a CMMI (Capability Maturity Model Integration) template.

So, the question is: how are requirements created/managed/manifested in the Scrum template?

  • Can you please clarify if your question was about the Scrum Framework as per the Scrum Guide, or the Scrum Process in VSTS, or both? – MrHinsh - Martin Hinshelwood Jun 23 '18 at 17:00
1

I'm not intimately familiar with TFS, but in Scrum terminology, a requirement is one thing that may be a Product Backlog Item.

Consider the following from the Scrum Guide:

The Product Backlog lists all features, functions, requirements, enhancements, and fixes that constitute the changes to be made to the product in future releases. Product Backlog items have the attributes of a description, order, estimate and value.

If the Product Backlog contains only Product Backlog Items, then a requirement is one type of Product Backlog Item. A bug report would be another. A refactoring task could be another. Technical debt paydown would be yet another.

"Epics" and "Features" aren't a part of Scrum, as defined in the Scrum Guide. An Epic (and sometimes a Theme) are ways to group User Stories. The Scrum Guide doesn't require User Stories (it's mostly silent on how to format Product Backlog Items), but many teams have found success with them. If a Product Backlog Item is a User Story, it may be part of a larger Theme or Epic that describes a particular flow through the system. However, a Theme or Epic may not be something that is reasonably deliverable within an iteration.

In your case, requirements would be captured as Product Backlog Items. You may or may not want to group Product Backlog Items into Features or Epics - it depends specifically on the way you and your team decide to work.

  • Thomas, that's a good answer from the Scrum Guide. However the question is about the tool and how to use it to model requirements. This is not a Scrum question. – MrHinsh - Martin Hinshelwood Jun 17 '18 at 8:51
  • @MrHinsh-MartinHinshelwood This answer is all about using the tool as well as the broader Scrum context. All requirements are Product Backlog Items. The use of Features or Epics are optional ways to group PBIs in different ways. – Thomas Owens Jun 17 '18 at 14:20
  • Since the question only mentions Scrum in the context of the Template choice there is no information that that leads me to assume they are Scrum, or even agile. They just want to use VSTS/TFS. I would agree that Scrum is always the right choice for Software teams, but that does not seam to be the stated intent of the questions here. – MrHinsh - Martin Hinshelwood Jun 17 '18 at 18:36
  • @MrHinsh-MartinHinshelwood The question is, specifically how are requirements created/managed/manifested in the Scrum template? - This answer addresses that in the last paragraph. In Scrum, everything is captured as Product Backlog Items (which exists in the template). Epics are often used with User Stories as a way to group them. Features are another way of organizing Product Backlog Items, but not as part of Scrum itself. If you aren't using Scrum, you shouldn't use the Scrum template since it's designed for a process that is closer to Scrum. – Thomas Owens Jun 17 '18 at 19:13
  • Where does it say they are doing Scrum? It is 100% incorrect to say that if you are not doing Scrum you should not be using the Scrum Template. It is the only template that properly supports agile. It's much closer to generic agile than the "agile" or "cmmi" templates that are from MSF. nkdagility.net/2yjj3zN – MrHinsh - Martin Hinshelwood Jun 18 '18 at 7:23
0

There are no requirements, in the traditional project management sense, in the Scrum framework.

With that TFS Scrum template the big ideas, or groups of possible features, are usually recorded in Epics. Those will be broken down into more specific Features of functionality. The Scrum Team will break those down even further into PBIs, well defined slices of functionality that have been refined to a level of shared understanding so they can be implemented.

The idea of user stories can play a role in using these objects.

  • A feature can have multiple requirements - which can be written as PBI- but PBIs are directly added in the sprint and developers can modify them, Sometimes, managers want restricted access and doesnt want developers to work directly on the requirement. – Ravi Sharma Nov 2 '17 at 12:47
  • @RaviSharma I believe the current "best practice" is for the Scrum Team to define broad groups of functionality as Features then the Development Team vertically slices the those "requirements" as thinly as possible into individual PBIs. Epics can be sued to group similar sets of features. Is there a lack of trust that management wants to restrict the Development Team? Then the effort is Scrum In Name Only (SINO). There may be adjustments that can be made within TFS and that I do not know; the desire is a symptom of dysfunction. – Alan Larimer Nov 2 '17 at 13:01
  • There is no such things as "best practice" only adequate for the situation at hand. This question is not about Scrum, but about a tool. – MrHinsh - Martin Hinshelwood Jun 17 '18 at 8:50
0

TL;DR;

In the Scrum process in VSTS/TFS a "Requirement" would be represented as a "Product Backlog Item".

General wisdom in the TFS/VSTS world asserts that:

  • Product Backlog Item - A desire that can fit into a single Sprint, ideally more than one.
  • Feature - A desire that can not fit in a single Sprint, but that can fit into a single Release
  • Epic - A desire that can not fit in a single release

You can also add to that Themes, or cross-cutting concerns, that would be best suited to Tags in TFS/VSTS.

Scrum Process in TFS/VSTS

This is the Process in VSTS/TFS whos terminology most relates to Scrum and Agile. It uses the terms "Product Backlog Item", "Feature", and "Epic" for execution flow Work Items, and has a State Model of "New" -> "Approved" -> "Committed" -> "Done".

You do not need to be following the Scrum Framework to use the Scrum Process. In general, if you are following some flavour of Agile then this is the best choice in Process. Since you did not mention that you were following the Scrum Framework I did not make that assumption in the answer.

Terminology

  • Work Item - This is the generic term for an entry in the TFS/VSTS database. It is a list item with a name and fields. Different "Processes" in TFS/VSTS have different definitions of what each one is.
  • Process - This is the "Process" (VSTS) or "Process Template" (TFS) that is used by TFS/VSTS to define what the Work Items are called and what fields they have.
  • Scrum Framework - When the term Scrum Framework is used I will be referring to Scrum as defined in http://scrumguides.org
  • Scrum Process - This references the Process in TFS/VSTS that is called Scrum
  • "Product Backlog Item - A desire that can fit into a single Sprint, ideally with at least 10 others." ERROR: Arbitrary number is arbitrary. Context (Development Team size, item sizes, pace, capacity, etc.) determines the number of items the Development Team forecasts for each Sprint. – Alan Larimer Mar 6 '18 at 13:11
  • Agreed, and updated to reflect your comment. And this is the tools answer to the tools question. Since the question is not about Scrum or process I answered as a TFS/VSTS expert and not a Scrum Trainer. – MrHinsh - Martin Hinshelwood Jun 17 '18 at 8:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.