Don’t Build Bad Business Software With a Good Process

5 Steps for Avoiding the Perils of Building the Wrong Business Software

Building an enterprise-scale software package is an expensive proposition under any circumstances. (The definition of enterprise scale for this post is any software package that requires a shared server and supports multiple users.) The real cost includes upfront payments, server costs, user training, support staff training, maintenance fees, and possible network infrastructure upgrades.

Building the wrong software is even more costly. Agile development approaches will help but you need to follow the steps outlined below to make better choices.

1. Conduct an objectives and issues assessment

You can’t effectively make software decisions when your organization is unclear about its objectives, priorities and constraints. Arrange a planning session to talk through these elements. Take a hard look at the business processes that will leverage the software. Zero in on the activities that you want to automate. Prioritize the capabilities you need using a simple three-level system.

  • Must have – Essential requirement. Key stakeholder needs will not be satisfied if this requirement is not delivered.
  • Should have – Important requirement. If it is not delivered, there is an acceptable workaround.
  • Could have – Nice to have requirement. Can be sacrificed if other requirements take more time than estimated.

2. Consider more than just features and functions

Features and functions are quantitative. Any enterprise system will have many. The qualitative aspects are equally important. Any software system will do some things well and other things poorly. Focus on the capabilities you need. Ignore all the bells and whistles you’ll never use. Focus on quality.

3. Understand the technology foundation

The software should be founded on widely used technologies. This will make it easier for you to find people well versed in the software tools. It will also be simpler to integrate the new software with other systems in your firm.

Beware of proprietary technologies. Proprietary is okay when you need something truly unique and innovative though this is rare. Also be on the lookout for outdated technologies. If a technology has been available for a long time and hasn’t undergone a major overhaul, be suspicious. It may be on its way out. You don’t need to be on the leading edge, you need technology with staying power.

4. Map software features to real business processes

Companies need software that is connected to real business practices. Are you willing to change the way you conduct business in order to get maximum value out of the software investment? Or, do you expect the software to support the way you do things today?

Many companies build good software that is a poor match to how they run their businesses hoping that the effort will drive change. It doesn’t work! Change must be driven by the business with the support of the technology. Software enables change but can’t drive it.

5. Take a broad view of costs

Consider all the costs of buying, installing, configuring and supporting a new application. Will the software run on the computers you have or will upgrades be needed? Can your network handle the additional load placed on it? How much and what type of training will be needed? Will any data conversion be required? How will your business be disrupted during the initial stages of implementation? What additional costs will be incurred due to the disruptions?

Building an enterprise software system is a huge endeavor. Thinking through the issues raised above will help you make better decisions. It will also make you more agile.

Updated: March 29, 2012 — 10:11 pm