Agile and Scrum in ERP implementations – how to apply them
The experience gained while working on various IT projects, including ERP solutions, has taught us that you should be careful when choosing an appropriate work methodology and project framework. First of all, it must match the characteristics of the project. A fast-paced framework, done “by the book” will never be the best choice without first adjusting it to our reality.
In the case of developing ERP applications and systems, the Waterfall approach is still used quite often. Despite the fact that, in popular opinion, this framework is outdated, it is still in favor, especially when it comes to large implementations in corporations. This approach is preferred by management boards that try to control the costs and time needed to release individual functions to end customers. They try to avoid the Agile approach, fearing that they will lose control over their project.
Our experience shows, however, that the Agile approach is beneficial for large projects, giving the same sense of security and control as in the Waterfall approach, but additionally it enables a dynamic introduction of changes (we can avoid costly change requests). However, there is a catch – you need to use Agile reasonably.
Problems that may occur when using Agile methodology
Many companies fall into the trap of using Agile and its most popular Scrum framework – they see it as a rigid process and hope it will solve all problems. They forget about the true values of Agile, which is delivering business value based on cooperation and mutual understanding.
If an employee is introduced to the hard structures of the organization, he or she usually turns off his or her thinking – he or she only starts to care about fulfilling his or her duties, regardless of what is happening around him or her. Do you need a more flexible approach and slight behavior modification? A programmer or a Product Manager may not adapt well, because it will be a violation of the rules of the previously established framework.
Examples of typical challenges in Scrum and solutions found by people from our software house
The development team (5 developers and 1 tester) failed to complete their tasks within the time limit declared several times in a row.
The reason turned out to be insufficient time to conduct tests. The problem intensified when additional corrections to tasks appeared during the sprint.
Our solution: We decided to involve developers, not only the tester, in testing when needed. It turned out to be especially useful when we had to release multiple functions. The developers began to support the tester instead of writing the code for new features.
The scrum team in a specific period of time had to release a very large number of functions required by the business. For this reason, there was not enough time for detailed requirements analysis and testing.
This resulted in the emergence of a large number of errors in the system, which sometimes made the work of various departments difficult.
Our Solution: The team spent several consecutive sprints thoroughly analyzing and fixing the reported bugs. Despite the fact that programmers did not create new functions during that period, they significantly improved the operation of the system, at the same time facilitating the work of its users.
How to use Agile in ERP implementations
As mentioned above – it is worth using Agile in the case of ERPs. If we decide to do so, it is advised to do it skilfuly – it is good to implement Scrum only in selected areas and only to a certain (incomplete) extent. It should be guideline instead of manual.
When using the Agile approach, we must not forget to create list of requirements – analyze them and initially estimate the workload (as in the Waterfall approach). Then, according to the priorities and the value provided, the product should be developed iteratively, significantly shortening the TTM.
If the whole process is organized wisely – e.g. success criteria are created and proper communication is ensured, then we may successfully start doing projects with the Agile methodology (taking advantage of its assets), without increasing the project risk and feeling of loss of control.