Costa Coffee BaristaBot

Costa Coffee BaristaBot is part of a new wave of standalone automated kiosks that aims to reimagine the vending machine by merging robotics with higher-end food.

Costa Coffee

About Costa Coffee BaristaBot

The Costa Coffee Barista Bots, formerly Briggo, story began in 1971 when Sergio and Bruno Costa arrived in London from Italy with a passion for making great tasting, bitter-free coffee a part of everyday life.

Costa Coffee BaristaBot is part of a new wave of standalone automated kiosks that aims to reimagine the vending machine by merging robotics with higher-end food. When Briggo originally began out, part of its pitch was that it was a coffee firm that chose and roasted its own beans in addition to manufacturing its coffee robot.

The Challenge

The mobile application had a large and complex code-base. The code structure had become tangled over the years as the engineers added new features. There were quality and maintenance problems. Fixing these issues took up more time than it should have. Technical debt had accumulated. There was a tight coupling between several modules. The engagement aimed to refactor the code, resolve known problems, and test the application.

The challenge was to refactor the code so that it could easily communicate with the Robotic Coffee Machine. The code was complicated because it controlled several appliances. Briggo asked us to clean up the code and make it easy to extend the software and test it in the future.

The existing development, testing, and deployment process were quite laborious. We needed to understand the process from beginning to end and simplify and streamline it.

Sigma Solve Approach

Sigma Solve Inc. provided Briggo with dedicated engineers to address the issues they reported. We employ experienced software architects, software engineers, and test engineers. They have expertise in application software, firmware, device drivers, and efficient test processes. Our engineers used their profound knowledge to analyze and solve the problems that Briggo was facing, improve the performance of the software, and enable future enhancements to be made.

When we started the engagement, we first took an inventory of the software and systems being used. We listed all the modules, their functionality, and interactions, and created an architecture diagram. Doing this helped us get a good understanding of the system. It also helped us see the existing linkages in the system.

Our team reviewed the available test plans and test cases and assessed their coverage of the entire system. We used static analysis tools to get an in-depth view of the code, including compiler flagged warnings and unreachable code.


Our team worked on and refactored the code. We provided a clean design that integrated the application with the firmware. The Project Manager followed an agile approach in which we constantly tested the changes we made. We used tools to ensure code quality, updated the existing test cases, and added new tests. Our QA engineers performed a thorough regression testing of the system to make sure that the code worked correctly, now and also in the future. The software which controlled various functionalities like Holding Coffee Cup, Putting Ice Cubes, Making the Coffee now works seamlessly.


The Coffee machine works flawlessly after refactoring, thanks to the joint efforts of the application, firmware, and QA teams. Restructuring the existing code and cleaning it up addressed chronic functionality problems. Expanding the test suite resulted in being able to make code changes confidently. The code is now well-organized and easy to understand. An increase in code reuse has been another positive outcome. New code was added, keeping extensibility in mind. The result: a happy customer.

Technology Used

C Sharp

Ready to Grow your Business?