It is time for a demo of the Anonymous Agile Estimation application. It is not a finished app, but enough functionality exists to show the entire process.

The homepage has some details about how the site works, but the main section that will draw the eye is the login button. At the moment, this just stores a chosen nickname in a session cookie, to keep track of the user. Later this will change to a method of authentication.

The landing page for a user shows a list of the groups that they are a member of. They have the option to create a new group from this page. This user has no groups yet, but a new one can be created by filling out the form and clicking Create Group.

When the group is created, it will redirect the user to the group’s page from which members and issues can be viewed.

Owners can add issues, using the link: Create New Issue. Issues have a reference key and a brief description.

Once issues are created within a group they can be viewed on the group’s page. The key and description appear in a table. Each issue has a link to make an estimate and another to view the status of the issue.

Before you can start an estimatation session, members have to be invited. This can be done by sending the group invite link. Using a different browser, a user with nickname “group-member-firefox” is going to join the group by following the link.

There is a confirmation stage to verify that they want to join this group.

This will redirect the user to the group’s page where they can see other members of the group and any issues to be estimated. Note that they do not have the option to create issues.

Following the link a second time results in an error page.

For the third member of the group, they followed the link before logging in and get this warning.

Clicking the estimate button brings you to the estimate form. A positive integer up to 100 is allowed.

Validation is done before accepting the form, for example, if a number outside the allowed range is given a warning tells the user about the problem.

When the estimate is successfully submitted the user will return to the group page. Note that the estimate link can be hit a second time; a reminder of the previous estimate appears at the top of the screen. The user can change their estimate if they like at this stage.

Now that there are three users in the group and they have made some estimates, we return to the group’s owner view.

The group owner doesn’t have to be a part of the estimation process. They can leave the group by following the link on the group page. This brings up a confirmation.

Note that a group owner still can view and manage issues for a group, but that the members, once they leave, will no longer have access to the group. This is the view of the group as an owner that is not a member. Note also the owner can no longer make an estimate.

There is a link to quickly rejoin the group which gives the same confirmation about joining that was shown for non-owners. Let’s assume the owner rejoins.

Anyone in the group can view the issue status by clicking its key. This will show the current count of estimate votes given and the total. There is one estimate missing in this group.

At some stage all three of the group members will have given an estimate. The group leader can see this from the view issue page and reveal the average estimate. Note that they can cut short the estimation process and skip to revelation at any point, to lock in a value. This might happen, for example, if the decision is trivial.

When all the estimates are in the group leader can reveal the result. In the following example we had three votes: 5, 8 and 21.

This screen provides three numbers: the average value, the nearest integer and the nearest Fibonacci number (in an upwards direction). The latter is pre-populated into the forms field. There are two options given, to reload or to start all over again.

In this case the group had a wide range of answers so some discussion clarifies the details and they agree to vote again. There is a confirmation before screen that warns that all the estimates will be deleted before starting over.

At some point the group will agree on an estimate and decide to lock this in. The suggested nearest Fibonacci can be chosen or any other integer value. Here they have agreed on a size of eight.

When the estimate for an issue has been locked in, it appears in the issue list and cannot be estimated again. The group owner can collect the estimates here with a copy and paste action.

That pretty much wraps up the estimation process. There may be a few screens that look a little different depending on the circumstances but the core functionality is there.

The only thing left to do is to log out.

The source code for this project is available on GitHub at https://github.com/rkie/estimator.