In choosing an approach for managing projects, one must understand the needs as dictated by the project itself. This article explores a hybrid approach. One combining Agile, an approach to software development that seeks the continuous delivery of working software in rapid iterations and Waterfall’s thoroughness. Please join me on an adventure.
Below is a list of advantages for both Agile and Waterfall. While not all-inclusive, it should allow for a greater understanding of the points later in the reading. Let us explore some of the elements of these methodologies. First, we look at the differences between the two.
Agile point to client focus, with the speed of delivery.
- Maximized client involvement is crucial.
- Continual improvement is at the core of each sprint/cycle.
- Late changes can be accommodated without severely compromising the project.
Waterfall is about the thoroughness of the product.
- Simplicity and structure assure effective delivery of the product.
- The Phases have defined deliverables.
- Well defined requirements aid in project perfection.
The difference is in the understanding of the requirements. With Waterfall, there is a perception that understanding comes from the analysis. The analysis versus efforts on development follows an 80-20 rule, 80% of the allocated time is in the understanding of requirements with 20% used to develop the efforts towards meeting those requirements.
Any element that has advantages will also have disadvantages. Like a coin, there are two sides, you get heads along with tails. It is the balance between these advantages and disadvantages we seek. Let’s look at a few of the disadvantages and delve into the ramifications.
Agile Disadvantages reflect the intense focus on efforts:
- It is a mandate for Agile Teams to leverage all of its skillset.
- Design and documentation lacks emphasis.
Waterfall Disadvantages focus on the duration of efforts:
- Not suitable where requirements are at risk of changing.
- Working software is created further in the development cycle.
- It is presumed to fall short on highly complex projects.
The disadvantage with Agile’s leveraging skill set is one commonly referred to as a resource constraint. This impact on smaller agile organizations can be critical. However, it provides opportunities for cross-training and enhanced skill set development. Allowing for individual growth and team development.
Agile, being a mindset that places priority on relationships has a lesser priority on documentation. A strong PMO takes the burden of documentation off the team in order to maintain their focus on the success. Agile emphasizes encapsulating efforts into more concise efforts with an iterative approach of sprints to bring the requirements to fruition. Thus allowing the client to see incremental efforts on achieving requirements.
Presuming waterfall to fall short on highly complex projects is a matter of interest for me as it depends on the project’s needs to achieve success. When broken down into appropriate constructs, it is a very formidable methodology. Working on a larger picture that provides a thorough end to end understanding then working on breaking down components.
To emphasize the uniqueness of both agile and waterfall, allow me to share an example. I will share an approach used with a major retailer wishing to achieve one single business requirement. That requirement, achieve 98k purchases per hour through their website.
Allow me to introduce the concept of a hybrid approach. A single requirement gives the perception of simplicity, under the covers lies a different matter. This effort leans heavily on the network capability, server load balancing, database normalization, using data sets across three databases and PCI abilities. When approached about this opportunity, the challenge caught my attention. After a formal kick-off meeting, many discussions with subject matter experts in all areas of the organization ensued. Thus, an approach was formulated and put forth to the “C” suite leaders. They agreed!
It was within each line of business’ purview to dictate the plan to achieve the sub-components representing their efforts As the project manager worked to understand each area, an overarching project plan was formulated. Covering the efforts of each area listed. Each area, networking, Database Admins, Server engineers, Marketing, Product procurement and those in charge of payment card industry (PCI) all created their Agile project plan.
All areas acknowledged the requirement that was being sought. Each team created an agile plan reflecting their efforts. The network engineers discussed bandwidth. The server engineers discussed load balancing, the need for added servers was acknowledged and the server farm grew. In particular, the servers hosting the website were optimized and balanced to share in the onslaught of users placing orders from around the world. This alone was a huge effort, as pages must load quickly. Product comparison pages were a must to allow the consumers to make informed purchases. The same held true for the PCI team, looking into current capacity and making the throughput more robust, more straightforward and as simple as possible.
In the final weeks of the project, October of 2003, an outside testing service tested the website. They confirmed the requirement had been met. However, the real test was the upcoming Christmas rush. This effort allowed the organization the ability to exceed 550k credit card purchases per hour through their website.
The use of a hybrid version of waterfall and agile brought a large team of fifty resources together. Waterfall brought all the efforts together, allowing a single source for the project for reporting to stakeholders, shareholders and executive leaders, making life in the PMO easier. Each line of business used Agile to achieve their efforts. However, the ability to turn this effort around in six months required a hybrid of methodologies in order for the efforts to be successful. This can be called an Agile hybrid or a Waterfall Hybrid. It is routinely termed Water-Agile-Fall
The advantages of the Water-Agile-Fall are two-fold. First the combination of both methodologies allows for a high level design using Waterfall while capturing the nature of Agile principles in terms of actionable efforts. Secondly, where coding and testing are done in accordance with the mindset of Agile, the efforts were streamlined. Streamlining is no easy task across an organization. As a large retailer with an exemplary online presence, the need to prevent the disruption of day to day operations was crucial.
Methodologies should not hold sway over an approach. Corporations tend to implement project management approaches in ways that do not necessarily align with governing authorities. The requirements and efforts demanded of a project should dictate the approach. Agile is great for developing code for websites, mobile apps and the likes where speed is of the essence. In particular, the approach is great for coding and testing. Waterfall is great for preventative maintenance on equipment or building a house or other structure. However, sometimes, you need a little more than one or the other, as there are a lot of gray areas in this world. Thinking creatively provided a real success story.
In the Geospatial world, developing incremental code that is precise in functionality is crucial to maintaining software tool sets. GEO Jobe being a leading contender must maintain the element of agility with delivering products for performance. Since documentation is not a primary focus in the Agile world, a blended element involving waterfall will assist with meeting client requirements around documentation. Be it with the proper use of the tool set, functionality or in client requirements for extraneous understanding and billing, waterfall has its place in achieving goals that are not directly related to coding. The actual area of success for waterfall is with administrative tasks. Offering assurances with the book keeping, resource management.and in times of critical situations where past lessons become significantly more relevant to the present. Waterfall brings the criticality of documentation to the front for client comfort and understanding.
Connect with us directly at firstname.lastname@example.org