Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I manage specs in Scrum? [closed]

Tags:

agile

scrum

Referring to this buddy question, I want to know how one can manage specs in Scrum process ? I'm facing this problem while assigning tasks to my team for the sprint. Needless to say - I'm new to Agile/Scrum.

Currently, we are using our own specs sheet to map StoryId to SpecId and vice versa. I'm getting the felling that Scrum is more about project management [getting things done on time] and you need a seperate process to manage specs and requirements.

How do we manage specs in a Scrum process ?

like image 429
this. __curious_geek Avatar asked May 24 '10 10:05

this. __curious_geek


2 Answers

The short answer is, you don't.

The important question to ask yourself when writing these specs, is why do we do them? What is the value in the spec?

The value in the spec usually comes in communicating the ideas of the business with the development team. Scrum is designed to bring the business (in the form of the Product Owner) to the development team. By interacting with the team frequently (remember, individuals and interactions over processes and tools), and by seeing working software frequently, the business can work hand in hand with developers to produce software that solves business problems better than by trying to spec out the whole thing before you get to try it out.

This is how Agile projects do a better job of delivering the product the business wants instead of the product they requested.

That said, there are certain base criteria that need to be met. We can test for this, and as with any good tests, we can automate it.

Have a look at BDD and Cucumber. In addition to your User Story, it's good to have a basic set of conditions of satisfaction, preferably in the "Give/When/Then" format. These conditions are the minimum set of criteria for the story to be accepted as complete.

For example, "Given I am logged in, when I log out, then I am taken back to the home page".

If you're going to have acceptance criteria, you're going to want to automate it. The worst part of most specifications is they often end up out of date and collecting dust when the project is complete.

Also, you shouldn't be assigning tasks to the team. Scrum teams are self organizing and anyone should be able to grab any task they feel they can work on while respecting the priority of the stories. Swarming is a big part of the performance benefits of Scrum.

You may want to consider bringing in an outside coach to assist with your transition.

like image 147
Todd Charron Avatar answered Sep 20 '22 01:09

Todd Charron


I think that the easiest way is to make the specifications a part of the user stories within the tasks, themselves. Clearly list the acceptance criteria in each one (or if your issue tracking software allows you, create them as first class work item types). Let the issue in whatever you use for work item tracking become the living document.

There are drawbacks, such as finding related issues as specs change over time, but this can usually be managed in the work item tracking tooling, assuming your can relate issues to each other.

The way that we do it is that we (actually a BA, not the developers) creates a sign-off deck for the product owner to review and we collaboratively create tasks off of that. If we cannot create a task, or there are open questions, we will go back to the product owner with those questions and update the deck. All of our decks are organized (in SharePoint) so that we can easily find them in the future.

like image 40
Joseph Ferris Avatar answered Sep 17 '22 01:09

Joseph Ferris