Inventory Management and Warehouse Operations.


Software Selection and Implementation Tips.

By Dave Piasecki

Software selection and implementation services have become big business for consulting firms as well as the software vendors themselves. Even with outside assistance, selecting the right software for your operation and having a successful implementation can be an extremely difficult undertaking. Horror stories of failed ERP system implementations are unfortunately very common. Anyone that frequently reads business publications has likely read stories where large corporations, posting smaller than forecasted profits (or losses), cite problems associated with the implementation of a new software system as one of the causes. Whether these claims are legitimate or not is up to debate. What is true, is businesses are highly dependent on information systems, and failures in the selection and implementations of systems can result in anything from a minor nuisance to a complete operational shutdown.

Software Selection

If you are unfamiliar with business software, be prepared to be bombarded with acronyms and buzz words. MRP, MRPII, ERP, APS, MES, CRM, SCM, WMS, TMS, E-business, web-enabled, E-procurement, E-fulfillment, E-manufacturing, collaborative, modular, and scaleable are just a sampling of the terms used to describe (sell) software products. My first tip is that if after listening to a software vendor representative describe the software for five minutes you still don’t understand what the software does, walk away, you probably can’t afford it anyway. Or you can to stop ask them "Okay, but what does it actually do?" Not that you’ll get a real answer, but it’s worth a shot.

Enterprise software ranges in price from a few thousand dollars to millions. In fact, up until recently, if you were a business with annual revenues of less than 200 million, many of the top enterprise software vendors didn’t even consider you a potential customer. Fortunately, this arrogance has been tempered recently due to economic conditions (primarily the software vendors’ cash flow). So unlike five years ago when the software vendors felt like they held all the cards, today, it is truly a buyers market. No matter how big or small your company, there is a multitude of vendors vying for your software dollars. That’s the good news. The bad news is that you must now find a way to sift through all these products to find the one that best meets your business needs.

Unless you are shopping for a very simplistic low-end package it is highly advisable to seek the services of an independent software selection firm. Not only can they help to narrow down the list of potential vendors but can also help to prepare initial assessments of implementation costs (which can easily exceed the initial cost of the software), and educate you on software and the process in general.

The most important part of the software selection process is defining the processes within your organization and determining functionality that is critical to your operation. Many times customers get lost in the bells and whistles and forget about their core business functions. If you are a manufacturer, manufacturing is your core business function and you should be looking at packages that have been designed specifically for manufacturers. Don’t expect an accounting package with a little manufacturing module tacked on to be very functional. In addition, you should be focusing on the specific type of manufacturing you are conducting. Software designed for make-to-stock manufacturers may not work well for a make-to-order manufacturer. Software designed for electronics manufacturing may not work well in a machine shop. Software designed for discrete manufacturing may not work well for process manufacturing. If you are in the distribution or fulfillment business, you’ll want to focus on functionality related to order processing, warehouse management, and transportation management. Be wary of the software vendor that claims their package works equally well in all of these environments. Most software packages are initially designed with specific customers in mind; asking the vendor about their biggest customers will often give you an idea as to the type of operation the software was designed to work in.

When you look at the detailed functionality of a product it will be important to have listed detailed functionality requirements of your operation. This is where companies often make mistakes by emphasizing functionality that they currently don’t have and would like, and overlook core businesses processes that their current system handles well. For example, if you become awestruck with functionality that allows you to access your system remotely from a browser on your PDA, and as a result, overlook critical functionality related to demand planning, you may end up with a system that provides great visibility to the fact that your business is failing. Never assume a software package “must” be capable of handling something you consider a standard business function. Some examples of detailed functional requirements are as follows:

  • E-commerce capabilities
  • Multi-plant demand planning
  • Postponement and configure-to-order functionality
  • Forecasting and demand planning
  • Back-order processing
  • Lot or serial number tracking
  • Forward pick location replenishment
  • Batch or wave order picking
  • Returns processing
  • Backflushing inventory
  • Coproduct processing
  • Outsourcing specific operations
  • Multiple stocking units of measure
  • Product substitutions
  • Blanket orders
  • Shipment consolidation
  • Multi-carrier rate shopping and manifesting
  • First-in first-out processing

Don't settle for "yes, we can do that" responses from the software vendor. It's your responsibility to verify that not only can they do it, but also that they can do it to the level you require. Ask detailed questions as to exactly how it works in their system. Look at the specific programs used to achieve the task and verify the data elements required to achieve the task are present. Don't allow the software vendor to not answer your question. They sometimes do this by answering your question with technical jargon they know (or hope) you won't understand. Don't be afraid to stop them and make them restate their answer in different ways until you understand it (I do this all the time). John Bielecki of CompassLead Consulting once told me he tells his clients to "Ask questions YOU understand the answers to." Keep that quote in mind as you discuss functionality with software vendors.

It’s unlikely that the software package will do everything you wanted it to do, so be prepared to compromise on some of the functionality. Shortcomings in functionality will need to be addressed through process changes, software modification, or in some cases, off-line workarounds.

When addressing the issue of modifications, I have become convinced that the question to ask is not "will we modify?" but rather "how much will we modify?" Packaged software will not do everything you want it to do, the way you want it to do it. Sometimes these deficiencies result in minor annoyances and other times they result in costly business inefficiencies. It's important to treat software as you would any other process, system, or piece of equipment. Evaluate the costs and benefits of the modifications and make sound decisions that are in keeping with the business objectives of your organization.

In addition to functionality, you also need to consider usability. Functionality answers the question “can it do something?” while usability answers “how does a user get it done?” You especially want to look at any high volume tasks that occur in your organization. Look at the information provided in critical programs and count the number of mouse clicks and key strokes required to perform a task. Can you complete the task in one or two screens or do you have to cycle through four or five? Is all the information you need readily available and presented in a logical manner? Are mouse clicks required or are shortcut keys available? As much as we all love the mouse for surfing the Internet or working in graphics programs, it is not an efficient tool for high-volume transactions.

Are the bigger, more expensive packages better? That depends. There is no doubt that there is a relationship between functionality and cost. But with this greater functionality also comes greater complexity. Greater complexity gobbles up resources, extends implementation times, and drives up implementation costs. For large complex organizations, highly functional software is indispensable. However, for a small company, even if the supplier were to give you the software for free, you probably won’t have the resources to implement and maintain it.


As with the selection process, the implementation may also require outside assistance. Whether you use consultants from the software vendor, a business partner, or an independent firm, the implementation plan will likely be the same. It’s very important to listen to your consultants and be prepared to dedicate the resources outlined in the implementation plan. A common mistake made by companies going through their first major implementation is to underestimate the complexity of their operations, the extent of system setup and testing, and the impact the implementation will have on their operation. Let me outline a common scenario in ERP implementations.

The consultants warn of the consequences of not dedicating adequate resources.

Management publicly agrees but privately thinks the consultants are crying wolf.

Implementation fails or goes poorly.

Management claims “how could we have known?”

Don’t let this be you. The only things you can assume about the implementation is that it that it will be much more difficult than you expected, it will take longer than you expected, and it will cost more than you expected.

Like most other projects, the success of a software implementation will be based upon the skill of the people involved, training, planning, and the effort put forth. You should plan to have your most knowledgeable employees heavily involved in the system setup and testing. Note that the most knowledgeable employees are not necessarily the department heads (trust me on this one).

Adequate time should be dedicated to make sure every aspect of every process is thoroughly tested. An example of detailed testing of a receiving program is listed below:

Does the PO receipt screen have all the information I need to perform the receipt such as vendor item number, item description, unit of measure?

  • What happens when I receive more than the PO quantity?
  • What happens when I receive less than the PO quantity?
  • What happens when I enter multiple receipts against the same line?
  • What happens if someone tries to change the PO quantity after I have entered a receipt?
  • What happens if someone tries to change the PO quantity at the same time I am entering a receipt?
  • What happens when I reverse a receipt?
  • What happens when I reverse a receipt after it has been paid?
  • What happens if the ordered unit of measure is different from the stocking unit of measure?
  • What happens when I receive an early shipment?
  • What happens when I try to receive against a cancelled PO?
  • What happens when I change the receipt location?

Now when I say “what happens?” I mean; How were the PO quantities affected? How were the on-hand quantities affected? How were the inventory and payables accounts affected? How were allocations affected? How were inbound quantities affected?

You get the Idea. You need to essentially try every combination possible to see if you can make the system fail (not do what you wanted it to do), and it will fail. The goal here is to make it fail prior to implementation rather than after. And you need to do this with every key process in every key program.

Even with extensive testing there will still be some issues that won’t be identified until after the system is up and running. While small issues and minor bugs are to be expected in any implementation there is no excuse for not identifying major issues prior to implementation.

After the system has been thoroughly tested you need to begin (if you have not already begun) the process of employee training. I don’t think I’ve ever heard of a company over training employees prior to implementation. Remember, you are going to have to deal with the unexpected issues that pop up; you don’t also need to be training employees after the system is turned on.

The training should consist of written procedures for the tasks they must perform and hands-on training. For most positions you will want to make sure that each employee has entered the equivalent of at least a full-day’s transactions during the training. Using an actual day’s transactions is a good way to make sure you have covered the variety of transactions the employee is likely to encounter. The most common mistake made in training end-users is a lack of adequate repetition. Just because someone was able to perform the task once during a training session on a Saturday three weeks prior to go-live does not mean they will be able to perform the task when you start up the system. If they have repeated the task many times over a series of training sessions, they are much more likely to remember how to do it.

Watch the data. During and immediately after the implementation it is incredibly important to watch the data and make sure everything is working as planned. Monitor the statuses of sales orders, purchase orders, and manufacturing orders paying specific attention to "stuck orders" or other exceptions. Conduct some aggressive cycle counting of your fast moving items to make sure transactions are working correctly. Run financial reports daily to validate accounting processes.


Don't let it end with the initial implementation. Your new system likely has additional functionality that can improve your business processes. Once you become comfortable with your system, you should go back to the system documentation and start reviewing detailed functionality. You should also review all business processes to determine opportunities for improvement. This should be a continuous process. It is very unlikely that your initial implementation truly optimized the system for your business.

In the end, the success or failure of a software selection/implementation project is directly related to the efforts put into it. Information systems are critical part of managing operations, so don't shortchange the process.

Extra: Browser-based applications - aka "The Cloud".

Over the years I have worked with several web-based business applications. The ability to access your business software from any location that has internet access is certainly attractive, unfortunately, there seems to be a downside to this approach. All the applications I used suffered from cumbersome user interfaces and slow response times. I am not sure if this is an inherent shortcoming of browser-based applications or just shortcomings in the design of the specific products I used. I suspect it is a little of both. Anyone that shops online should be familiar with using a program within a browser to place an online order. If you've been annoyed with having to go through three or more screens to place your order (and the delay as you wait for each page to load), just imagine conducting all your business activities this way. In addition, these applications tend to be built around drop-down selections lists and mouse clicks. These can be extremely cumbersome when trying to execute high-volume data entry tasks. This is a problem that also plagues most graphical user interfaces (Windows-based software). While these programs are attractive and easy to learn, they are far less productive than the older character-based mainframe applications where data entry was accomplished with keystrokes and navigation was accomplished with function keys.

I'm not saying that you should exclude browser-based systems from your selection process, only that you should be aware of these issues.

Go to Articles Page for more articles by Dave Piasecki.

Visit my links page to research software products.

Dave Piasecki, is owner/operator of Inventory Operations Consulting LLC, a consulting firm providing services related to inventory management, material handling, and warehouse operations. He has over 25 years experience in operations management and can be reached through his website (, where he maintains additional relevant information.

BookBook Banner02