There has been lot of conversation recently on using Agile software development to implement, enhance, and manage ERP systems. Most of us are familiar with the multi-million-dollar ERP implementation projects, which span over years, to tear down existing legacy systems and implement monolithic or best-of-breed ERP systems. These projects put the very organization, its culture, and its people at risk in the hope of getting better information. These projects face several challenges, one of which being its waterfall implementation approach. End users only see the product after 9 to 12 months, inspiring the below cartoon and several other versions by Scott Adams.
ABOUT ME: I have been blessed to be involved with ERP implementation over the past 15 years, and for the last 5 years I have been managing and enhancing the ERP ecosystems with upgrades, and integrating it to post-modern ERP, MDM, and business process automation systems.
One can read more about the Agile software development principles here. Through this article, I will first try to address how a mature ERP IT shop can use Agile software development methodology to better manage and enhance the ERP ecosystems. Before we dive into how’s, let’s examine the key guiding principles that a team needs to follow to be successful on its journey (yes, it is a journey and not a destination) to be more “Agile”.
- Close, daily interaction between process owners, business analysts, developers, and testers
- Customer satisfaction through early and continuous delivery of working software based on principles of iterative delivery, continuous improvements, and integrated testing
- Self-guiding, motivated teams which organizes itself and can agree on what can be delivered and tested by end of one or two weeks
- Daily stand-ups to resolve impediments, to hold each other accountable, and to agree on what will be accomplished by end of day.
In a mature ERP IT shop, you have scheduled releases which may include reports, integrations, configurations, user interface personalization, bug-fixes, security patches, and small to medium scale projects that help improve or automate business processes. You can follow the steps below to streamline and improve your team’s capability to deliver.
1. Establish Backlog: Meet with your business owners to prepare the backlog of outstanding requests. Once the backlog is complete, establish business priorities (business values) and technical complexity to the backlog. Finally, agree on what will be delivered in the next release.
2. Establish Predictable Delivery Schedule: Agree with the team on how often new enhancements will be delivered to production. For an ERP shop that has no established release schedule, you can start with predictable monthly release schedule. Below is a sample schedule:
- All development and unit testing will be completed by the 10th of the month
- All system and user acceptance testing will be completed by the 15th of the month
- All changes to be reviewed by the Change Control Board by the 20th of the month
- All enhancements will be delivered 7 days before the month end process begins. This will allow complete business validation of the new releases in production and minimized impact to the month-end process.
3. Agree on who will be responsible: Identify all key players for each backlog item that has been agreed to be delivered in the next release. You should be able to answer following questions:
- Who will be able to make business decisions?
- Who will develop and unit test the code?
- Who will test the integration and user acceptance testing?
- How will we know that enhancement is ready for production?
4. Hold daily scrum meetings: Depending on the complexity of the objects, hold daily scrum meetings for each object or for all agreed backlog items. Hold team members accountable for their commitments. Provide support and guidance to remove any impediments.
5. Celebrate your success: After successfully delivery of the release celebrate success with your team, analyze what went well and what was challenging. Be careful not to throw anyone under the bus.
6. Go back to step 1.
After completing, say, 3 or 4 monthly releases, meet with the stake holders to explore the opportunity to increase the frequency of releases. If you are on monthly release schedule, see if you can try your hands at a bi-weekly release. Within a year, you should be able to mature your delivery organization to have a weekly release.
In the next blog, we will look at how we can delivery 3 to 6 month long projects using the Agile approach.
No comments:
Post a Comment
Thanks for leaving your comments
ML