Can Agile and ERP Implementations play nice?
At first glance it may seem that the two are destined for success. While Agile strives for working software, ERP systems (e.g. SAP) start with working software out-of-the-box. But that may be where the synergies end. Vendors may feel that their product exemplifies best practices and organizations should change their business processes to conform. This may cause a problem if your business process is your competitive advantage. These differing views are essentially polar opposites. ERP systems operate in a certain predefined way which is very different than building what the customer wants. In fact, there are many instances were ERP systems can't do what the customer wants. ERP Implementations are known to have very specialized roles (e.g. technical consultant/functional consultant/project manager.) whereas Agile focuses on specialized generalists (i.e. T-shaped skills) and very different roles (e.g. Scrum Master/Product Owner). In an ERP Implementation the PM typically directs the team and on an Agile project the team is self-managed. In terms of an Agile developer environment it's not uncommon for developers to have the entire stack running on their computer. Even when they need to deploy it's a click of a button because the process is automated. In ERP systems, developers may be able to run the UI on their computer but their share server side code so when they deploy the affect everyone. Also, deploying to the various environments can be quite time consuming. Incorporating automated testing in an Agile project is the norm. This can take the form of unit/integration/UI automated tests. In most ERP implementations, automated testing is not even a consideration. BDUF or BUFD (whatever you prefer) is often frowned upon in the Agile world. ERP implementations typically start with design documents and can continue on for months and sometimes years. So if you're an Agilist by heart, should you avoid ERP implementations like the plague? Absolutely not. Just go into it with a realistic expectation. It is likely not going to be like the Agile projects you're used to. But that also creates an opportunity to introduce Agile concepts into a process that typically runs in a Waterfall fashion.