The OakXP Project Manager

This project will implement the management of a eXtreming Promgramming project. It has just started, and, as a good XP project, I'm starting to find out the User Stories that this system must do. The stories will be implemented with the look in the XP model as designed by Kent Beck (this is a proposal, it can be changed).

If you want to use this software when (at least) the first release is out, please send your user stories, I'm trying to map a great number of user stories, so I can plan a good first release.

I'm priorizing the user stories, so I can plan the first release. This list is already priorized, but I accept suggestions to change it.

The estimatives (in ideal weeks) for the user stories are listed at the right side of the name.

Register an User Story - 2

The user creates a user story for a project, it must include a name and a description.

Register a Project

The user registers a project into the system. The data stored is the project name, the project description and the start date.

Join User Stories

Small user stories can be joinned to be estimated as a single user story.

Estimate an User Story

An user with the "Developer" role can estimate an user story in ideal weeks.

Priorize the User Stories - 1

The user stories must be priorized, so the order of execution will be defined.

Plan a Release - 1

An user with the "Manager" role can register a Release, choosing the user stories that will be included in it. When estimating a release, the iterations are defined and the user stories are distributed through the iterations.

Start an Iteration - 2

When an iteration is started, all the user stories have the development tasks created, the developer sign up for them and estimated it. At this time the information about each user story is completed. Now the information is not just "the enough to estimate the task", but the "information necessary to implement it", including details like which information to store and other business rules.

Execute the Development Task - 1

A task is implemented by a pair of developers. Everyday, the developer should answer to the question "How many ideal days have you worked on this? How many more idedal days do you need before you're done?". This information should be recorded to provide the Tracker the information of how the iteration is going.

Iteration Tracking Report - 1

This report should show the percentage of how much real time has past, and the percentage of ideal days worked over ideal days needed in this iteration. And the information with the details to each developer.

Reasign a Development Task - 0

If a developer finishs its work and other developers are late, some tasks may be reasigned.

Create Acceptance Tests - 1

An User Story can have many acceptance tests. This tests will be used by the developers to know when the user story is implemented.

Organize User Stories in Decks - 2

A group of user stories can be organized in a Deck that describes "major feature". A deck has a name and a description.

Priorize the Decks - 1

As a Deck represents a major feature, it can be priorized itself, ordering all the user stories inside it.

Changing an Iteration - 2

If there is "too much to do" or "too little to do", the iteration should be changed, to remove or add user stories.

Split an User Story - 0

An epic User Story can be splitted in smaller user stories.

Change a Release - 2

At any time, an user with the "Manager" role can change an release to fit the project's changes. To do this he can add, edit or remove the user stories associated with the release. This includes moving the user stories inside the iterations. A "Deck Move" is also allowed, so the release will be completely replanned.

Create the Development Task Test - 0

In every Development Task, a test is created or changed before the implementation of the task itself.

Export the User Stories to PS or PDF - 1

There should be a way to print the user stories as the XP cards.

Change the Project Velocity - 0

At the start of each iteration, the project velocity can be changed based on the last iteration's velocity.

Velocity/Programmer Report - 1

This report will list how many ideal days a programmer has executed in the last iteration

Instant Velocity Report - 1

This report will show the "Instant Velocity" for this project, this will be calculated using the percentage of real time that had past and the number of ideal weeks already executed.