The Niko-niko calendar is the application of a principle in Agile project management described by american engineer and Agile expert Tom Gilb:

Anything you need to quantify can be measured in some way that is superior to not measuring it at all.

The measure doesn’t have to be perfect nor precise. The objective is to quantify something that wasn’t.

A niko niko calendar is a useful tool that helps quantify an important element of team performance – motivation/morale or well-being - three factors that are usually difficult to measure. Having this calander in your confluence instance is an easy way to gather comments from the whole team, particularly when working remotely. It also enables you to better analyze trends during retrospectives.

What it does

This tool is a calendar that aligns to your sprint cadence and captures the mood of every team member daily in a fun and easy interface.

How I built it

I followed the Atlassian connect express tutorial on node.js, using vanilla JS & HTML5 in the front-end, using sequelize for mapping the object model to the database.

Challenges I ran into

I had a prototype using google for authentication, which was working decently, but moving to Atlassian Connect I realised most of the data exchange didn't make sense and the only data I needed was the accountId which makes the stored data as anonymous as possible.

I started developing on sqlite and the move to postgres was harder than I though because I had to write some custom SQL and rewrite it again for the new db engine.

Calculating the start and end date of a sprint was harder than I thought, especially taking into account the user timezone preferences and locale timeformat.

Accomplishments that I'm proud of

Delivering a quick and easy way for team members to keep in touch while adding value to sprint retrospectives.

What I learned

I discovered the MutationObserver class in javascript and this how I implemented the custom mood selector. I also learner about Intl.DateTimeFormat to leverage browser knowledge of locale formating.

What's next for Niko niko calendar for Confluence Cloud

There is so much more we could be doing, like adding the option to annonomise reporting, and having notification and reminders to fill in the calendar. I am currently working on a customisable retrospective view/export function as well as mobile support.

Share this project: