Click here for original article.
There is a buzz about agile project management being the "in" trend. There are workshops, seminars and lots of conversation about agile. However, what does agile mean? According to Webster's dictionary, it is the ability to think quickly or a quick and well-coordinated movement. I see it as meaning flexible. In the project management world, there are countless discussions geared towards agile. But is it really just common sense?
At one of my clients, we have been working diligently to implement a new ERP system. The company is a young company in a start-up mode. However, it is not the traditional start-up. When they ship, they will "go BIG", largely from day one. Thus, there are nuances that require an ERP system long before the typical company would purchase one. Yet they still have the vast majority of start-up challenges. Certainly cash is tight, information is not known, processes are not well enough defined to know how to set up the system yet the system needs to be in place to support their first key customer. What can we do? Leverage agile!
In talking with the ERP supplier, agile was suggested as the best approach. Although I've had a significant share of success with selecting the right system for clients and helping them to navigate the implementation, I wasn't terribly familiar with the nuances of agile. When the ERP supplier described them, it sounded like common sense – exactly what should be done in this scenario. In essence, design the system to be flexible and to account for the information as it becomes available. Thus, a few keys to success emerged: 1) Understand the philosophy. 2) Deliver in chunks. 3) The solution development team.
- Understand the philosophy: As is typically required for success, it is vital that the leaders and the team understand the philosophy. In order to adjust on the fly and remain agile to solution development, it means that it is less likely you'll end up with a final product that is as comprehensive a solution as can be delivered with traditional methods. Make sure expectations are aligned.
Since there are decisions that need to be made on the fly, and options to consider with evolving business requirements, it is vital that stakeholders are involved. Collaboration is the cornerstone. All stakeholders should understand this philosophy, their role, how they fit into the puzzle, and the significance of delivering their piece on time.
For example, this was obvious with my agile client. The project team had to be clear and in the loop – more than on a typical project implementation. The company stakeholders needed to provide vital information as it became available and best guess information while reviewing module functionality. The project manager needed to be empowered, skilled, and supported so that the right decisions can be made at the right time with the best information available.
- Deliver in chunks: As opposed to traditional projects, a key to success with agile is to look for and find reasonable and achievable chunks for implementation. In essence, what group of tasks can be most successful early on with the information and resources available? Will that chunk of the project also support the next chunk? What is the next likely set of tasks that can be defined enough for the second chunk? And so on.
For example, in an agile situation, we were in the process of confirming several aspects of the manufacturing process yet we couldn't wait to move forward in order to meet a critical customer deadline. Thus, we decided to put the foundational elements in place that we knew to a greater degree of certainty first – the accounting system and items. We could build upon these aspects as information became available for the other parts of the system. In the interim, we would provide education on the system and continue to make progress. By going live with accounting to start, we could test several processes with minimal risk – a win-win. Thus, the second chunk would go more smoothly.
- The solution development team: The agile method is all about people! Thus, the solution development team must be solid and collaborative. It is not uncommon in implementations to have experts switch in and out of projects; however, this is more challenging with agile projects as they are more dependent on the people and their knowledge. A cross-functional team that works effectively together is the cornerstone to success. Because agile projects rely on strong informal communication, it is important that the team has the right composition, the right skills (including business knowledge) and is the right size for effectiveness.
For example, when working on an agile project, if one team member has a deep understanding of a particular module, they need to collaborate closely with the person who has a deep understanding of the day-to-day process so that the optimal setup is completed. Since knowledge of the business processes is vital, more emphasis should be focused on getting the right skills and people on the team to ensure success.
Agile can be the perfect solution in many circumstances; however, it is also common sense. If you have fully formed requirements and information available as to how the processes are performed and the likely complexities, is there a reason to build non-essential flexibility into the process? Perhaps that would be a waste. Put on your common sense hat, and good decisions will emerge.