|
|
|
@ -1,91 +1,5 @@
|
|
|
|
|
What is OpenScrum? |
|
|
|
|
|
|
|
|
|
OpenScrum is a tool for agile development. It is a web based tool to manage |
|
|
|
|
your project development. The stakeholder adds a project, gathers a team, they |
|
|
|
|
both add their ideas to the project, and they are ready to go! |
|
|
|
|
|
|
|
|
|
Add your ideas, approve the ones uploaded by the team, and they can start |
|
|
|
|
developing them. |
|
|
|
|
|
|
|
|
|
What OpenScrum is not? |
|
|
|
|
|
|
|
|
|
OpenScrum is not an issue tracker. Although the product backlog can be seen as |
|
|
|
|
one, issues should be tracked in a separate software. The OpenScrum team uses |
|
|
|
|
Bugzilla for this purpose. |
|
|
|
|
|
|
|
|
|
OpenScrum is not a project planner. Although the product and sprint backlogs |
|
|
|
|
can be seen as one, it doesn't (and won't) provide all features of a project |
|
|
|
|
planner. |
|
|
|
|
|
|
|
|
|
How does it work? |
|
|
|
|
|
|
|
|
|
First of all, a stakeholder and a developer must register on the site. Then, |
|
|
|
|
the stakeholder must create a new project, and within the project, a team. |
|
|
|
|
Then, the team must be filled with members. For this, the stakeholder may put |
|
|
|
|
on some advertisement, so developers can contact him for details. Then the |
|
|
|
|
stakeholder invites the chosen developers to his project's team. |
|
|
|
|
|
|
|
|
|
Then the idea pool is filled (of course, this can be started while inviting the |
|
|
|
|
developers). When added, both parties need to add a positive vote on it to put |
|
|
|
|
it in the product backlog. |
|
|
|
|
|
|
|
|
|
If the project is an already working one, it may have a bug tracker from which |
|
|
|
|
you can import bugs as user stories. Be warned however, that bugs added this |
|
|
|
|
way will only be fixed at the end of the sprint, so a better approach to this |
|
|
|
|
would be to fix critical bugs between two sprints, or to dedicate a developer |
|
|
|
|
who will not work in the next sprint, but fix bugs instead. |
|
|
|
|
|
|
|
|
|
The product backlog is priorized by the stake holder, and their development |
|
|
|
|
time is estimated by the team. If the estimated time is larger than the sprint |
|
|
|
|
length, the poster of the story is notified to break it down into smaller |
|
|
|
|
stories. If he doesn't do it, the story remains in the backlog with the long |
|
|
|
|
estimated time. Otherwise, the story is removed from the backlog, and the |
|
|
|
|
poster can break it down into smaller parts. |
|
|
|
|
|
|
|
|
|
According to the sprint length, the user story estimations and priorities, the |
|
|
|
|
team and the stakeholder create the backlog of the next sprint. The team will |
|
|
|
|
use this backlog during the sprint. |
|
|
|
|
|
|
|
|
|
During the sprint, the team and the stakeholder should reduce communication to |
|
|
|
|
a minimum level. However, sometimes it is required to discuss something. This |
|
|
|
|
can be done within the specific user story using a chat function. The sprint |
|
|
|
|
backlog can not be changed during a sprint, as it would change the sprint's |
|
|
|
|
length. Instead, in the discussion, the development of the story can be halted. |
|
|
|
|
This, of course will mean that tha story will not be finished at the end of the |
|
|
|
|
sprint and will appear as unfinished in the review. |
|
|
|
|
|
|
|
|
|
OpenScrum also provides some help during the Daily Scrum. It provides a chat |
|
|
|
|
interface on which Team members can discuss the last and next day. If the Team |
|
|
|
|
holds the Daily Scrum in person instead, the Scrum Master should upload a brief |
|
|
|
|
extract of the Daily Scrum for documenting purposes. These documents are unseen |
|
|
|
|
by the Product Owner unless otherwise stated by the Scrum Master. |
|
|
|
|
|
|
|
|
|
During the development Team members can login anytime to see or update the |
|
|
|
|
status of user stories. Some parts of these updates are published to the |
|
|
|
|
Product Owner, so they can monitor the development's status. |
|
|
|
|
|
|
|
|
|
When the Sprint is finished, OpenScrum may come in handy for the Sprint Review, |
|
|
|
|
either. |
|
|
|
|
|
|
|
|
|
Do I have to use this page? |
|
|
|
|
|
|
|
|
|
The projects you upload on OpenScrum.org can be seen by you and the development |
|
|
|
|
team you assig to it. However, if you want to hide it even from our selected |
|
|
|
|
few database administrators, you can buy the OpenScrum.org code to run it on |
|
|
|
|
your intranet server. |
|
|
|
|
|
|
|
|
|
If you buy it, you get a one year read access to our Git repository, so you |
|
|
|
|
will get all the patches and new features during that period. |
|
|
|
|
|
|
|
|
|
Terms |
|
|
|
|
===== |
|
|
|
|
|
|
|
|
|
Product |
|
|
|
|
------- |
|
|
|
|
|
|
|
|
|
Idea |
|
|
|
|
---- |
|
|
|
|
|
|
|
|
|
User story sources: |
|
|
|
|
|
|
|
|
|
Idea pool |
|
|
|
@ -155,126 +69,3 @@ Sprints:
|
|
|
|
|
• every sprint mst have a goal |
|
|
|
|
• at most one sprint must exist for each product at any given time |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DATABASE PLANNING |
|
|
|
|
====================== |
|
|
|
|
|
|
|
|
|
User: |
|
|
|
|
id: integer, unique |
|
|
|
|
username: string, unique |
|
|
|
|
password: string, hashed or crypted |
|
|
|
|
role: enum of pig and chicken |
|
|
|
|
scrumMaster: boolean, only one scrum master can exist |
|
|
|
|
|
|
|
|
|
Team: |
|
|
|
|
id: integer, unique |
|
|
|
|
name: string, unique |
|
|
|
|
members: array of user ids, only pigs can be team members, one pig can be |
|
|
|
|
the part of multiple teams |
|
|
|
|
|
|
|
|
|
Product: |
|
|
|
|
id: integer, unique |
|
|
|
|
name: string, unique |
|
|
|
|
contact: text, may be omitted |
|
|
|
|
productOwner: integer, unique, id of a user, must not be the scrum master |
|
|
|
|
teams: array of team ids working on this product |
|
|
|
|
|
|
|
|
|
productBacklog: |
|
|
|
|
id: integer, unique |
|
|
|
|
productId: integer |
|
|
|
|
storyName: string, unique |
|
|
|
|
storyDescription: text |
|
|
|
|
difficulty: integer, must be null during the difficulty vote, counts as an |
|
|
|
|
accepted story otherwise |
|
|
|
|
businessValue: integer |
|
|
|
|
|
|
|
|
|
ideaPool: |
|
|
|
|
id: integer, unique |
|
|
|
|
productId: integer |
|
|
|
|
storyName: string, unique |
|
|
|
|
storyDescription: text |
|
|
|
|
difficulty: integer, optional |
|
|
|
|
|
|
|
|
|
difficultyVotes: |
|
|
|
|
storyId: integer |
|
|
|
|
userId: integer |
|
|
|
|
difficulty: integer |
|
|
|
|
reason: text, optional |
|
|
|
|
|
|
|
|
|
Sprint: |
|
|
|
|
id: integer, unique |
|
|
|
|
productId: integer |
|
|
|
|
started: timestamp |
|
|
|
|
title: string, must be unique among the same product's sprints |
|
|
|
|
|
|
|
|
|
sprintBacklog: |
|
|
|
|
id: integer, unique |
|
|
|
|
storyId: integer |
|
|
|
|
teamId: integer |
|
|
|
|
title: string |
|
|
|
|
briefDescription: text |
|
|
|
|
longDescription: text |
|
|
|
|
hourRequirement: integer |
|
|
|
|
|
|
|
|
|
OpenScrum.org user stories |
|
|
|
|
========================== |
|
|
|
|
|
|
|
|
|
• as the site owner, I want unregistered users to access the information pages |
|
|
|
|
and public Products only |
|
|
|
|
• as the site owner, I can decide if I want to allow anyone to register |
|
|
|
|
• as a possible later Product Owner, I can register my company providing a |
|
|
|
|
contact e-mail address, and optionally uploading a brief description of it |
|
|
|
|
• as a possible Product Owner or Team member I can register myself by choosing |
|
|
|
|
a username and password, providing a contact e-mail address, and optionally |
|
|
|
|
uploding my CV with references and some details about myself |
|
|
|
|
• as a registered user, I am able to log in to the site using my chosen |
|
|
|
|
username and password |
|
|
|
|
• as a Product Owner I can create a new Product on behalf of my company |
|
|
|
|
• as a Product Owner I can create advertisement about my product to find |
|
|
|
|
developers for my Team |
|
|
|
|
• as a Product Owner I can invite developers to my Team |
|
|
|
|
• as a Product Owner I can choose a possible Scrum Master from my Team |
|
|
|
|
• as a Team member I can vote with a plus or minus on the chosen Scrum Master |
|
|
|
|
• as a Product Owner I can set who can add items to my Product's Idea Pool: me, |
|
|
|
|
the Team, or anyone |
|
|
|
|
• as a Product Owner, Team member or a normal registered user I can add items |
|
|
|
|
to the Product's Idea Pool depending on the Product's settings |
|
|
|
|
• as a Product Owner or Team member I can vote with a plus or a minus on the |
|
|
|
|
Idea Pool items depending on the Product's settings |
|
|
|
|
• as a Team member I can estimate the difficulty or required time for each item |
|
|
|
|
in the Idea Pool |
|
|
|
|
• as a Product Owner, I can see the difficulty or development time estimated by |
|
|
|
|
the Team |
|
|
|
|
• as a Product Owner, I can promote one of the Team members to Scrum Master |
|
|
|
|
• as a Team member, I can put a positive or negative vote on the promoted Scrum |
|
|
|
|
Master. If enough positive votes are gathered, the promoted member will |
|
|
|
|
become the Scrum Master. If enough negtive votes are gathered, the selected |
|
|
|
|
person will automatically be demoted, and the Product Owner has to promote |
|
|
|
|
again |
|
|
|
|
• as a Product Owner or a Team member (or optionally, as a regular user, if the |
|
|
|
|
Product is public), I can add my ideas to a Product's Idea Pool |
|
|
|
|
|
|
|
|
|
• as a chicken, I can see if my product has an active sprint |
|
|
|
|
• as a product owner, I can enable or disable chicken access to sprint details |
|
|
|
|
• as a team member, I can see the backlog of each products, and can vote for |
|
|
|
|
the difficulty of each story |
|
|
|
|
• as a product owner or customer, I can see the idea pool, and can accept or |
|
|
|
|
decline the ideas in them. If I accept them, they automatically get into |
|
|
|
|
the product backlog |
|
|
|
|
• as a product owner or customer, I can define a business value for each item |
|
|
|
|
in the product backlog, thus accepting them from my side |
|
|
|
|
• as a team member, I can vote for the difficulty of each user story in the |
|
|
|
|
product backlog or the idea pool with an optional reason, thus accepting |
|
|
|
|
them from my side |
|
|
|
|
• as a product owner, I can import tickets from ticketing systems. Bugs get |
|
|
|
|
into the product backlog, feature requests go to the idea pool |
|
|
|
|
• as a product owner, I can start a new sprint for my product |
|
|
|
|
• as a team member, I can help the product owner in creating a new speint, by |
|
|
|
|
dividing the user stories into tasks, predicting an hour requirements for |
|
|
|
|
each one |
|
|
|
|
• as a product owner or customer, I can edit user stories with high difficulty, |
|
|
|
|
so it breaks into smaller tasks, or I clear some things |
|
|
|
|
• as a team, we can agree on how we will solve a task, and we can add and |
|
|
|
|
modify these details to an open task anytime |
|
|
|
|
• as the scrum master, product owner, and optionally as the customer, I can see |
|
|
|
|
statistics and charts about my ongoing sprint |
|
|
|
|