Looking at the “Agile Manifesto” and how Agile methods have been applied generally involves small, discrete, “digestible” work and task components.
Juggling the number and complexity of dependencies on a full-scale SAP ERP project involves management and coordination efforts, which completely go against the idea of pure Agile methods.
======
ERP projects tend to have too many moving parts and dependencies for Agile, as the methodology provides too little control and coordination. The level of coordination required for a large business package implementation flies in the face of Agile-only methods and techniques. For example, you need to coordinate the following:
- process configuration teams,
- custom code development teams,
- data conversion,
- change management,
- training,
- testing,
- governance,
- infrastructure, etc.
On complex projects, any “sprints” that are not carefully coordinated and planned become completely disjointed (which goes against the “Agile Manifesto” listed below). Too many workstreams with dependencies cannot be allowed to operate on their own– you must coordinate the integrated cross-team impact to other workstreams.
Agile Manifesto Activities
The following chart from the Agile Manifesto illustrates serious trouble spots for ERP projects such as SAP.
Valued |
DE-Valued |
Individuals and interactions | Processes and tools |
Working software | Comprehensive documentation |
Customer collaboration | Contract negotiation |
Responding to change | Following a plan |
Notice that three out of four of those items on the right side (Agile DE-Valued) are often precursors to ERP implementation failures according to the academic literature. For context, in the mid 1990’s, several ERP and large Enterprise package projects were failing. After careful research on the root causes, the studies showed that Agile “De-Valued” areas are the places ERP projects fail. For example:
- Failure to follow good processes and have solid tools, templates, methods, and guidance.
- Failure to have adequate documentation (clearly defined scope, lacking design details, training materials, help, etc.).
- Not following a well-laid-out plan (for example, SAP Activate).
The only Agile Manifesto item listed above that has merit in the ERP space is the focus on the customer over the system integrator contract. Unfortunately, this “customer collaboration” is lacking on most Agile projects because Agile so completely fails to coordinate the various workstream activities.
All of Those Competing Stakeholders and Constituents
Not only are the project-related dependencies and work streams significant, but numerous competing constituencies must also be coordinated:
- business stakeholders or organization,
- IT,
- external business customers,
- external vendors,
- system integrators (when you use consulting companies),
- internal business senior management,
- business department heads (who don’t always agree with each other), etc.
While Agile methods might work well for small, discrete, component areas of an SAP or other ERP project, the academic literature proves that this method can be a disaster for ERP implementations.
However, Agile is not a waste of time– it just needs to be understood and used in the proper context of an overall SAP project. Even the Activate Methodology includes an “Agile” overlay. This overlay does not replace more traditional waterfall methods and does not adopt the “de-valued” Agile Manifesto areas.
Does Agile Have a Place in ERP Projects?
Yes!
Remember, Agile works well with digestible, discrete, or self-contained work packages. Also, remember that an ERP implementation with solutions such as SAP requires good documentation for production support or even user training. De-valuing documentation only leads to possibly significant future pain points.
Some examples of where Agile does work include design iterations through business processes. During these design sessions, you co-create with your customer an MVP (Minimal Viable Product) using configuration. This way, as you exit design, you also have a functional system with 60-80% of the base solution configured. This can save time from the traditional waterfall approach, where you have a separate Design (Blueprint) and then Build. It also exposes the user community to the solution earlier and helps with knowledge transfer.
However, this still requires a waterfall effort to define the workshop schedules, work through resource dependencies or constraints, and develop an initial detailed scope assumption before beginning the design. This approach requires that the consulting company you use provide consultants with deep enough experience and capability to pre-configure a “straw model” before the design workshop starts. Then, they demonstrate the standard capabilities, and finally walk through the detailed configuration and capture solution gaps in a half- to full-day design session for each discrete component of a solution process area. For example, you might do an all-day design session demonstrating just SD order types and their settings and options.
Again, the sessions are planned using waterfall. The scope is known ahead of time, the actual solution build starts with a straw model, and then Agile is used to refine the actual solution build during the design session.
Another area where Agile works well is in development. However, this does not mean that you should do development without initial requirements gathering (or user stories) and functional specification documentation. Later, you need technical specifications to support the documentation of code, tables, and any program complexities. This is especially true for larger development objects that may involve multiple programs, multiple custom tables, and multiple data exchanges. That technical documentation can save days, or even weeks, when a change might be needed later.
Those project areas with overlapping dependencies and cross work-stream coordination require more traditional project management methods with:
- full project plans,
- discretely defined tasks and responsibilities (to avoid “border wars” at transition points),
- clearly defined deliverables,
- management of parallel work-streams and parallel critical paths, etc.
Applying “pure” Agile principles to an overall SAP project creates a high likelihood of blown timelines, blown budgets, and collapsed scope — delivery suffers as stress balloons. However, looking for discrete chunks of work that can be coordinated through normal waterfall methods does allow the benefits of Agile to produce a better overall result. Their overall program, projects, and workstreams must all be coordinated with a detailed waterfall plan, while individual tasks that roll up to the project plan might use Agile methods.
Agile in SAP ERP Project Examples
I know about the struggles, stresses and messes of SAP projects where the team attempted to do the whole project, or large portions of it, with pure Agile methods. I have been on several of these types of projects, and none of them went well.
On one SAP project, they tried to run the whole project with “Agile,” and it was a complete mess. The coordination and responsibility struggles forced a change to the more traditional waterfall approach. Using Agile methods, the project had an unsustainable burn rate for the budget, dates were always slipping, inter-team coordination and planning were a complete disaster, and before the mid-course correction, this project was not going to go live.
Worse still, because of the “Agile” methods of only planning small, discrete work components just before they are due, each dependent group tried to minimize their own work and risk by dumping many of their traditional responsibilities and tasks onto any other group. With Agile, they could self-define much of their own effort and naturally tried to minimize their effort while maximizing their success (at the expense of other project participants and workstreams).
On another project, the workstreams minimized their clear risk of missing the timeline by simply dumping a bunch of garbage into testing. They figured the Integration Testing would fix the complete mess. The shove-it-in testing approach creates major downstream problems with the constant fixes leading to the following problems: constant data mapping and data migration changes, continuous design until go-live, constantly adding or changing requirements, and high risk to solution quality at go-live. This delivery practice is easily among the worst.
My Conclusion on SAP and Agile Deployments
Pure application of Agile is a disaster on any major SAP, ERP, or business software implementation project. I can absolutely guarantee you that any Agile SAP project delivery “success” claim violated the Agile Manifesto to get there. There are too many moving parts and too many constituents to use pure Agile on a full-blown SAP project. A full project needs a component of waterfall-type coordination, no matter what it is called (SCRUM, SCRUM of SCRUMs, etc.).
However, Agile can work within certain task areas, and at different periods and phases in projects. I have used “agile-light” or hybrid-agile approaches that have a waterfall overlay. You can successfully combine agile tasks to provide a higher-quality project result, as long as you continue with the waterfall coordination between workstreams and efforts.
The real challenge with pure Agile combined with Commercial-off-the-Shelf (COTS) Enterprise Applications is in the nature of Agile itself. Agile works well when you are iterating and trying to discover vague or unknown solutions. You use a starting premise through the customer story and iterate through that until you reach some level of consensus on satisfying the story. However, with packaged applications sticking fairly close to standard, the processing steps are the processing steps. The “Best Practice” process flows are the process flows. The application capabilities are known. So, the real issue is in understanding where there might be gaps to fill rather than starting with a clean sheet of paper.
I have used Agile methods quite successfully for small scale implementations on preexisting SAP modules/systems/environments. “Enhancements” or “Integration’s” to a preexisting system, has worked very well for me. For these types of projects, I feel Agile provides the best value, quality and user satisfaction.
I have never used an Agile during any of the full scale SAP implementation projects I have worked on. However, although I have never seen it used, I would love to try! But, I have yet to meet a client/businesses willing to let me test it out in consideration of the costs involved in standing SAP up. Using anything less than the tried and true methods would be unacceptable, which I cant really fault them for!
Guys one of the principles of agile is to customize it as per the requirements of the project. It is true that the nature of agile implementation for SAP projects won’t be same as you would apply for typical web based projects. It can’t definitely be pure scrum due to the vast number of dependencies. You have to customize it heavily to suit the SAP implementations. My project was all about integrating an existing SAP PM and CRM implementation to a partner system based on Salesforce. The demands placed on the project team was or delivery quick short deliveries although the requirements were vague. And we were successfully able to use agile style deliveries to meet the expectations of the customer. Guys to be honest if you are not able to able to customize agile properly and the project fails it’s fair to blame agile. End of the day any methodology can fail if not implemented properly. I’m happy to share details of my project in case any of are interested.
I have been an SAP PM for 14 Years and can confirm Agile and scrum is nonsense, two hugely failing UK projects are directly attributed to the adoption of using agile. British Gas & Cambridge Assessment, there are probably endless more.
SAP must be implemented through ASAP, when you try and use the agile nonsense with ASAP (or without) it makes a mess of the programme. Interestingly both of the failing projects have the worst project managers and programme managers available in the UK market today. They are quite happy in the chaos of an agile implementation as they are rubbish and can hide when using agile and scrum. So it’s very good if you are a crap pm and want to get lost in a project.
Unfortunately Harry that has been my experience too. The WORST PMs I’ve ever worked with used “Agile” as an excuse to avoid doing real project management. Those projects too were a completely chaotic, stressful, painful mess.
I have found that Agile does work will in a *very* limited fashion for some small work-packages in a project if the requirements are clearly defined and easy to understand. They also work well in a support function after going live for fixes and enhancements. However, using Agile after going live for support also means that about every 5 years you have to revisit the whole solution and re-work a bunch of stuff. Agile in those small work packages for support and enhancements tends to produce a LOT more custom code than necessary. So if you have the hindsight of seeing all of the related parts several years later you might see where a standard solution would have been better. But when it is a quick “Agile” fix, or a quick “Agile” enhancement there is a HUGE tendency to custom code the small pieces rather than using the standard solution.
Good luck on your projects and I am sorry to hear about your difficult experiences.
Hi Bill,
I’ve been enjoying very much reading your insightful writings about SAP projects and the entire ecosystem of services. Most of the time I’ve found my thoughts resonating with you!
This time I’d like to challenge you.
In my recent SAP ECC 6.0 program (all core modules except APO, OT VIM, BW, HR minimaster, T&E, portal + serious number of interfaces to other systems) we’ve been applying Scrum methodology. And we’ve also been paying attention to Agile Manifesto and found it very, very useful.
Key planning principles:
1) Develop a global template by
2) delivering “a potentially shippable” release every quarter for
3) pilot go-live in a year from kick-off and
4) prepare for quarterly roll-outs.
There were a few constraints that we had to be conscious about:
a) our company had no whatsoever experience about SAP
b) we had very little of communication infrastructure needed by global transformation projects
c) almost all the businesses were using different legacy ERP systems
d) master data management practises were equally non-standard as ERPs
By applying scrum we were able to gather once in a quarter vast number of stakeholders to test and try hands-on the latest integrated release. As they saw the system in action they were in good position to express their thoughts about it and articulate their requirements. Also the development team learned their primary job i.e. deliver a solution to users. As a matter of fact the deliveries of these potentially shippable releases were kind of go-live dry runs. The team performance became more predictable as every release included similar activities. In a waterfall method subsequent phases are different – performance in blueprinting is no prediction of performance in realisation phase.
Still the best learning! The stakeholders and business users that we frequently used in testing (and sparring our thoughts) were easy to use as change agents and SAP evangelists among their home units. They had had a chance to have their educated say about the development and early hands-on experience.
Best Regards
Tapio Järvenpää
Congratuluations!!! on your success.
Unfortunately this has not been my experience. And I would certainly like to know how you applied SCRUM to each of these mini “go-live” trials. It would also be interesting to find out how long the overall project took, whether you used a waterfall approach at all. And how do you do blueprinting in this type of integrated environment under an Agile approach?
I have lots of questions because I’ve never seen this work on an **overall SAP project** before, except when the timeline went WAYYYYYYyyyy over, budget was blown, and project stress was way high. But for me I don’t know if I would call that “working”…
HI Bill,
we started project planning springtime 2010 (we were not aware of this https://training.sap.com/nl/en/course/wnlsa-agile-sap-project-implementation-classroom-091-nl-nl/), but determined to make a paradigm shift in implementing SAP. I had been away from SAP projects almost 10 years and during that time seen other systems and methods.
In a nut shell: from kick-off to go-live of pilot site 13 months, one week ahead schedule. Quarterly intermediate, integrated releases. Two week sprints. Biweekly scrum-of-scrums meeting where all teams reported their progress and if they were to need anything from other teams during the next sprint. Teams: FI/CO, MM, PP, Variant Config, SD, PS, IM/WM, QM, Basis, training, migration, support, master data and integrations.
After the above global template development and pilot implementation we have started roll-out projects. They look more like ASAP projects, but even they have intermediate stages.
Blueprints are evolving over the course of project execution.