ace-lab / planning-poker

Planning Poker is a Rails application for Story Estimation with Pivotal Tracker. It uses push notifications (Faye), Bootstrap and Font-Awesome.
0 stars 1 forks source link

Pivotal Tracker: Planning Poker

Build Status Maintainability Test Coverage

Planning poker, also called Scrum poker, is a consensus-based technique for estimating, mostly used to estimate effort or relative size of user stories in software development. In planning poker, members of the group make estimates by playing numbered cards in the app, instead of speaking them aloud. The cards are revealed, and the estimates are then discussed. By hiding the figures in this way, the group can avoid the cognitive bias of anchoring, where the first number spoken aloud sets a precedent for subsequent estimates.

Features

Dependencies

Frameworks

This application uses the following frameworks:

Gems

This application uses the following gems:

Getting Started

Planning Poker uses push notification with Faye. There are configuration files for each environments in config/environments:

config.publisher = {
  # production faye server - change the URL so that it points to the correct server.
  domain: 'localhost:9292',
  # secret key
  secret: 'secret'
}

Change the domain into the actual production domain when deploying the app. You might want to change the secret key as well.

To get started, clone this repository to your local machine, and install dependencies:

git clone git@github.com:bimovidia/planning-poker.git
cd planning-poker
bundle install

Open a new terminal and start the faye server:

rackup faye.ru -s thin -E production -p 9292

Run the application locally with:

rails s

Rule of the Game

Once you have the application set up, you can:

Each estimator can select any point depending on the story scale point setting in pivotal tracker. The values represent the number of story points, ideal days, or other units in which the team agrees to estimate.

The estimators discuss the feature, asking questions of the product owner as needed. When the feature has been fully discussed, each estimator privately selects one card to represent his or her estimate.

Once all selections are in, any estimator can then hit the REVEAL button to reveal the cards at the same time.

If all estimators selected the same value, that becomes the estimate. If not, the estimators discuss their estimates. The high and low estimators should especially share their reasons. After further discussion, once the estimation score has been agreed on, any estimator can then click on any card representing that number. After that, any user can update the story name and description (if necessary) and then hit SAVE to update the story in Pivotal Tracker.

Contributing

Contributions are encouraged. You can contribute in many ways. For example, you might:

When contributing, you will need to:

Google Hangouts Link Addendum

When the user wants to create an associated Google Hangout, they will click a link in the project page to do so. When they have clicked this link, we will asynchronously create a Google Meet link for them that they can use - this link will be the same for anyone accessing the same project. We will store this link for anyone that accesses this project's page on our app. Once a user requests a Google Meet link this link will be dedicated for their project permanently (as Google does not delete their links). In addition, we will have a locking mechanism when clicking on the link to prevent a TOCTTOU.

There will be one new controller method that will be in charge of this - mostly everything else will stay the same. We will also have one new db table that will keep track of locks and one new db table to keep track of the mapping of Google Meet links to Tracker projects.

Copyright

Planning Poker is licensed under the MIT License

Teamscope Deployment

The app is deployed on Heroku at http://planning-poker-169.herokuapp.com. The faye server is, however, deployed on AWS without a production web server setup.