How Agile techniques can improve enterprise software implementation

, Category: PM     Twitter Facebook Linkedin Google+  


How Agile techniques can improve enterprise software implementation

Enterprise software implementations like ERP are famous for being late and exceeding budget. Selecting best-fit enterprise software is critical to maximizing ROI, but, of course, that is only part of the story. That software must still be properly implemented.

Parts of Agile can be used in enterprise system implementations like ERP with great success. The core of the Agile implementation concept is to continuously design, test and implement smaller parts of the system, and then move on to the next part. The alternative, of course, is the big bang implementation. But big bangs are dangerous! They can destroy things. However, sometimes the existing situation may force a company to go live with a big bang. For example, the cost of building interfaces between the old and new systems may be so high that a big bang approach is the only practical way to go live. Even when the go live is a big bang, the implementation project can still use the Agile approach. Here the business users are part of the implementation team and responsible for their areas. At the macro level, an example of an Agile implementation is a phased ERP rollout at a multi-site company. Here you rollout the software at one site where you learn what to expect in terms of company-specific problems that may be encountered, business processes that might need tweaking and so on. This information is then used to improve rollouts at subsequent sites.

Before Agile implementations, companies would spend much effort and time documenting their actual business process flows. Consultants would spend weeks digesting that information, and then ask questions of the business team to validate their understanding. All of this would happen before any system configuration started. The problem with this approach is that it was too slow and that occasionally the documentation was not that accurate.

With agile, business users show the consultants the transactions being performed in the system today. The consultants then show the users how those transactions would be performed in the ERP system “out of the box” and the differences would be discussed. If “out of the box” would not work, the business users explain the problem to the consultants.

Documentation with Agile is much less formal, for example, consultants may use requirements management software like Jira to capture use cases or user stories. Next, the consultants and the developers configure the system to resolve each use case. Finally, those resolved cases are shown to the users for confirmation that they would work. This approach is relatively fast and often done in two-week. The important point is that consultants are in front of users at least every two weeks with the latest updates. These updates would then be tested in the sandbox and any problems fixed immediately.

The key takeaways from the Agile implementation process for enterprise software like ERP are these:

Holding type meetings with users greatly accelerates the development of requirements compared to traditional methods of documenting requirements.
By keeping configuration and development cycles short, e.g. in two-week sprints, problems get caught early by the users, and they don’t compound.