Planning Poker is a great tool for planning. It’s fun and easy to use and it has really helped us estimate Sprints more accurately. The big pain is keeping track of the physical deck of cards. With Planningwith.cards that’s no longer a problem. All that’s left is the pure fun of it.
Several development teams at Nearsoft use Scrum as an Agile methodology. One of their favorite tools is Planning Poker. They use it to help them estimate how much effort a Story will take. Based on my own experience, I can tell it really works, and it’s been of great help!
How to Play Planning Poker
To play Planning Poker, a set of cards per participant is required. Each participant votes on a specific task and then everyone simultaneously flips their card over to prevent others’ opinions from affecting everyone else’s votes. The problem comes when a meeting is underway and the Scrum master says: “Does everyone have their set of cards?” Then everybody starts hastily digging for them. “Damn, it must be somewhere around here!!” After all, no one wants to be on the team’s Wall of shame, right?
After suffering through a few sessions, I thought of a unique and fun solution. At Nearsoft we value innovation and that gave me the encouragement to create Planning Poker for Hangouts. We are all developers, we use Hangouts, we have an API. Piece of cake!
The cards will now be virtual. No need to look for them or fumble with them at every meeting. No more Wall of Shame for anybody.
Now each participant can make their choice on their own screen. Once everyone is ready, all card values are revealed at the same time. If a new member is added to the team, he or she can join the game in a jiffy. And there can even be observers without a problem.
How to Create a Hangout App
Creating a Hangout app is seamless and easy. The starting point is to register an application with Google and activate the API for Hangout.
The way this type of app functions is quite simple: they share a collection of key/value pairs. All values are global to all participants in a Hangout. Each time someone sends a piece of data, all others are notified that something has changed.
Integrating AngularJS to a Hangout App
I decided to use AngularJS because it implemented easily and quickly. Its data binding traits are ideal for an app like this and truly simplifies working with the design team. With Angular, we simply extend the DOM, no need to reinvent that particular wheel.
Members of the design team reported zero problems when modifying and extending code. This has encouraged them to learn more about it themselves.
As always, we created a service to encapsulate the API’s functionality to make it easy to extend and reuse.
Tips for Hangout Apps
This is what I learned about Hangout apps,
- Storage is shared, and not per user.
- All values must be shared as strings, since you’ll have to parse these values.
- All resources must be served from https. During testing, you can use Google Drive as a host, which is easy to use and quite handy.
- You must request permissions for your app from the API console. Simply add the scopes that you require.
The icons that are used for the app seem to have a problem when using PNG, so use JPG instead.
The app is shared simply by using it. Every time someone opens it, the others will see a pop up, inviting them to use it, too.
Once someone uses the app, it will be added to their sidebar to use in future sessions. This makes it easy to share with a new groups.
This app is public and free. We encourage you to use it for your Planning Poker sessions. Start the app from here.
This is not the first version of the app. Several of us at Nearsoft have thrown in our two cents’ worth, with ideas, code, or design. We will soon publish new tools as we develop for our own use to ease and improve our development process.
Please, share this post and enjoy the app.