IT projects

Look before you leap: 7 tips for implementing software

Do you properly test new global trade or logistics software before going live? Neglect can lead to disasters: here is an example and the key to success.

Case study: US retailer

The chaos came quickly – and silently at first. Finish Line, a US retail chain specializing in athletic footwear and apparel, introduced new order and warehouse management systems in 2015. The idea was to modernize order management, inventory, and storage facilities along the supply chain, in retail stores, and online shops. The project attracted little attention until the planned go-live scheduled for the autumn of 2015 – and then ended in disaster.

“The new system was unable to process freight at volumes necessary to support our sales plans during the end-of-year peak,” explains Glenn Lyon, then Chairman and CEO of Finish Line. The result: Empty shelves at retail stores. Even online sales ended up unfulfilled. And all that during the Christmas season.

$30 million revenue loss

The consequences were immediate and devastating: Finish Line lost nearly $30 million in brick-and-mortar and online sales. They announced plans to close 150 stores in the coming four years. How did this happen? One of the reasons for the launch ending up in disaster was that the new software was implemented before the efficiency of the systems could be properly vetted. It could be compared to performing untrialed emergency open-heart surgery procedure with untrained staff.

Tests were ignored, employees were not integrated into the test scenarios, and the collaboration with IT partners, consultants, and service providers left much to be desired. The biggest mistake, according to Dan Gilmore, Editor-in-Chief of Supply Chain Digest, who studied the case closely, was the decision “to turn the system on and ramp up to full scale when the people, processes, and technology were obviously not ready to do so.”

Learning from mistakes

The Finish Line case study is certainly an extreme example. But it well illustrates the critical role of testing and change management when new technologies are introduced. There is no one-size-fits-all solution for this.

But the following seven tips can offer good guidance in examining and improving your own testing.

1. Focus on the strategy

Better to plan ahead than troubleshoot afterward

Instead of looking for errors after the fact, define in advance which processes must run flawlessly. When you implement a new software solution, you need to accept that some things are simply unknowable. A process that error-checks all the functions described in the program documentation is not very helpful.

Instead, the company planning to deploy a new system must ask itself: Which of the processes managed by the software are mission-critical? Run through and test realistic or potential scenarios, including shifts of volumes along the supply chain during the peak season.

The company should define stress parameters – thresholds that determine whether, in their view, the system is working properly. These stress parameters should be individually monitored during the project to provide early warning of any gradual decrease in performance.

2. Prepare the test

Foresight is better than hindsight

One key factor for successful testing is the right preparation of the test phases. This includes defining the scope, timing, and responsibilities within the organization so that project planners, for example, can take this into account. And don’t forget to look at special circumstances, such as when new software affects the requirements or guidelines of certain industries or customers.

Realistic time and resource management is also important, since employees may be on vacation or unavailable for other reasons. When multiple systems are introduced or updated at the same time, the tests must be synchronized and orchestrated. But even if just one solution is being implemented, the project often involves multiple departments whose test phases must be coordinated. An agile, incremental approach can be beneficial to make the test planning phase simpler.

If problems already emerge when smaller groups of functionalities are tested, change managers can quickly intervene and improve the outcome in successive iterations. It’s crucial to respect and involve normal operations and this also applies to test planning:

When an old solution is replaced by a new one, you can have employees test the new system at certain times each day or week, for example. Then day-to-day business continues in normal operations. Quality is more important than quantity.

3. Let management lead

Get everyone on board

Employees who test software need to feel certain that they have the full support of management. Those inside a company implementing new software need to understand the significance of the tests and – if necessary – offer support and embrace the vision that the new software is intended to serve.

Listening to and addressing the concerns of users makes them in turn more willing to participate constructively in the tests. If employees fear that the successful implementation of a new IT solution will eliminate their jobs, testing is often done poorly or ignored altogether.

Many workers feel a culture shock when in-house applications are replaced with new software or formerly manual processes are managed with an IT solution. For this reason, it’s important to demonstrate the efficiency of the new system to users and familiarize them with the application.

Employees should not only comprehend the underlying principles of the new solution, they should also help define it to adapt the system to the specific needs of the company or their department. This creates the ideal conditions for testing whether the “customizing” was successful. Equally important is communication within the team – at regular meetings, for example.

4. Work closely with providers

Collaboration is key

Many companies have recognized that external IT providers have the potential to implement certain tests more quickly and effectively.

Specialized service providers have resources that the companies themselves often lack. Companies seldom have the expertise to run their own testing department.

And when users and providers work well together, it pays off during the tests and go-live. Providers have the technical expertise, while the customer has the functional know-how to implement a working solution.

Close collaboration is required, however, otherwise the same pitfalls apply that loom when testing is not properly or comprehensively prepared.

5. Check the quality of upstream data

Garbage in, garbage out

Poor-quality data negatively impacts the testing phase of new software implementations. If you want to make testing easier, take a good, hard look at the quality of the data in your upstream systems. If certain shipping points are not defined in a host system, for example, it won’t be possible to automatically generate the appropriate delivery notes later.

That’s why it’s a good idea to make sure the master data is as error-free as possible.  The more automation you hope to achieve through the new software solution, the more important it is that the quality of your data be impeccable. Customs solutions rely on accurate weight data, for example.

For global trade and logistics software – where cross-enterprise processes, collaboration, and data interchange are critically important – you also need to test the interfaces to customers, suppliers, and partners, of course.

6. Organize your checklist and tools

More is not always better

Tools are not a silver bullet for software testing. The first thing you need to do is to determine which business processes are mission-critical. They belong at the very top of the software testing checklist.

The next thing is to select the testing tools best suited to checking the processes and methods. These tools help uncover vulnerabilities, but they often make the testing a lot more time-consuming – and there’s no guarantee that they’ll catch everything. Some large companies test for months and use a lot of very powerful tools – and they still see errors.

Often, using these tools gives a false sense of security that everything was done that could be done. One thing to focus on is the intuitive sense of those in charge (‘Something is wrong there,’ or ‘We need to look at that more closely’).”

7. Test beyond your own IT horizon

What software testers overlook

Many problems occur when the IT system comes into contact with the physical world. If a new warehouse IT system relies on scanners and barcodes, for example, it doesn’t do much good for the software itself to work perfectly if the barcodes on the packages cannot be scanned due to greasy smears from the conveyor belt.

Or if the packages are so light that they tip over on the conveyor belt before they reach the scanning station.

You can run all the IT tests you want – the larger process still won’t necessarily work. A holistic approach – including a detailed review, such as a warehouse tour, by those who know the processes – can help avoid many an unpleasant surprise before the launch.

And this concludes the list of seven tips for successfully implementing IT projects!

I hope these pointers delivered some value to you. What’s your experience with IT projects? Can you add any tips or share other experiences? I look forward to your feedback and welcome discussions – here in SCMALLWORLD – or on XING, or LinkedIn.