Agile software development is a big buzzword phrase these days. Many view this form of software development and deployment as an anecdote to the big, slow, expensive, and risky ERP implementations that spook so many executives.
Like most buzzwords and alleged “silver bullets” hyped by the industry, agile isn’t the answer for every digital transformation strategy. While waterfall approaches are appropriate in some situations but not in others, the same is true of agile.
What is the difference between Agile and Waterfall?
First, it is important to understand the difference between waterfall and agile. Waterfall approaches entail a more traditional, sequential approach to development, with clear milestones amongst requirements, design, development, testing, and go-live. Next phases begin only when the previous phase are complete.
Agile methodologies, on the other hand, involve a more iterative approach. Design, development, testing, and training happen as each batch of requirements are defined. For example, rather than waiting for the entire solution design to be completed before moving on to development, agile approaches would conduct development, testing, and rollout as the different needs are defined.
So, which is right for your organization? Like many decisions regarding digital transformations and ERP systems: it all depends. It depends on a number of decision points that need to be defined prior.
Below are a few questions to help you define the best approach for your project:
Are you a fast and nimble organization, or are you trying to build scale and efficiency?
Organizations that are generally fast and nimble may benefit from agile approaches. Startups, quickly growing organizations, and other companies that value speed over scale and efficiency are more likely to benefit from agile. In these cases, things are changing too quickly to support a waterfall approach, which fits better in a bit more of a static operational model.
Companies that have reached a certain point of size, scale, and predictability, on the other hand, typically benefit more from waterfall approaches. In these cases, creating operational efficiencies and scaling for growth are bigger priorities than speed. Here, it is more important to clearly define an entire solution up-front, rather than incrementally rolling out changes in piecemeal.
How important are standard, well-defined business processes within your organization?
Some organizations have fundamentally broken business processes and systems, or they have opportunities to better integrate their end-to-end value chains. In these cases, it is important to engage in business process reengineering and business process management activities to clearly define what the “to be” business processes will be. These needs point to a more traditional waterfall approach.
However, if you are an organization with fairly well-defined processes and systems, then an agile approach may make more sense for you. These situations offer a certain flexibility to define process improvements as solutions are rolled out – more so than in waterfall situations.
Are you a centralized or a decentralized organization?
Companies that are – or are trying to become – centralized, tend to gravitate toward waterfall development models. In most cases, these organizations are trying to create a standardized operating model throughout various locations and business units. The upfront business process and system design of waterfall methodologies enables this sort of centralization.
Decentralized or largely independently operated organizations, on the other hand, often find that agile methodologies better fit their needs. Here, more structured and sequential development methodologies aren’t beneficial, but more iterative and fast-paced changes are.
How broad is your digital transformation?
As a broad generalization, enterprise-wide digital transformations are difficult to do without a waterfall approach. The value of these transformations is the level of cross-functional integration, which requires a good deal of up front design and planning. In these cases, it may take longer to design these solutions than some may like, but if done correctly, these early stages of the project can save a great deal of time and money later.
If your initiative is more isolated to a smaller part of your organization, then agile may be a better fit. For example, if you are rolling out CRM software and limiting its use to a sales team, then it may make sense to roll out changes in a more iterative nature rather than designing the entire solution first. In this example, realizing quick wins may be more important than perfection.
Which is your organization more able to tolerate from an organizational change perspective: more frequent, longer-term, and ongoing incremental changes, or less frequent, larger scale changes?
Change fatigue is a risk with any digital transformation. Employees tend to resist change of any sort, but your decision regarding agile versus waterfall will heavily influence the magnitude of change – and how those changes are received by employees. Waterfall implementations tend to involve less frequent, but larger scale changes, while agile implementations generally entail more frequent and more incremental changes.
In either case, you are simply trading one risk for another. So, it is helpful to look at your culture and your people to determine which will be better received. Will employees be more open to one big wave of changes, or do you think they would do better with more constant, incremental changes? In either case, an effective organizational change management strategy will be critical to your success.
There are no right or wrong answers to the above questions – and there is certainly no silver bullet, one-size-fits-all answer, either. The important thing is to determine what makes the most sense for your organization, then build your implementation strategy and plan accordingly.