Having been hindered over the years by having to revisit perfectly good business logic every time there was a major upgrade in the operating system, the database or development language, DUMAC decided several years ago to redevelop from the ground up its old Visual Basic-based retail system with a development environment that would shield it from forced code revisions and having to maintain multiple versions.
DUMAC selected Visual LANSA and is now very successfully rolling out its new single source Point-of-Sale and back office solution, called RORC, to over 1,000 retail locations across the USA and Canada, who have a mixture of Windows operating systems.
- The Challenge
- The Search for a New Development Environment
- The Project and Solution
- The Benefits
- Company and System Information
DUMAC Business Systems, Inc., founded in 1952 and headquartered in Syracuse, NY, USA, serves thousands of customers in the Quick Service (QS), Supermarket and Table Service (TS) markets across the USA and Canada, with its POS (point of sales) and back office solutions.
In the early eighties the retail industry had started to move away from mechanical cash registers towards electronic systems that could scan goods at the checkout. "If a retailer wasn't scanning, the customer looked at them as if they were old fashioned. At that time there were only a few big-name players in the retail automation market charging over US$10,000 per lane to install a POS scanning system. While large retail chains could afford such an investment, those costs were usually prohibitive for an independent retailer", explains Joe Jurich, CTO at DUMAC.
In 1985, a group of three wholesale co-operatives wanted to do something to help its retailers with in-store systems. "We began development of a product offering, now called RORC, which started with a back-office price management system. After that RORC evolved to include a simple POS scanning system that could run on a low-end PC. Based on input of our retailer customers, both the back office and POS systems evolved over the years," says Jurich.
"For significantly less cost per lane, retailers could install scanning. The bulk of the cost was for hardware," continues Jurich. "Historically we developed in VB (Visual Basic) over an MS Access database. Our solution had been doing well for 15 years, but its user interface needed updating, the setup and configuration options were not flexible enough and MS Access was stretched to do things it was never intended to do."
DUMAC investigated whether there were any suitable packaged retail automation solutions available, but found that, after 15 years, they were still too expensive for its customer. Moreover, a lot of the functionality of the packaged solutions was geared towards chain operators, with features that independent retailers could not use. It was decided to redevelop the RORC solution from scratch and Jurich started researching development environments.
We were spending a lot of time and resources, without any new functionality to show for it
The Search for a New Development Environment
"We were looking at moving to .NET, but found it was not going to eliminate a major VB problem: Code deck stability. Over the years, every time Microsoft reinvented VB or Access, which on the average is every three years, we found ourselves working countless hours rebuilding perfectly good business code, because the current version of the source was incompatible with the new IDE, database or OS," says Jurich. "We were spending a lot of time and resources, without any new functionality to show for it."
Jurich researched other development options and found out about LANSA. "What we liked about LANSA was that it would take care of the low level plumbing code and that it would insulate our business logic from operating system and database incompatibilities. We could write the business logic once and - down the road if we wanted to - port it to another database or even to another operating system. And we could do all that maintaining a single set of source code, which is great for any solution provider. We also liked LANSA's Framework and low-code productivity, because we were on a tight timeline to develop a new solution quickly," he says.
Because the solution needed to work with a lot of devices, such as scanner scales, cash drawers and receipt printers, an intensive proof of concept was needed. After some small adjustments were made to speed up the communication with those devices, LANSA passed the test.
Being able to port to another platform is great for any solution provider
The Project and Solution
A project team was put together consisting of three business analysts (one from each wholesale co-operative), four in-house developers (existing VB programmers and college recruits) and a consultant/mentor from LANSA Professional Services.
Retailers that use RORC range in size from small 'mom and pop' stores with just one or two checkout lanes, to stores with over 30 lanes. The requirements of the small retailers differ enormously from the larger stores. In addition, the three wholesale cooperatives each have their own standards and procedures. The solution therefore needed to be very flexible.
The three business analysts took the existing system and dissected it completely. They then categorized features as 'what retailers liked about the current product', 'what they hated' and 'things that need to be fixed or added'. With that input, a new system was designed from the ground up.
"With LANSA, we followed a more rapid version of our normal software development lifecycle which included requirements analysis, development, testing and several pilot programs "There were only some small issues during the first pilot, but nothing serious considering the scale of the project. When the second site went live, the supporting warehouse received only a few support calls, none of which related to a technical problem," continues Jurich.
Both the backend and POS system are developed with LANSA and use SQL Anywhere as the database. The POS clients can run independently in case they get disconnected from the back-office server and will synchronize their data when reconnected.
For those not familiar with grocery retail automation, there is a lot of complexity involved! The back-office system provides price management, inventory management & replenishment, and sales statistics. It keeps a balance of cash 'on the floor' (at the cashiers), in physical safes and for back office operations such as accounting for cash management by shift. Productivity reporting is elaborate and includes detailed statistics on how many items each cashier processes per minute, how much time is spent on giving change, and so on.
The POS system handles a variety of electronic devices, integrates with frequent shopper programs, and integrates with third party applications for security or couponing. The pricing engine quickly determines what price to charge (regular price, sale price, or loyalty price) and what discounts are valid for the customer (e.g. senior discounts, special offers, buy one-get one). When interfaced to a loyalty or e-coupon application, the POS system sends information to the third party and receives instructions ranging from receipt messages to special prices or discounts. All that needs to happen very fast. “When you scan an item, you have less than a second to display the correct price. Using the LANSA development platform, we got the RORC POS system lightning fast" explains Jurich.
In addition to the two-way communication with third party systems, the RORC POS solution provides a one-way interface that can be utilized by the store's security system to monitor what keys are pressed or actions performed by a cashier. The POS data is overlaid with data captured by video cameras for security loss prevention officers to monitor what is going on.
The POS system is able to handle a variety of electronic devices and integrate with third party applications
"Over 1,000 stores have implemented the RORC POS solution and the feedback is always very positive," explains Jurich. "The main benefits for the retailer are the stability of the new system, new functionality and a productive modern user interface."
"Retailers can power off the back-office server or a POS client in the middle of the day inadvertently, then turn it back on and everything recovers. Commitment control is a huge positive in the new design," continues Jurich.
"It is a fairly complex application, with lots of functionality and implementation options, but at the same time it is also very intuitive. Training is straight forward and takes about 20 minutes for a cashier, and another 20 minutes for the store manager."
"From an IT point of view, the LANSA-developed solution is far simpler to manage than the VB solution. The code is object-oriented now, which makes it easy to maintain. By insulating us from having to worry about underlying version incompatibilities in the operating system or database, we saved both time and removed a prior headache – code instability," Jurich says.
A major benefit is that the system is data driven, rather than hard coded. It allows DUMAC to provide a 'custom' look and feel within the same application, by keeping options that are not enabled from being displayed to the users. Role-based security further enhances the look and feel, as users only see functions for which they have been authorized. The tailored and uncluttered UX design makes the system easy to use and productive for the retailer.
By insulating us from having to worry about underlying version incompatibilities we saved both time and removed a prior headache
"The user interface has been drastically updated, processes simplified, and user configurable flexibility has been added throughout the system. We refer to the system as designed for independent retailers, by independent retailers," says Jurich. "It allows an independent retailer to implement a system that rivals, and in some cases surpasses, the functionality used by the chains, but at a much smaller cost."
"Many years ago, I heard someone comment, ‘Keep in mind that the person you assign to a project is building your future. Too many managers assign people they can ‘afford to lose’ to project teams. Why would you trust your future to someone you can 'afford' to give up? Instead, assign the person you think you can least afford to give up. In all likelihood they will be your subject matter expert.’ Thus, when we started the project, I asked each of the three wholesalers to assign to the project full-time the person they could least afford to give up and they each selected an individual. The message heard many years ago again proved accurate. Having highly capable business analysts involved greatly enhanced our ability to deliver a great system in a timely manner," concludes Jurich.
"There is an old adage, that when building systems three factors are always desired: Good, Fast and Cheap. In reality, you can pick two knowing that the third is the trade-off. For instance, it may be good and fast, but it won't be cheap. Or, fast and cheap, but it won't be any good. With LANSA, we achieved all three. The deliverables are very good. They were built much faster than we could have built them in any other language. And the end result was significantly cheaper than it would have cost using other methods."
Three factors are always desired: Good, Fast and Cheap. In reality, you can pick only two, with LANSA we achieved all three
Company and System Information
- DUMAC, headquartered in Syracuse, N.Y., has been in the grocery business since 1952. More than a thousand independently owned supermarkets across the USA and Canada use POS solutions from DUMAC. DUMAC also sells POS hardware to the hospitality and restaurant markets.
- The RORC Point-of-Sale and back-office systems have become DUMAC’s flagship retail/grocery software solutions. Both are developed with Visual LANSA and deployed on Windows clients and Windows servers, with an SQL Anywhere database.
- For more information visit: www.dumac.com/services/grocery_retail