Image Credit: Unsplash

Implementation of complicated enterprise software is a stressful process. If something goes wrong, the company’s business operations might become entirely stuck, which results in lost revenue and damaged customer relations. Let’s talk about how to avoid such problems and make complex new software implementation as flawless as possible.

Software implementation: what can go wrong?

Almost 50% of complex software implementation projects end up with huge budget overrun or missed deadlines. This often leads to conflicts between the customer and engineers working on the implementation process.

As can be clearly seen, the number one problem while implementing complicated business software is matching the final result with customer expectations. This is due to traditional miscommunication between business people and IT guys. Managers might not even fully understand what the system is capable of, while engineers have the perfect knowledge of the system’s functionality but do not necessarily get how the customer wants them to set it up.

The solution: implementation methodology

The situation described above is entirely normal. People in the IT and business worlds speak different languages from each other and pursue different goals. Inevitably, this can lead to multiple problems. To avoid them you need to develop a tool that translates business requirements into engineer-readable tasks, and vice versa — translate engineer’s words into business-related facts and descriptions.

In order to do this, you need to apply an iterative approach to identifying requirements and testing the solution as early as possible during the project. The perfect way to complete this task is to develop a software implementation methodology that is built around test sessions for interim prototypes of the implementation process that involves both IT reps and customers.

How this works

Here at 1Ci we are developing business automation software. Our 1C:Enterprise platform can be used for the automation of different types and sizes of business, from wineries to ports, plants and transport terminals. We also have a 1C:ERP system which is useful for completing multiple tasks including sales, distribution, supply chain management, reporting, and others.

ERP is a pretty complicated system, but at the same time it is crucial for business. This is why any problem during the implementation process might immediately lead to huge losses, missed deadlines and lost revenues.

To overcome traditional software implementation problems we have come up with a methodology that allows potential bottlenecks to be fixed and makes the overall process more efficient. Here, in more detail, is how it works.

The method is inspired by the Unified Process. It also combines some elements of the classic (waterfall) method of implementing commercial off-the-shelf applications, and Agile techniques. The key idea behind this method is to apply an iterative approach to identifying requirements and testing the solution as early as possible during the project.

During each phase of the implementation process there are multiple tasks, i.e., functional processes, requiring the allocation of different resources (say, for development, testing etc.).

Every such procedure has its own thorough description, including the roles of those people who could be involved in it. Each phase is also described in detail. The customer should understand what work will be done at each step, and what the business-related deliverables are.

In turn, engineers should get an understanding of who the business audience is, how the company plans to make its customers happier, and how it intends to earn more by implementing new software. This information falls into a separate section of the document which is created by business representatives.

Here is what happens at each stage of project development:

Inception . This is the first stage where an initial plan is developed and the project team is assembled. Here we prioritize high-level solution requirements.

. This is the first stage where an initial plan is developed and the project team is assembled. Here we prioritize high-level solution requirements. Elaboration . Here we define the baseline architecture of the system.

. Here we define the baseline architecture of the system. Construction . The first release of the system that goes into production. The system is tested within a predefined number of iterations. The process is iterative, and the system components are refined until they meet the requirements.

. The first release of the system that goes into production. The system is tested within a predefined number of iterations. The process is iterative, and the system components are refined until they meet the requirements. Transition . At this stage, the User Acceptance Test environment is prepared to run this test. A cutover plan is developed and go-live decision is made at this time. Then we polish the last few things before implementation, and we run the system.

. At this stage, the User Acceptance Test environment is prepared to run this test. A cutover plan is developed and go-live decision is made at this time. Then we polish the last few things before implementation, and we run the system. Production. After we’ve gone live with the new software, we monitor the system, measure its performance, and analyze user feedback (complaints, feature requests etc.). Based on this data, the change control process is altered to prioritize important fixes, and it is balanced with new features releases.

As a result, moving step by step we develop detailed descriptions for project implementation phases, processes, and tasks. The team is then supplied with multiple documents including work product templates, a project management plan, and work plan example. All team members receive information about why something should be done and what steps are necessary to perform the task, details about who, when and what will be done during at each step, and what the result of each level is.

All of this can be used as a reference guide, which is useful at any stage of the software implementation project. Speaking of volume, the ERP implementation method document is about 55 pages long.

Our method has been proven in ERP implementation projects to a scale of about 1000 man-days. It is most suitable for projects with minor or moderate customizations with up to 20–25% of the standard application code modified.

If this is too complex, choose flexible software

In the case of complex business software, developing a software implementation methodology is the only way to avoid serious problems, including budget overruns, missed deadlines, and conflicts.

However, if it seems too complicated, there is another solution: choose flexible software that you can implement step by step, and customize when needed. Speaking of business automation software, the 1C:Enterprise platform allows the implementation of different modules and the creation of customer configurations.

By using tools that allow such a level of flexibility, you can switch from big implementation projects to small releases which reduce the possibility of mistakes and require fewer resources and less preparation.