In this project, a client was a Human Resource Management Software provider company. They have a long-established application with almost a hundred clients spanning through various industries ranging from medium-sized private firms to public institutions: hospitals, universities.
Their processes and technology stack was cutting edge a while back, and they felt a need to have their application modernised and software development and management processes updated.
First, we provided them a three days Agile course, for the entire company. We introduced the ideas, methodologies and processes of Agile to them. Then later, we focused on their software development processes, which were ad-hoc and based on the Waterfall methodology loosely. After reviewing their methods in place, we recommended an Agile based overhaul with iterative introductions doled out in small changes to help them to get up to speed with Agile, improve their efficiency, increase transparency and to have role-based ownership throughout the organisation.
These changes allowed them to have increased bandwidth to deliver, reducing time to market, automate error-prone and manual work.
In practice, this meant first to introduce a common knowledge sharing system (Confluence). In which they could capture, centralise and share knowledge for better communication and documentation. In addition to that, they started to use a ticket based work and effort tracking system (Jira). By getting them to capture their outstanding tasks and their plans in the form of a backlog, it became much more manageable from an operations point of view to oversee efforts, plan future work and track defects.
Next was to upgrade the application itself. The core offering of the product was quite versatile; however, it was only available as a desktop application with on-premise installation.
They wanted to equip the application with a new Web based client, reducing the footprint on the client, leveraging the newest Web based technologies for visualisation and to run the application in private cloud from the company’s data centre, or even as a SaaS solution on a public cloud provider’s infrastructure.
In terms of Agile software development methodologies, we introduced unit tests in the codebase, allowing automated testing of new features and regression testing for existing functionality. Getting them to have continuous integration ad deployment pipeline also helped to shape the testing and release process management.
Amazon Web Services (AWS), Play Framework