Jemmac Software
Delivering excellence and innovation as standard
02-08-2010
programmexpress.
Jemmac work hard to ensure that excellence and innovation are built in to all of our solutions as standard. However, even the best thought out software often has room for improvement, and sometimes that improvement is so dramatic that it changes peoples fundamental view of a product.

programmexpress is a project change tracking and monitoring tool that aims to give senior management the information they need regarding the success, or otherwise, about their business change programmes. Its strength lies in its ability to consolidate all information in a programme into a simple, high level view.

But the time spent by project managers entering details about their projects and programmes and all the clever software is wasted, however, if the senior management do not get to see the reports.

Experience with several large corporate customers suggested that getting senior management in front of programmexpress and generating their own reports was often a challenge. They seldom had time to get to grips with the tool or to use it on a regular basis to generate reports and check on progress etc.

Since buy-in from senior management is often vital to a product’s success in an organisation, a new and innovation approach was required.

Defining the requirements

This is where Jemmac came in. Having been intimately involved with all stages of programmexpress design and implementation since its inception in 2002 we were uniquely placed to provide a solution in a timely and cost-effective manner.

Following consultation with a number of users and other stakeholders we arrived at the following high-level requirements:

  1. Provide a mechanism for communicating high level status information concisely and simply to users.
  2. Allow quick and easy access to reports which will support the high level statuses and give enough detail to allow users to get to the root cause of any problems.
  3. Provide the ability to show historic supporting information to users to allow them to understand trends and get a feel for overall progress.
These were both completely new areas for programmexpress which each posed unique challenges.

The Dashboard

We decided that a new home page for programmexpress users was the best way to provide them with the high level status information they needed. By starting with a blank page we were able to think outside the box and come up with a design that was not hamstrung by previous design decisions. The Dashboard was born.

It was agreed that the best way for the dashboard to convey its information would be via graphs and charts. In order to provide the solution in a timely manner, 3rd party charting and graphing libraries were investigated – no point spending valuable development time re-inventing the wheel. The criteria for choosing a library were:

  1. Licensing. A number of free charting libraries are released under the GNU GPL which requires that your code is also made open source – not something we wanted to do in this case.
  2. Choice of charts. Offered a good range of chart types to meet our current and future needs.
  3. Flexibility and configurability. By experimenting with the library we decided that it offered the control we wanted over the output whilst still being fairly straightforward to use.
  4. Cost.
Having evaluated a number of options against these criteria, we settled on the Chartlogix PHP Charting library (http://www.phpcharting.com). This library gave us the flexibility to build up a modular approach to our charts meaning that a small amount of coding and development gave us most of the charts we wanted.
programmexpress dashboard.

Quick Reports

The accepted way of running reports in programmexpress is to use the reporting screen which allows users access to a whole host of configuration options to control the layout and data in the reports. This is great for regular users of the system, but it was decided that the new dashboard would benefit from a number of ‘pre-canned’ reports which could be generated by a single mouse click.

By working closely with our customer we were able to formulate a list of these reports and made them accessible to users by a simple click of a graph on the dashboard screen. Hence, a user could see there was a problem somewhere, and could then very easily and quickly see a report that gave them the relevant information to allow them to decide on a course of action.

It was a testament to the original design and implementation of the back-end reporting system that we were able to add this new functionality in with a minimum of fuss and impact on the existing system.

Reporting Historical Information

Traditionally, programmexpress has only stored and reported on current information. One requirement that came out of our design discussions was to provide some historical reporting. Extending programmexpress to store this kind of information and report on it whilst not adversely affecting the performance of the base product was the big challenge. When you start to store lots of historical data, your database grows significantly with all the risks to performance of SQL queries etc.

In addition, a lot of the reporting information in programmexpress is ‘rolled up’ i.e. consolidated upwards from the various lower levels of the data. This involves accumulating large amounts of data and performing various calculations on it – work which you want to avoid doing too often otherwise you risk making the user experience a very negative one.

The solution was to be a very elegant one - we stood up a separate database in conjunction with the ‘live’ programmexpress database. This new reporting database was designed to allow quick and easy fetching of consolidated reporting information. The database is populated by a daily ‘snapshot’ of the live database, allowing all the time consuming data roll-up calculations to be done offline.

To ensure that sufficient data was present in this database for the eventual release of the main dashboard, we scheduled an interim upgrade of customer systems which introduced the reporting database and allowed us to start populating it as early as possible.

programmexpress trend graph.

Over the Line

With the building blocks in place, work continued apace on developing the actual dashboard screens and their charts. By close co-operation with our client we very quickly arrived at a solution that met the requirements and did so in a timely and cost-effective manner.

Release of the latest version of the programmexpress product to end users has begun, and initial reaction has been very positive, especially from senior management who can now see their way clear to making more effective use of the tool at their disposal.

Read more about programmexpress here: Case Study.

For more information, contact:
Alistair Henderson
Jemmac Software Limited.
Tel : 01234 757257
Email : alistair.henderson@jemmac.com