Duration: 3 Days
Identify the challenges you will face when implementing an Agile method and
plan for a successful transition from waterfall or other traditional software
development approaches! This is your Agile method foundation course.
Agile software development methods represent a departure from traditional
waterfall approaches in significant ways. Yet there are long standing and highly
successful approaches from industry that historically support concepts of
agility going back at least thirty years. Capturing a clear understanding of
these concepts, you will be able to capitalize on them to gain the cooperation
and acceptance of stakeholders who must approve and participate. There are
significant benefits available with Agile methods that can address the high
risks, unknowns, and uncertainties that beset contemporary projects. These
complexities can best be addressed with a flexible and adaptable model that
faces the problems and provides the tools to change the way work is done and
address the issues head on.
In this course, you will experience several case study scenarios that typify
the attributes of most projects in your organization, each providing a
recognition point as you explore and discuss the hurdles to Agile. Learn to
overcome these hurdles and interweave your traditional practices with Agility to
develop the best software for your organization.
What You Will Learn
- Align Agile practices with PMI's A Guide to the Project Management
Body of Knowledge®
-
Implement Agile practices that are compatible with the SEI's CMMI®
-
Adopt Agile requirements practices that conform to the Business Analysis
Body of Knowledge
-
Eliminate the "dirty dozen" traditional practices that sabotage
project flexibility and success
-
Embrace the 5 philosophies that enable Agility and implement the 3 core
Agile practices
-
Identify software problems in your organization that are addressed by
Agile approaches
-
Redefine the project manager's role to be a leader and coach
-
Ensure that the software you deliver provides the highest possible value
in your customer's eyes
-
Neutralize the disruptive effects of change through iterative planning
and adaptation
Audience
-
Software Development Manager
-
Software Project Manager
-
Software Team Lead
-
Quality Assurance Specialist
-
Process Engineer
-
Software Developer or Tester
-
Software Project Customer
-
IT Director or Manager
Prerequistes
Working knowledge of software development and software testing project management techniques
Course Outline
1. Fundamentals of Agility
-
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?)
2. Waterfall and Case Studies
-
Adaptive Planning
-
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
-
Requirements
-
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
-
Scope Creep
-
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.
-
Quality
-
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)
-
Command and Control
-
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
-
"Big Bangvs. Incremental Delivery
-
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
3. Transition Strategies
-
All or Nothing
-
Traction with Agility
-
Overcoming Resistance
-
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
4. Course Wrap-Up
Course Labs
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.
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.
Exercise 3: Explore how adaptive planning can benefit the organization. Where
can this help the highly regulated business, government organizations,
methodology centric organizations?
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.
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.
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?
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?
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? Several case studies
will be reviewed and the results analyzed.
Exercise 9: You will use a Excel "case studiesspreadsheet 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.
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
"Techniquesspreadsheet. Use the "cost of quality"
spreadsheet to quantify the loss in dollars.
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.
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.