First, let’s define the “Waterfall” and “Agile” models of project management. Now, I would love to entertain any discussion on the full and true deep meaning of either of the terms Waterfall or Agile as applied to project management, but for now I’m going to try to keep it very simple.
The waterfall model is historically a sequential design process dating back fifty years. Originating in the manufacturing and construction industry during a time when highly structured environments were not particularly forgiving of change requests, the waterfall model was the most logical choice. It received its name from the simple downward flow of the project life cycle: Conception > Initiation > Analysis > Design > Construction > Testing > Production > Implementation > Maintenance.
When the concept of software development was born, there were no other feasible project models to adopt except the long-standing waterfall method. When applied to the dynamic software development process, the waterfall method was immediately revealed as too rigid and non-receptive to change. It would also be discovered as we approached the 20th century that the waterfall method did not lend itself well to collaboration.
The Agile project life cycle is an adaptive cycle that is incremental and iterative. This means that it looks to release for use usable product or service more frequently and on a regular basis. You see it every day now in your cell phone, desktop, laptop, or just about anything that has software. As you’ve surely witnessed on your handheld device, a new version of software is available for download regularly which fixes this bug or adds that feature. Over time, you could very easily see an entirely new software product on your handheld device that is truly generations above where it was when you first bought that device.
Direct Comparison Of The Models
I want to make sure there is a stark contrast for these two methods as to their life cycles, so my example will be very simple.
Waterfall Project Life Cycle: Suited for medium to large projects that can (and should be) clearly defined before production starts, and the end results are not likely to change significantly, e.g. a complete network migration of your business servers to new hardware. There are finite requirements for Time, Energy, and Money.
Agile Project Life Cycle: Suited for medium to small projects and projects that cannot be completely defined before getting started, e.g. your dynamic business strategy for getting to the next level. There are many aspects of your business that need to be defined and built or continuously refined to remain competitive and relevant in your industry. There are unknown requirements for and availability of Time, Energy, and Money.
It should be made clear that I do not intend to propose that the project of getting your business to the next level is a small project, because it certainly is not. However, it can best be managed as a medium to short-term project using Agile methods because it is a very long-term project with dynamic resource availability. As one of my clients always says, “It’s a marathon, not a sprint.” And in small businesses, we don’t always have the Time, Energy, or Money to do as we wish at the speed we desire. So we break the work down into logical right-size pieces, and group them together into bundles we can handle and reasonably expect to get accomplished given the current resources. This way, we make incremental progress and create small successes to which we build upon. Rinse and repeat.
A final note on the comparisons I used - I must also say that if you need to do a network migration and you want to do it with zero downtime, you certainly could accomplish it using agile methods provided you have the resources. Shameless plug for The Network Migration Workbook inserted here.
Agile project management is referred to as an iterative and incremental method of creating products and services where the design and build activities are highly flexible and interactive. Project requirements and solutions evolve through collaboration of everyone relevant to the ultimate end product or service and goals. It is an adaptive and evolutionary development that relies heavily on continuous incremental improvement and provides the lowest possible time to release of usable solutions.
Until now, agile has been most commonly associated with the software industry. It is now being leveraged effectively for non-software products, services, and project management. The agile methods have strong links to lean techniques, Kanban, and Six Sigma, all of which represent high efficiency and granular measurable progress.
For your business, you should always have a clearly defined roadmap and strategy for success. Whether you’ve performed your own internal analysis or consulted with an outside resource, you have a list of things to implement, upgrade, replace, or fix in each of the many functions of your business. These can be simple or significant but they are all important, and you need to not lose track of them.
Finance – We need critical billing processes documented so that the accountant can go on vacation without having payroll and project billing come to a halt.
Sales – We need to redesign the sales incentive program because we’ve been introduced to a new method we believe will make all the difference.
Finance – We need to build a budget plan that we can actually stick with for the long term and that actually makes sense and works.
Service Delivery -We need a proper, well-defined New Client Onboarding process.
Add the other 1,000 items here.
My innovation to the practice of business strategy advancement is to use the agile model for cultivating and executing on that business strategy. I call it Business Agile Strategy Execution™. To implement, you take your business analysis and break it out into simply-defined goals for each of 10 key aspects of your business, as in the example above.
Key Business Aspects
Communications & Collaboration
Finance and Accounting
Procurement & Logistics
Research & Development
Now set priorities, timelines, deadlines, and resource requirements for each goal. Be sure that you are not crowding for time because you feel you need to. This is a marathon, not a sprint, and you don’t want to over pressure yourself with over optimism of your ability to deliver. If something is a high priority and is time critical, then by all means set it accordingly.
Next, write out what I call the ten steps to success in checklist format for each goal. It may be less than ten steps or it may be more, but the idea is to have the goal broken down into bite-size pieces and in a checklist you can tick off. Now, if necessary and possible, set priorities, timelines, deadlines, and resource requirements for each of these new checklist items.
The only thing left from here is to group together the checklist items into logical bundles that are related or symbiotic and can be managed in a reasonable amount of time with a measurable result. That is to say, you need to create what’s called the next iteration of this “thing” you’re working on. I’ll give an example and we’ll even treat the iterations as software-like release levels. Everything we build will start with version 1.0 to keep it standard and simple.
Let’s say your focus is on the Service Delivery aspect of your business, and the New Client Onboarding process in particular. For the Service Delivery aspect of your business, if you can build out the complete process, you will be taking your Service Delivery from version 1.0 to Service Delivery version 1.1. To do this, you need to complete the checklist tasks in the bundle you put together by the reasonable deadline you’ve set of the upcoming business quarter. When you complete the New Client Onboarding package, you will have successfully brought your Service Delivery from version 1.0 to version 1.1.
Now, look at all the other goals on your list and treat them as individual increments in the version releases for each of the aspects of your business. You can work on them in parallel as time and resources allow, and each will advance in its own way, continuously and incrementally to the next level. This is applying the Agile project process to business strategy and executing on it for the long-term, best interest of the company.
Remember that we’re trying to attain smaller, short bursts of progress on the monthly or quarterly level, not a giant big catharsis-type birthing of a jump. For most small and medium businesses, this large jump isn’t usually realistic or practical. Now we’ve built a system that lends itself to continuous incremental progress in getting each of the defined aspects of our business to the next level following a well-managed and measurable process.
Notice that because we have small iterations planned for short term successes, we can make additions to the checklists, add goals, add issues, change specifics, change priorities, and change deadlines or timelines, all without toppling the dominoes. And by doing so, we can be much more dynamic in how we execute on our business strategy. We have Business Agile Strategy Execution™!
I sincerely hope you find this useful and inspirational, and if you have any questions or would like more details on any part of this article, please feel free to reach out to me via email or social media. I am very passionate about this process, and I’d love to help you and your business get to the next level.