Вы находитесь на странице: 1из 38

PMI ACP + ScrumMaster

Agile Framework
Learning Objectives
At the conclusion of this lesson, students will be able to:
 Explain the Agile mindset
 Describe situations where Agile best fits
 List the benefits of using Agile
 Know the origin/history of Agile
 Demonstrate an understanding of the Agile Manifesto, Values,
Principles and Practices
 Compare traditional vs. Agile
What is Agile?

Methodology? No
Framework? No Discipline Design…
Another Fad
Iterative No Planning!
No
Documentati
on ! Process? …Silver
Approach? Bullet
Definition
Agile is a an approach of
building products or services by EMPOWERING and
TRUSTING people, acknowledging
CHANGE AS NORM, and promoting
CONSTANT FEEDBACK.
Definition

Agile is a PHILOSOPHY that uses organizational models based


on people, collaboration and shared values.
Agile uses rolling wave planning; iterative and incremental
delivery; rapid and flexible response to change; and open
communication between teams, stakeholders, and
customers.
Definition
Agile is a MINDSET……
established through 4 VALUES,
grounded by 12 PRINCIPLES &
manifested through many DIFFERENT PRACTICES
Being Agile……
1. Individuals and interactions over processes and tools 3. Customer collaboration over contract negotiation
4 AGILE VALUE 2. Working software over comprehensive documentation 4. Responding to change over following a plan

6. The most efficient and effective method of conveying


1. Our highest priority is to satisfy the customer through early
information to and within a development team is face-to-face
and continuous delivery of valuable software.
conversation.
2. Welcome changing requirements, even late in
7. Working software is the primary measure of progress.
development. Agile processes harness change for the
8. Agile processes promote sustainable development. The
customer's competitive advantage.
sponsors, developers, and users should be able to maintain a
3. Deliver working software frequently, from a couple of
constant pace indefinitely.
12 AGILE weeks to a couple of months, with a preference to the
9. Continuous attention to technical excellence and good design
shorter timescale.
PRINCIPLES 4. Business people and developers must work together daily
enhances agility.
10. Simplicity--the art of maximizing the amount of work not done--
throughout the project.
is essential.
5. Build projects around motivated individuals. Give them the
11. The best architectures, requirements, and designs emerge from
environment and support they need, and trust them to get
self-organizing teams.
the job done.
12. At regular intervals, the team reflects on how to become more
effective, then tunes and adjusts its behavior accordingly.

Doing Agile……
• Time-boxing • Limit Work in Progress (WIP) • Pair Programming
• Retrospective • Avoid Waste • Face to Face Conversation
• Spike Solution • Short Iterations • Osmotic Communication
• Planning Poker • Sprint Goals • Test Driven Development (TDD)
• Backlog Prioritization • Servant Leader • Velocity
• Progress Elaboration • Self -organization • Unit Testing
MANY AGILE • Minimal marketable Features • Team Agreements • Test First Development
PRACTICES • Personas • Release Goals • Technical Debt
• Story Mapping • Release Plan • Task board
• User Stories • Project Chartering • Swarming
• Product Backlog • Quality Assurance • Regression Test
• Visualize Workflow • Refactoring • Minimum Viable Product
• Wireframe • Relative Sizing • Last Responsible Moment (LRM)
• Daily Stand-up • Product Vision • ……..
Agile is…
 No precise definition, rather a set of principles & practices based
on the Agile Manifesto
 Disciplined project management approach
 Business & delivery focus, welcoming change
 Agile is a general concept, Scrum and XP are specific
implementations of Agile
 Incremental framework, frequent delivery & continuous
feedback loops
 Empirical process - frequent inspect and adapt cycles that
minimize waste
Agile is…(continued)
 Accommodate rapid product changes
 Frequent releases in short development cycles (iteration, time-
boxing etc.)
 Minimum requirement/specification upfront, and test
documentation (if at all)
 Self-organizing, self-managing, cross-functional teams that make
and meet commitments
 Engineering practices that rapidly delivery high quality software
What Agile isn’t
 Agile isn’t traditional methods
 No big upfront design - BUFD
 Not an ad-hoc approach
 Isn't unplanned
 Isn’t chaos
 Isn’t unpredictable
Project Noise and Method Selection

Unknown
Requirement
Known

Known/Certain Unknown/Uncertain

Technology
Why Agile?

Accelerate time to Enhance software


Reduce cost
market quality

Managing change Enhance software


Project visibility
priorities maintainability

Better align
Reduce risk Improve team morale
IT/Business

Simplify development Improve/increase


Increase productivity
process engineering discipline
What’s Different?
Traditional Agile
Defined process: Control and Coordinated Empirical / learning process: Inspect and Adapt
Work is organize around the team Team organize around work
Work is assigned or push to the team Work is store in queue and team pull the tasks
Plan all in advance Plan as you go
Work breakdown structure Feature breakdown structure
Functional specs User stories
Gantt chart Release plan
Status report Information radiators/deliver as you go
Learn at the end Learn every iteration
Follow the plan Adapt everything
Manage task Manage team
Conventional project team Self-organized project teams
Avoid change Embrace change
Prescriptive Adaptive
1960
1985
1995
• Project Mercury – •
• Barry Boehm Created Ken Schwaber and
NASA First time used 1976 spiral model Jeff Sutherland
iterative and •
• Team prioritization First co-presented
incremental Scrum that they were
• Tom Gilb Introduced based on risk
development (IDD) in 1985
the terms “evolution” • Risk driven/exposing using from previous few
software years
and “evolutionary” to risk early
• Time-boxed Half day • Hirotaka Takeuchi & Ikujiro • Time-boxed iterations
the process lexicon
iterations Nonaka Introduced human • Small and co-located
• Adaptive iterations 1980
• Applied XP test-first driven/knowledge work team
• Fast time to value
development practice • Gerald Weinberg wrote in • The new production • Transparency, inspect
Adaptive programming development game and adapt
• Small increments with • Cross-functional team
customer driven feedback • Self-organize
• Rum Baugh & Jacobson
• Rational unified process • Legitimate power
(RUP) 1997 • Sense of mission 2001
• User cases, UML, architecture
centric • Jeff de Luca 2000
• Feature Driven Development
1995 • Deliver Tangible working • Robert Charette Agile
Software in timely manner • Lean development
1996 • Focused on value-driven • Strategic focus, lean Manifesto
1994 approach production, Stretch
1998 goals
• 16 RAD practitioner • Kent Beck, Ward
formalized RAD Cunningham and Ron • Alistair Cockburn
• Dynamic System Development Jefferies • Crystal Family
Method (DSDM) • Extreme Programming • Situational specific practices
• Used most commonly in • Focused on • People and communication,
Europe Engineering practices design, principles, domain
Meet the Agile influencers

Kent Back Mike Arie Alistair Ward Martin Fowler


Beedle Bennekum Cockburn Cunningham

James Jim Andrew Hunt Ron Jeffries Jon Kern Brian Marick
Grenning Highsmith

Robert C. Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas
Agile Values
Individuals & interactions over Processes & tools

Comprehensive
Working software over
documentation

Customer collaboration over Contract negotiation

Responding to change over Following a plan

That is, while there is value in the items on the right,


we value the items on the left more.
12 Principles of Agile Manifesto
1. Our highest priority is to satisfy the customer through early and
continuous delivery of valuable software.
2. Welcome changing requirements, even late in development. Agile
processes harness change for the customer's competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a
couple of months, with a preference to the shorter timescale.
4. Business people and developers must work together daily
throughout the project.
5. Build projects around motivated individuals. Give them the
environment and support they need, and trust them to get the job
done.
6. The most efficient and effective method of conveying information to
and within a development team is face-to-face conversation.
12 Principles of Agile Manifesto (Continued)
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors,
developers, and users should be able to maintain a constant pace
indefinitely.
9. Continuous attention to technical excellence and good design
enhances agility.
10. Simplicity -the art of maximizing the amount of work not done -is
essential.
11. The best architectures, requirements, and designs emerge from self-
organizing teams.
12. At regular intervals, the team reflects on how to become more
effective, then tunes and adjusts its behavior accordingly.
Traditional Project Phases
Requirements
Analysis

Design

Coding
Time

Integration

Testing

Deployment

Operations and
Maintenance
Final Software Out
Agile Incremental Delivery
Product Product Product
Increments Increments Increments

Analysis Analysis Final Software Out


Design Design
Code Code
Integrate Integrate
Test Test Feedback Loops
Deploy Deploy
Review and Adjust
Inspect & Adapt
Time
Agile adapts to frequent feedback by delivering working tested code
Iterative and Adaptive Process

Higher
Priority

Velocity

Lower
Priority

1 2 3 4

Iterative & Adaptive


Value Delivery
Traditional Agile

Time Time

Value Delivery
Risk of Failure
Sample Project Status Reporting

TRADITIONAL AGILE

100% of the system 30% of the system


30% done 100% done
No testing yet With known quality
Activity: True/False Agile Fundamentals
True or False?
10 Minutes

1 Agile recommend incremental & iterative delivery


2 Agile recommends big upfront design (BUFD)
3 Agile has defined change management process
4 Agile recommends directive teams
5 Agile measure progress by working software
6 Agile does not recommend any documentation in the project

7 Agile recommends face to face interaction


8 Agile recommends accepting change during iteration

9 Agile teams make their own decisions


True or False - Answers
1 Agile recommend incremental & iterative delivery True
2 Agile recommend big upfront design (BUFD) False
3 Agile has defined change management process False
4 Agile recommends directive teams False
5 Agile measures progress by working software True
6 Agile does not recommend any documentation in the project False

7 Agile recommends face to face interaction True


8 Agile recommends accepting change during iteration False

9 Agile teams make their own decisions True


High Level Process Map
Envisioning Speculate Explore | Adapt Close

Iteration n
Feasibility Initiation Release Planning Iteration 3 Close Out
Iteration 2
Higher Epic Theme Iteration 0 Iteration 1
Priority
Stories
• Testing Agreement
NPV, IRR, ROI Project Lower • Team Environment
Charter Priority Stories • Architecture approach
Product • Dependencies
Backlog • Risks
Iteration Daily stand-up, Development,
Project Visioning Planning Testing, deployment, etc.
Review Retrospective
X
L
M L
S Increment
Next Iteration
High level estimating
Release Plan
Business Case with using affinity
Go back to Release Planning for Release
High level Estimates another release, or if final release,
go to project closeout
Product Roadmap Iteration
Backlog Backlog To Do In Progress Done

Iteration Burn up/down Final


Estimating Using
Task Product
Planning Poker
Increment
Task Board
Test Your Knowledge
Sara is assigned as a Scrum Master to the newly launched agile team. She
is being asked to provide the list of metrics to measure the progress.
Which metric will she provide as a primary measure of progress?

A. Velocity.

B. Team Satisfaction.

C. Working software.

D. Customer satisfaction.
Test Your Knowledge
Sara is assigned as a Scrum Master to the newly launched agile team. She
is being asked to provide the list of metrics to measure the progress.
Which metric will she provide as a primary measure of progress?

A. Velocity.

B. Team Satisfaction.

C. Working software.

D. Customer satisfaction.
Test Your Knowledge
Which of the following values is not mentioned in the Agile Manifesto?

A. Integrity.

B. Working Software.

C. Customer Collaboration.

D. Respond to Change.
Test Your Knowledge
Which of the following values is not mentioned in the Agile Manifesto?

A. Integrity.

B. Working Software.

C. Customer Collaboration.

D. Respond to Change.
Test Your Knowledge
Of the following choices, which one is a key reason to adopt an Agile
Methodology

A. To be up to date on the latest methodology.

B. To shake things up in the organization.

C. To hold programmers and testers accountable for their work.

D. To be better able to respond to change


Test Your Knowledge
Of the following choices, which one is a key reason to adopt an Agile
Methodology

A. To be up to date on the latest methodology.

B. To shake things up in the organization.

C. To hold programmers and testers accountable for their work.

D. To be better able to respond to change


Lesson Review
 What is Agile?
 Name five benefits of Agile
 List any five Agile methods.
 What are the four values of Agile?
 Describe any four principles of the Agile Manifesto
Lesson Review (continue..)

 Name two influencers who authored the Agile Manifesto in 2001


 When was the first time an iterative and incremental approach
was used in software development?
 List five differences between traditional waterfall and Agile
 What is inspect and adapt and how it is different from
control/coordinated?
Following references are used in the preparation of this lecture.

1. Abstracted from Shuh, Peter (2005). Integrating Agile Development in the Real World
2. How sustainable is your agile transformation to sustainable organizational agility, Ahmed Sidky
3. Strategic Management and Organizational Dynamics by Ralph Stacey in Agile Software
Development with Scrum by Ken Schwaber and Mike Beedle
4. 7th Annual state of Agile versionone® Agile made easier development survey
5. The Agile impact report, Rallydev
6. Iterative and incremental development by Craig Larman, victor Basili
7. What’s the big fuss about Agile? by Ahmed Sidky
8. Manifesto for Agile Software Development
9. Principles behind the Agile Manifesto
All registered and unregistered trademarks (service marks, brands, icons, copyrights etc.) mentioned
on this course are the property of their respective owners.

Content that references these trademarks is not sponsored by, endorsed by, or affiliated with the
respective trademark owners. PMI-ACP®, PMBOK®, PMI®, and PMP® are either marks or registered
marks of the Project Management Institute, Inc.
www.ceolevel.com