Waitrose wanted to review the codebase and delivery process for the software deployed to its estate of handheld inventory devices

Used in all stores across the Waitrose branch network, the application suite comprises .NET clients and a Java server application accessing a DB2 database. They facilitate inventory and store room management in addition to shop floor activities such as stock, shelf and waste management, price reductions and product transfers.

We delivered a short Elaboration phase, followed by an iterative development project including continuous automated testing

While the fundamental architecture of the application remains unchanged to preserve compatibility with other applications, refactoring enabled the removal of 40 per cent of the original codebase, resulting in simplified, maintainable code.

Updates to the server-side code delivered similar improvements.

The software delivery process was improved with the introduction of rigorous source control, a Continuous Integration environment and an automated test framework. A supporting toolchain predominantly based on Open Source tools was established.

The Waitrose  handheld terminals have revolutionised store operations by changing the way staff work, facilitating immediate data transfers and speeding up processing times.

Supporting a range of tasks from inventory management to merchandising they deliver automation in places where technology is key but portability is vital.

By re-engineering the suite of legacy applications and enhancing the delivery process, BJSS helped Waitrose to dramatically improve its  quality, maintainability and time-to-market for new functionality.