Our company culture is based on transparency. As a consequence, visibility and measurement tools are essential to us. In the past, we built several dashboards for Confluence, JIRA, Sonar, Jenkins, Nagios, etc., because dashboards are excellent at making things visible for everyone. The problem with them however has been that they would usually display information for only one target audience at a time.
We then built Walle, an information radiator, to give insight into all the work disciplines combined (development, test, support and systems management). The main objectives behind the build were: to gather all the relevant project information in one central place; to enable anyone to react instantly when needed, to make everyone involved feel responsible for the entire project.
For reference, the initial feature set we were aiming for was this:
- scalable number of screens
- information about all work disciplines
- information grouped per discipline
- real-time information from the back-office (JIRA, Confluence, Jenkins, Sonar, Nagios)
- visually comprehensible and (if possible) attractive
We chose to develop a HTML5/CSS3 web application using asynchronous events with jQuery and websockets. The next image illustrates the deployment diagram :
But making a simple looking information radiator is a lot of work! This post would run a little long if I were to try and cover everything here, so I chose to divide the subject in the following parts:
- Part II Front end development (HTML5 & CSS3)
- Part III Back end development (Spring Roo & WebSockets)
- Part IV Plugin development (Jenkins)
- Part V Plugin development (Confluence)
- Part VI Hardware development (Arduino)
The next post (Part II Front-end development: HTML5, CSS3) will cover some nice features of HTML5 and CSS3… stay tuned for the following parts!