Just like in software development, ERP implementation projects might employ two methodologies: the classic Waterfall approach (generally more popular among large corporations) and the more recent Agile methodology widespread among technological startups and software developers. Agile, in its classic form, is highly effective for standard development where tasks are clear and well-defined. Typically, Agile utilizes tools like Jira for backlog tracking and involves iterative sprints and retrospectives.
When it comes to applying Agile in ERP implementation projects, it's a relatively new concept, and many are still grappling with how to work with it effectively. However, skillfully using Agile tools, sometimes in conjunction with the Waterfall approach, can be an optimal strategy for ERP implementation. In this article, we will delve into the advantages of this approach and how to employ it for maximum efficiency.
Agile VS Waterfall: Pros and Cons
In a classic Waterfall project, timelines can stretch to months or even years, with stages following a sequential pattern—starting from requirement elicitation to functional design, development, testing, and so on. The drawback here is that clients only see the system months after the project kickoff for the first time, regardless of how well it meets their requirements.
If certain requirements are overlooked or have changed over the course of the project, an additional time-consuming and costly refinement phase begins. Consequently, a project initially budgeted for, say, $50,000 could end up costing significantly more, with most work and project risks, such as internal sabotage, incompetence, or last-minute functionality gaps, emerging towards the project's end.
Agile methodology, on the other hand, is characterized by its 'incrementality', meaning it delivers step-by-step value to the client. The client begins to see the system in the early stages of development, allowing for ongoing adjustments. The earlier the system is reviewed by the client, the more time remains to rectify any issues. Agile projects can as well exceed deadlines and budgets, but since the implementation team manages the client's expectations and can immediately shift priorities in the next sprint, the client receives the benefits of the system much sooner.
Another fundamental difference between Agile and Waterfall is the payment structure. In Agile, clients pay for a team over a set period, with payments made monthly or even weekly, rather than a lump sum at the project's completion. This approach is equally convenient for clients as it spreads out the cost over the project duration and provides visible results for their investment.
Agile projects often have faster delivery times, provided certain conditions are met, such as having an experienced Scrum Master or Project Manager who can multitask effectively, manage meetings, and oversee various aspects of the project. This can lead to subsystems being delivered ahead of schedule.
In contrast, Waterfall struggles with rapid changes or scaling. Initially planned with large budgets and teams, adjustments and coordination in Waterfall are typically slow. Delays or planning errors in Waterfall are often attributed to incompetence, with less concern for the actual reasons behind these setbacks.
Using Agile on ERP projects: Crucial points to consider
Applying Agile methodologies in ERP projects requires a nuanced approach due to the complexity of ERP systems, which include a multitude of data, reports, and use cases. Unlike typical application development, ERP implementation involves multiple variables, making the straightforward application of Agile challenging. A comprehensive overview is essential for conducting fit-gap analyses, assessing the scale of tasks, and planning effectively.
Consider a scenario where an analysis of a client's company reveals unique processes that standard ERP solutions don't cover. For example, a hypothetical process like 'sending employees to the moon' may not be included in an off-the-shelf ERP system. This situation necessitates either integrating a specialized system or customizing the existing one.
Therefore, the implementation might proceed partly via Agile for standardized processes and partly via Waterfall for creating bespoke solutions. The success of this hybrid approach hinges on the skill and intelligence of the specialists involved. It starts with establishing a general framework, which is then broken down into specific tasks.
Let's assume most existing processes align well with the ERP system, requiring only minor customizations like modifying a print form here or adding a report there. In such cases, an Agile approach is appropriate. Instead of drafting detailed functional designs for these subsystems, the Agile methodology is employed to initiate sprints. This approach allows the client to start using new features straight away, providing feedback for any necessary adjustments.
Returning to the example, imagine that the Agile methodology has been successfully applied to the procurement system, making it fully functional—as previously agreed with the customer. The client tests it and is now able to handle documentation and access directories for contractors, warehouses, and products. At this juncture, the decision must be made: either wait for the completion of all subsystems to launch them together or deploy the ready subsystem into production immediately to prevent operational delays.
This decision hinges on the specific needs and strategies of the organization. Opting for immediate deployment can offer immediate benefits and real-world testing, providing valuable feedback for further development. Conversely, waiting for a comprehensive rollout allows for a more synchronized and potentially less disruptive transition, but could delay the realization of benefits from the new system.
Practical case: Agile prototyping with 1C:Enterprise
Some ERP platforms provide robust development tools that significantly enhance the speed and efficiency of agile prototyping/building MVPs during ERP adoption. For instance, the implementation project for ACT PRO & BUSINESS SERVICES, a Dubai-based company providing corporate services, was completed in just six months and automated 40 seats with 1C:Enterprise low-code platform.
1C:Enterprise is a low-code development platform designed for rapid business software creation, offering fast development, extensive customization, and cross-platform capabilities for desktop, cloud, and mobile apps. It integrates various business units into a unified system, is fully customizable, and includes a rich library of programming patterns, built-in business intelligence, and robust access rights management.
So, instead of a lengthy and formalized process of requirements elicitation, prototyping and numerous iterations of polishing, using tools like 1C:Enterprise platform can provide a much faster alternative. You simply jot down a quick mockup in the visual editor and send it to the client for approval: “Is this what you require?”. After getting quick feedback from the client, the team can now turn to development.
The case of Bris-Bosfor, a large manufacturer of footwear, illustrates the effective use of 1C:Enterprise for agile prototyping. Bris-Bosfor, producing up to 20 million pairs of shoes annually and holding a significant market share, aimed to scale its business, enter new markets, and increase profitability.
To achieve these goals, they implemented a modern information system based on the 1C:Enterprise platform. This solution encompassed production, cost management, warehousing, purchasing, customer relationships, sales, and more.
Utilizing the SCRUM framework, they managed to get a prototype of the system operational within just a month of the project's start. This rapid development allowed Bris-Bosfor not only to modernize its enterprise management and accounting tools but also to reorganize business processes and increase profitability.
Challenges in Agile ERP implementation
One major challenge in implementing ERP using Agile methodology is that not all clients may be ready to work with this approach, as it's different from what many companies are accustomed to. Agile requires a higher degree of client participation than traditional methods. For example, large corporations, typically used to the Waterfall paradigm, might find the transition to Agile challenging.
However, in many cases, clients who were initially unfamiliar with Agile quickly adapt once they see its benefits. They can actively observe the progress and make timely revisions, understanding clearly what they are paying for. Clients new to this approach often become more involved by the third or fourth week, eagerly anticipating the tangible results they can get from the next sprint — be it a new form, report, or data population tool.
Sometimes, when combining Agile and Waterfall methodologies, a mismatch can occur. For instance, if typical subsystems like purchasing and production are completed early in Agile, but the sales subsystem, developed using Waterfall, is still in progress, it can cause desynchronization. Project managers need to be mindful of such risks.
Another difficulty arises when the integrating company misjudges its expertise in the client's field. Agile doesn't leave much room for lengthy familiarization with the subject area; results need to be delivered promptly. If a team spends weeks just immersing in the subject matter and reviewing documentation, clients understandably raise concerns.
Successful ERP implementation with Agile also requires high-level project management skills. Project managers must accurately assess resources to avoid extremes, such as overloading the team or having them idle. Success also largely depends on the client's readiness to cooperate and provide timely feedback.
To sum up, before starting ERP implementation, it's crucial to analyze the specific case—including the company's business processes, the scope of work, and available resources— to decide whether to use Agile, Waterfall, or a combination of both.
For instance, a large corporation with slow approval processes and a rigid corporate structure might be better off with the classic approach. However, in many cases, a blend of Agile and Waterfall methodologies provides an optimal balance of efficiency and speed in implementation.
To facilitate this approach, ERP systems like 1C:Enterprise feature a low-code development platform allowing for a more flexible and smooth integration process since all the necessary adjustments and customizations can be made swiftly without extensive coding.