
COURSE 4815 | 2-DAY SESSION
Transitioning from Waterfall to Agile
Course outline
Section I. Fundamentals of Agility
Agility is comprised of a unique set of principles and values that must be understood and embraced before the organization can employ Agile practices. In this section, we will survey the essence of Agility.
Exercise 1
What are the biggest project issues you and your organization face? You will compile a list of what is broken and use this list as a touchstone for the exercises that follow.
A. Agile Essentials
- The Agile Manifesto
- The Agile Lifecycle
- Learning and Adaptation
- Collaboration
- Customer Focus
- Self-Directed Teams
- Lean Principles
- Progressive Requirements Elaboration (PMI states that a project is a Progressive Elaboration!)
- Incremental Delivery
- Iterative Planning and Adaptation
- The best ‘bang-for-the-buck’ risk mitigation strategy (what is it?)
Exercise 2
What aspects of agility have you already incorporated into your organization? Review you current processes, even if they are described with other names, and identify ways in which your organization has embraced any of these concepts.
Section II. Waterfall and Case Studies
A. Adaptive Planning
The heart of every project is the team. Yet in traditional approaches, the team often operates as a collection of competing individuals and business silos that sub-optimize the business rather than allowing it to functioning as a unit. Agility means establishing a single team for each project, and ensuring that it comprises all of the necessary people.
- Waterfall practice
- The project manager
- Shielding developers & customers from each other
- Building silos of responsibility
- Documents as the primary means of communication
- Lessons Learned at project end
- Agile practice
- The Agile coach
- Team focused
- Continuous collaboration
- Face-to-face communication
- Self-directed teams
- Regular feedback and retrospectives
Exercise 3
Explore how adaptive planning can benefit the organization. Where can this Help the highly regulated business, government organizations, methodology centric organizations?
B. Requirements
For most projects, this is where the wheels start coming off the wagon quickly. Requirements are usually collected across a series of meetings and documented in great detail up front in the process. This works well with a construction project but has unpredictable outcomes on a software project. Typical issues center around missed requirements, poorly defined requirements, or outright misinterpretation of user needs.
- Waterfall Practice
- JAD Sessions
- Q & A
- All requirements documented and signed off before work begins
- Changes to requirements downstream demand a top heavy Change Control Process
- All requirements are a #1 priority
- Agile Practice
- Users describe what they need in ‘story’ format (“user stories”)
- The feature list is prioritized by the customer (product owner) in an overall product ‘backlog’
- The highest priority features undergo detailed elaboration for the first product iteration
Key Agile Skills: Gemba visits and development of story cards
Exercise 4
Explore the benefits of progressive elaboration of requirements. Discover how prioritization of the feature set can deliver the highest business value to the customer.
C. Scope Creep
This is a project reality that plagues many initiatives. We will define scope creep versus legitimate requests for change and what the differences are. We will explore why change is frequently necessary on a project and how its typical implementation adds overhead, cycle-time, and contributes to extended budgets and project completion times.
- Waterfall Practice
- Changes from baseline must be assessed for timeline and dollar impacts
- The change process must be documented in detail
- Customer signoff is required
- Change Control Board meeting is required to either accept or reject the change
- Agile Practice
- Change is welcomed as an expected consequence of Progressive Elaboration
- Changes are added to the backlog resulting in a changed feature set prioritization
- Adjustments in schedule as the team adapts to the new elements
- The customer adjusts priorities as required by business needs, changes in the market, new regulations, etc.
Exercise 5
Explore how adaptability defuses the scope-creep issue. As users prioritize needs and features, changes in scope are assimilated into the project based on prioritized need. Reviewing the case studies, select several that would receive benefit from implementing adaptable change.
D. Quality
The waterfall model typically inspects quality into the process. Final system and integration testing is the first point in the entire process where the team finds out if all the system’s parts and pieces will work together. This becomes particularly painful when you deliver on time, on budget and in scope only to experience ‘buyers remorse’ from the customer: “You built what I asked for but it’s not what I need…”
- Waterfall Practice
- Developers perform Unit testing only
- Code is thrown ‘over the wall’ for QA testing
- System testing in a monolithic ‘QA Slam’ at the end of development
- QA is responsible for quality
- Agile Practice
- Development, the customer and QA collaborate
- Product increments developed, tested, released to production standards
- Everyone is responsible for quality
- With each completed iteration, code from earlier iterations is tested regressively and multiple times, creating a very robust code set
- Quality is designed into the product/process and not inspected in with final test cycle
Key Agile Practice: Strong Unit testing practice (Zero Quality Control and/or Test-Driven development)
Exercise 6
Explore the triple constraints of project management in terms of quality. Identify the top elements that contribute to customer satisfaction. How does your customer define quality?
E. Command and Control
What does the command-and-control approach contribute to managing projects/process/products? Is the approach necessary or effective on software projects? Where does command-and-control fail for current software initiatives and what approach would be more effective?
- Waterfall Practice
- Project manager assigns work to the team
- Command process is not collaborative
- The project plan is ‘etched in stone’
- Assumes project execution is linear
- Top-down methodology usually followed
- Variances are usually considered negative
- Agile Practice
- Self organizing team selects its own work
- Project manager is a facilitator and a coach
- Design evolves as more is understood about the project
- Collaboration between the team and client results in higher productivity and ownership
- Mistakes are tolerated as a necessary component of learning
Key Agile Practice and Skill: The daily standup
Exercise 7
Several organizations that employ the concept of self-organizing teams will be explored. How does this drive greater ownership of the project deliverables on the part of the performing organization? In what situations is a C & C model effective and where does it fail?
F. “Big Bang” versus Incremental Delivery
The waterfall approach to delivering projects is what is called a “Big Bang” approach. There is an upfront requirements elaboration and design process, each requiring sign off before actual coding can begin. The process assumes that all aspects of the requirements and design can be elaborated up front before the work actually begins. If there are significant changes to the project in the coding phase or at worst in the test phase, significant rework may be required to bring the project back on track. This occurs at an enormous expenditure of time and dollars.
- Waterfall Practice
- Project generally proceeds with sequential analysis, requirements, design, coding, and test phases
- Customer does not see a working product until close to the end of the test cycle
- The Processes Change Averse: Discovery or missed requirements can cause delays and add significant dollars to the project budget
- The entire feature set is worked as a single top priority element
- Risk is generally managed by exception and handled as it occurs
- Agile Practice
- Highest priority features are developed first
- Highest risk factors are addressed early in the project - concurrent engineering practices result in the best architectures and best overall design
- Working elements of the product are delivered in measured increments: the customer sees and experiences the product growing before their eyes
- Discovery and new requirements are merged with the existing product backlog. Rework and delays are relatively small or insignificant
Key Agile Skills: Agile Risk Management and defining the project lifecycle as separate from the project management lifecycle
Exercise 8
Certain development environments function very well using a waterfall approach. What kind of project organization, product cycle, and methodology is used for a well executed waterfall approach? Where does the waterfall approach deliver poorer than expected results or fail outright? Several case studies will be reviewed and the results analyzed.
Section III. Transition Strategies
A. All or Nothing
Is the adoption of agility an all or nothing proposition? If your organization uses a predominantly waterfall methodology, what aspects of agility could be interpreted into your current methodology successfully?
Exercise 9
You will use the enclosed Excel “case studies” spreadsheet to review agile techniques and define which techniques can be implemented immediately, in one to four months, or which may be problematic at any phase.
B. Traction with Agility
The lean principles identified will demonstrate how to generate traction with the organization while moving to a more agile environment.
Exercise 10
Identify the issues in your organization that lead to excessive rework, waste, service after service, scrap, or any situation that costs the organization wasted time and wasted dollars. Address these issues on the agile ‘Techniques’ spreadsheet. Use the “cost of quality” spreadsheet to quantify the loss in dollars.
C. Overcoming Resistance
Waterfall approaches are often referred to as “plan-based” because of the importance they put on up-front planning and then controlling the project so it conforms to the plan. Some organizations are so tightly tied to the upfront plan-based approach (even when it doesn’t work) that they will usually cite poor execution as the reason for project failure without understanding if the correct development lifecycle model was ever considered from the beginning. Agility means planning just enough, doing that planning when it is needed, and accepting the fact that reality often works out differently from our plans. Agile projects value achieving the project goals; the plan is a guide, not a strait-jacket. Yet there may be skepticism to out-and-out resistance when attempting to implement agile processes. We will address the ‘Resistance Indicators’ and identify potential resolutions:
- Predictive planning
- Command and control management
- Reliance on corrective action to ‘fix’ problems (Conformance to plan)
- Agility is seen as ‘undisciplined’, weak on documentation, lightweight
- Agility is nothing but ‘galloping scope creep’
- Jobs may change or be eliminated
- No desire to expose ‘bad wiring’ and/or fix the broken processes
- The WIIFM syndrome (what’s in it for me?) and how to approach
Exercise 11
Define the areas where your organization may put up resistance to implementing agile process. Identify where the resistance is due to fear, misunderstanding, lack of training, or some other issue. You will explore avenues of resolution and methods to help your organization harvest the benefits of agile implementations.
Section VI. Course Wrap-Up
While Agility offers significant benefits, many organizations think that they are “locked-in” to their current methodology. Yet in spite of the status-quo, there are many aspects of Agility that can benefit the organization. Which aspects of Agility can help your organization right now? Prepare an action plan to implement such a scenario. Review what we have covered in the course and identify the key areas where Agility can help your organization.
Exercise 12
Prioritize the Agile concepts that you could introduce in your organization. For the three highest-priority concepts, create an action plan to make those things a reality on your projects. Compare notes with other participants.












