You are on page 1of 130

AGILE/Scrum/Lean

Fundamentals

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


AGILE/XP/Lean
Fundamentals

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


The 7 AGILE Domains
• Agile Principles and Mindset
• Value-Driven Delivery
• Stakeholder Engagement
• Team Performance
• Adaptive Planning
• Problem Detection and Resolution
• Continuous Improvement

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Domain I. Agile Principles and Mindset
Explore, embrace, and apply agile principles and mindset within the context of the
project team and organization

Copyright © 2016 Techknowledgy, Inc. All Rights Reserved


Agile Principles and Mindset
Tasks
Task 1 Advocate for agile principles by modeling those principles and
discussing agile values in order to develop a shared mindset across
the team as well as between the customer and the team.

Task 2 Help ensure that everyone has a common understanding of the


values and principles of agile and a common knowledge around the
agile practices and terminology being used in order to work
effectively.

Task 3 Support change at the system or organization level by educating the


organization and influencing processes, behaviors, and people in
order to make the organization more effective and efficient.

Task 4 Practice visualization by maintaining highly visible information


radiators showing real progress and real team performance in order
to enhance transparency and trust.

Task 5 Contribute to a safe and trustful team environment by allowing


everyone to experiment and make mistakes so that each can learn
and continuously improve the way he or she works.

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Agile Principles and Mindset
Tasks
Task 6 Enhance creativity by experimenting with new techniques and
process ideas in order to discover more efficient and effective ways
of working.

Task 7 Encourage team members to share knowledge by collaborating and


working together in order to lower risks around knowledge silos and
reduce bottlenecks.

Task 8 Encourage emergent leadership within the team by establishing a


safe and respectful environment in which new approaches can be
tried in order to make improvements and foster self-organization and
empowerment.

Task 9 Practice servant leadership by supporting and encouraging others in


their endeavors so that they can perform at their highest level and
continue to improve.

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Project Life Cycles
• Predictive – Most useful for projects with requirements certainty
and proven techniques for resolution. As such planning for entire
project can occur before execution and the most efficient plan is
then executed, and monitored and controlled.
• Iterative – Most useful with some uncertainty of requirements
and/or techniques for resolution. Allows for feedback on partially
completed work to determine if plans need to be modified or
improved
• Incremental – Provides solutions in small increments to provide
tangible value to the customer quickly, while enabling requirements
or technique uncertainty to be addressed
• Adaptive/Agile – Leverages the best practices of Iterative and
Incremental life cycles by:
• Providing iterative, and often incremental solutions over short
timeboxed iterations
• Enhances stakeholder input by frequent feedback at the end of each
sprint/scrum
• Provides highest value work in early sprints/scrums

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Characteristics of Project Life Cycles
Approach Requirements Activities Delivery Goal
Predictive Fixed Performed Unique Cost efficiency
once for Product,
project Service, or
Result
Iterative Dynamic Iterations until Unique Correct
successful Product, Outcome or
completion Service, or Solution
Result
Incremental Dynamic Performed Many small Fast delivery
once for deliveries – of value
increment MVP/MMF
Adaptive/Agile Dynamic Repeat Many small Customer
sprints/scrums deliveries – value via
until correct MVP/MMF frequent
solution deliveries
reflecting
customer
feedback
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
Defined Vs Empirical Processes
• Defined Processes – Industrial Work – Waterfall
• Have definite steps/methodology
• Steps have been vetted for optimal efficiency are to be followed as
stated
• Provide optimal results projects that solve ‘Righteous Problems’
• Empirical Processes – Knowledge Work – Agile
• Are used in situations where there is a lot of uncertainty, as such
there is a need for:
• Experimentation
• Multiple Iterations
• Incremental Problem resolution, built on small successes
• Frequent Review and Adaptation
• Provide optimal results in projects that solve ’Wicked Problems’

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Agile Mindset – 6 Principles of Agile
Declaration of Independence
• We increase return on investment by making continuous flow of
value our focus
• We deliver reliable results by engaging customers in frequent
interaction and shared ownership
• We expect uncertainty and manage for it through iterations,
anticipation, and adaption
• We unleash creativity and innovation by recognizing that
individuals are the ultimate source of value , creating an environment
where they can make a difference
• We boost performance through group accountability for results and
shared responsibility for team effectiveness
• We improve effectiveness and reliability through situationally
specific strategies. Processes, and practices

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Agile Core Principles
• Welcoming change
• Working in small value-added increments
• Using build and feedback loops
• Learning though discovery
• Value driven development
• Failing Fast with learning
• Continuous Delivery
• Continuous improvement

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Agile Mindset
Agile is a Mindset Defined by Values Guided Principles
and Manifested through many different Practices

“Doing” Agile
“Being” Agile An Ineffective Way to Implement Agile
The Correct Way to Implement Agile

Being Agile starts with


internalizing the Agile Doing Agile involves using
Mindset then using that Agile Practices without
understanding to select and embracing the Agile Mindset
implement the correct that allows us to understand
how to select the right
practices, tailoring them to
different situations as balance of practices and
needed
Left to Right Adoption! tailor them appropriately.
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
Creating Organization Change

3. Encourage Others
to use Agile Practices

2. Do Agile Practices

1. Think – Learn Agile


Practices

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


The Inverted Triangle model emphasizes:
Agile Triangle 1) Scope must be allowed to change in an
environment of uncertainty, and
2) We value a ‘sustainable work pace’
Traditional
Agile
Triangle of
Triangle of
Constraints
Scope Constraints Time
Fixed Cost

Variable

Cost Scope
Time This is a core principle of the DSDM –
Dynamic System Development Method
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
Approach
AGILE/XP Manifesto for
Agile Software Development
We are uncovering better ways of developing software by
doing it and helping others do it.
Through this work we have come to value:

• Individuals and interactions over processes and tools


• Working software over comprehensive 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.
Emphasis is on creating
http://agilemanifesto.org/ VALUE, not just Deliverables
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
Principles behind the Agile/XP
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.
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
Principles behind the Agile/XP
Manifesto
6. The most efficient and effective method of conveying
information to and within a development team is face-to-
face conversation.
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.

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Principles behind the Agile/XP
Manifesto
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.

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Tailoring in Adaptive Project Life Cycles
Project Environment Tailoring Suggestion
Demand pattern – Steady or Sporadic Having regular time boxed
sprints/scrum/iterations (cadence) if steady.
If sporadic a flow based approach may be
better
Rate of process improvement required by More frequent and robust retrospectives
team experience level
Workflow is often interrupted by delays or Implementing more visible work reporting
impediments through Kanban boards. Limiting work
processes such as WIP to improve flow
Poor product quality Use test-driven deployment techniques
Multiple teams required to build product After training teams and implementing Agile
pilot projects successfully, review Agile
scaling frameworks to determine best
approach for organizational environment
Team members do not have experience in Train team members in Agile fundamentals
Agile approaches and mindset. Once an approach is chosen
train team in its techniques and do small
pilot projects to build experience and
confidence
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
AGILE/Scrum Splice

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Agile/Scrum Life Cycles
Iteration-Based Agile – Sprint/Scrum length is same for each iteration

Requirements Requirements Requirements Requirements Requirements


Analysis Analysis Analysis Analysis Analysis Repeat
Design Design Design Design Design as
Build Build Build Build Build Needed
Test Test Test Test Test

Flow-Based Agile – Sprint/Scrum length is a function of the


expected deliverable
Requirements Requirements Requirements
Analysis Analysis Requirements Analysis
Design Design Analysis Design Repeat
Build Build Design Build as
Test Test Build Test Needed
The number The number of Test The number of
of features in features in the WIP The number features in the WIP
the WIP limit limit of features in limit
the WIP limit

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Methodologies - Scrum
• Scrum – Most common popular Agile Methodology – Easy
to Understand, Hard to Master!
• Scrum Pillars and Values
• Transparency – Common Definition of Done
• Inspection – Timely checks to ensure Goals are met
• Adaptation – Adjusting Processes based on Inspection feedback

• Five Fundamental Values


• Focus
• Courage
• Openness
• Commitment
• Respect

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Methodologies - Scrum
Sprint
Retrospective

Sprint Sprint
Goal
Planning Backlog Daily Sprint
Meeting and Plan Scrum Review

Product
Backlog Potentially
Shippable
Product

Potentially
Final Product Shippable
Accepted
and Project
Product
Complete
Potentially
Shippable
Product
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
Methodologies - Scrum
• Sprints
• Timeboxed period when work is done
• Can be cancelled, but only by Product Owner
• Incomplete or unaccepted items are placed in product backlog and
re-estimated

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Methodologies - Scrum
• Scrum Team Roles
• Development Team
• Cross Functional
• Self –Organizing
• Team has everything they need to develop working product without outside
help
• Product Owner
• ScrumMaster
• Responsible for ensuring the SCRUM process is followed and the team
adheres to best scrum practices
• Acts as a coach
• Removes impediments

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Methodologies - Scrum
• Scrum Activities – Events, Ceremonies
• Backlog Refinement
• Sprint Planning Meeting
• Daily Scrum
• Timeboxed to 15 minutes – but can be changed if team is larger then
normal
• Only Team Members can speak
• Three questions
• What Have I done since last meeting?
• What do I plan to do today?
• Are there any impediments to my progress?
• If multiple teams work on projects that interact with each other Scrum of
Scrums/Scrum of Scrum of Scrums are scheduled to ensure that a
Team doesn’t inadvertently cause problems for other teams
• Sprint Review
• Sprint Retrospective
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
Methodologies - Scrum
• Scrum Artifacts
• Product Increment – What work will be accomplished in the Sprint
based on ‘Definition of Done’
• Product Backlog – Remaining work to be completed during project
• Sprint Backlog – Subset of Product Backlog that a specific Sprint
will address

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


End AGILE/Scrum Splice

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


AGILE/XP Splice

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Differences between XP and Scrum
• Scrum teams typically work in iterations (called sprints) that are from
two weeks to one month long. XP teams typically work in iterations
that are one or two weeks long.
• Scrum teams do not allow changes into their sprints. Once the sprint
planning meeting is completed and a commitment made to delivering
a set of product backlog items, that set of items remains unchanged
through the end of the sprint. XP teams are much more amenable to
change within their iterations. As long as the team hasn’t started work
on a particular feature, a new feature of equivalent size can be
swapped into the XP team’s iteration in exchange for a feature where
work hasn’t been started.

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Differences between XP and Scrum
• Extreme Programming teams work in a strict priority order. Features
to be developed are prioritized by the customer, and the team is
required to work on them in that order. In Scrum, the product owner
prioritizes the product backlog but the team determines the sequence
in which they will develop the backlog items.
• Scrum doesn’t prescribe any engineering practices; XP does. In other
words XP teams do not have the same amount of flexibility in self-
organizing as Scrum teams do.

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


XP (Extreme Programming)
• Agile Methodology that focuses on Software Development
Best Practices
• Holistic set of practices to improve results of software projects
• Initially 12 primary practices but has evolved several corollary
practices
• Practice Areas
• Organizational
• Primary
• Sit Together
• Whole Team (Co-location)
• Informative Workspace
• Secondary
• Real Customer Involvement
• Team Continuity
• Sustainable Pace
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
XP (Extreme Programming)
• Practice Areas
• Technical
• Primary
• Pair Programming
• Test First Programing
• Incremental Design
• Secondary
• Shared code/Collective Ownership
• Documentation from Code and Test
• Refactoring

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


XP (Extreme Programming)
• Practice Areas
• Planning
• Primary
• User Stories
• Weekly Cycle
• Quarterly Cycle
• Slack
• Secondary
• Root Cause Analysis
• Shrinking Teams
• Pay per Use
• Negotiated Scope Contract
• Daily Standups

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


XP (Extreme Programming)
• Practice Areas
• Integration
• Primary
• 10 Minute Build
• Continuous Integration
• Test-first
• Secondary
• Single Code Base
• Integrated Deployment
• Daily Deployment

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


XP (Extreme Programming)
• XP Planning Activities (Planning Games)
• Release Planning
• A push for new functionality to the end user
• One or two Releases a year
• Customer Outlines functionality
• Team Estimates difficulty of build
• Customer lays out plan for delivery
• It is assumed that this process will be revisited as new information becomes
available
• Iteration Planning
• Iterations are the equivalent of a Sprint in Scrum
• At the beginning of each iteration the Customer explains the functionality they
would like to get
• The team breaks down the functionality into tasks and estimates the work
required
• The team commits to work it believes it can complete in the iteration – usually
two weeks
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
XP (Extreme Programming)
• XP Core Practices
• Whole Team – Generalists, not specialists, everyone can do all
team functions
• Planning Games – Release Plan and Iteration Plan
• Small Releases
• Customer Tests
• Collective Code Ownership
• Code Standards

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


XP (Extreme Programming)
• XP Core Practices
• Sustainable Pace
• Metaphor
• Continuous Integration
• Test Driven Development
• Refactoring
• Simple Design
• Pair Programming

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


XP (Extreme Programming)
• XP Core Values
• Simplicity – Focus on MVP (Minimum Viable Product) then
incrementally build on it in future sprints
• Communication
• Feedback – Emphasis on Failing Fast
• Courage
• Respect

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


XP (Extreme Programming
Customer
Approval

User
Stories
• Iteration
• Iteration Planning
• Specific Iteration
Plan
Project • Pair
with one Release Release Programming
or more Planning Plan • Product
Releases Increment
• Acceptance
Testing
Small
Release
Architectural Risk
Spike Spike
Final Product Small
Delivered Release
and Project
Complete
Small
Release
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
XP (Extreme Programming)
• XP Team Roles
• Coach – Think ScrumMaster
• Customer – Think Product Owner
• Programmers
• Testers

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


END of AGILE/XP Splice

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Lean Product Development
• Lean Product Development is a subset of Lean (which
focuses on manufacturing) that focuses on developing
new and better products
• Lean Product Development Principles
• Using Visual Management Tools
• Identifying Customer-defined Value
• Building into the process Learning and Continuous Improvement

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Lean Core Concepts
Eliminate
Waste

Amplify Empower
Learning The Team

LEAN
Defer Deliver
Decisions Fast

Build Optimize
Quality In the Whole

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Lean Product Development
• Lean 7 Wastes (Muda)
• Partially Done Work
• Extra Processes
• Extra Features – Gold Plating
• Task Switching - Multitasking
• Waiting - Bottlenecks
• Motion – Hand offs among distributed teams as opposed to co-
located teams
• Defects

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Kanban
• A system for scheduling inventory control and
replenishment in Lean manufacturing
• Inspired by Just in Time Inventory systems
• Kanban translates as ‘visual sign’ or ‘card’ in reference to
cards that were used to minimize inventory levels in
manufacturing. Today cards are used on Kanban boards
to control work flow and minimize Work in Progress (WIP)
• Kanban focuses on maximizing throughput and as such
can be less disruptive to current operations – a ‘start
where you are’ methodology
• Unlike most adaptive approaches it does not emphasize
timeboxed iterations, but rather focuses on optimizing
workflow
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
Kanban
• Kanban is most effective when the following characteristics are
required:
• Flexibility in determining backlog priorities
• A focus on continuous delivery of completed deliverables and not
beginning new work until prior requirements are completed –
limiting WIP
• Enhancing productivity and quality by minimizing WIP (minimizing
multitasking)
• Increasing efficiency by focusing on value adding and non-value-
adding activities and removing non-value-add activities
• Team member focus, by limiting WIP team can focus on completing
current work
• Ability to handle variability of workload where predicting workload is
difficult
• Reduction of waste through transparency of process thereby
allowing focus on waste
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
Kanban
• Defining Principles
• Start with current state
• Agree to pursue incremental/evolutionary change
• Respect the current:
• Processes
• Roles
• Responsibilities
• Titles
• Encourage leadership at all levels

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Kanban
• Core Properties
• Visualize the workflow
• Limit Work in Progress (WIP)
• Manage flow
• Explicit process policies
• Feedback loops
• Collaboration

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Kanban – WIP Limits to trigger Pull
Backlog Selected Develop Acceptance Deploy
(4) (3) (2)
Ongoing Done

Limits:
Selected – Only 4 at one
time
Develop – Only 3 at one time
Acceptance – Only 2 at one
time

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Kanban - Little’s Law

The duration of a queue is


proportional to its size. So if
we limit allowable WIP the WIP
items will be completed
quicker

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Little’s Law in Action

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Scrumban
• A hybrid framework designed to transition from Scrum to
Kanban
• Work is organized into small sprints/scrums
• Kanban boards are used to visualize and monitor work
• Emphasis on minimizing Work in Progress (WIP)
• Daily meetings are held to enhance collaboration and
eliminate impediments
• Planning triggers are used to alert team when it’s time to
plan next sprint/scrum – usually when WIP is below
predefined level
• No defined roles, team members stay in current roles

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


AGILE/XP Splice

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Feature Driven Development
Domain Feature Plan By Design by Build by
Model List Feature Feature Feature

• FDD Practices
• Designed to meet the needs of large software development
projects with features relating to small business capability
• Domain Object Modeling – Describe Business Environment
• Developing by Feature – Determining what ‘features’ can be
produced in a 2 week iteration
• Individual Class (code) Ownership
• Feature Teams – dynamic, dedicated team to produce feature
• Inspections
• Configuration Management
• Regular Builds – Continuous Integration
• Visibility of progress results
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
Feature Driven Development
• Roles in FDD
• Project Manager
• Chief Architect
• Development Manager
• Chief Programmer
• Class Owner
• Domain Expert

• Iterative cycles of five processes or activities


• Develop overall model
• Build a features list
• Plan by feature
• Design by feature
• Build by feature

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


DSDM – Dynamic Systems
Development Method
• Agile delivery framework initially designed to add more
rigor to agile iterative models of the 1990s
• Emphasis is on Constraint-Driven delivery
• DSDM Principles
1. Focus on Business Need
2. Deliver On Time
3. Collaborate
4. Never Compromise Quality
5. Build Incrementally from a Firm Foundation
6. Develop Iteratively
7. Communicate Continuously and Clearly
8. Demonstrate Control

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Agile Unified Process
• An offshoot of Unified Process Methodology that features
accelerated cycles and less heavy reporting
• Unified Process Software development
• Iterative development process
• Architecture focused
• Risk focused
• Lifecycle
• Inception
• Elaboration
• Construction
• Transition
• Agile Unified Process
• More iterative cycles than Unified Process across seven key disciplines
• Incorporates feedback from the iterations before product delivery

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Agile Unified Process
• Disciplines within releases
• Model
• Implementation
• Test
• Deployment
• Configuration Management
• Project Management
• Environment

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Agile Unified Process
• Principles guiding disciplines
• Team expertise
• Simplicity
• Agility
• Focus on high value activities
• Tool independence
• Tailoring as needed
• Situationally specific

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


End AGILE/XP Splice

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Crystal Methodology
• Acknowledges that each project’s policies, practices, and
processes must be tailored to meet the unique
characteristics of the project
• Core Values
• People
• Interaction
• Community
• Skills
• Talents
• Communications

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Crystal Methodology
• Common Properties
• Frequent delivery
• Reflective improvement
• Close/Osmotic communication
• Personal safety
• Focus
• Easy access to expert users
• Technical infrastructure that includes automated tests, configuration
management, and frequent integration

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Crystal
• A Family of Situationally Specific Methodologies, coded
by color names
Criticality* Crystal Crystal Crystal Crystal Crystal
Clear Yellow Orange Red Magenta

Life L – 200
Essential E - 20 E – 40 E – 100 E – 200

Discretionary D-6 D - 20 D – 40 D – 100 D – 200

Comfort C-6 C - 20 C - 40 C - 100 C - 200

Team Size 1-6 7 - 20 21 - 40 41 – 100 101 - 200

* Criticality refers to potential impact of product defect could cause –


life, comfort, etc. The point is projects that have greater
consequences need more resources. This creates communications
challenges
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
Scaling Frameworks
• Agile scaling is used to adapt agile tools and technique to
large projects
• Agile scaling tools and techniques
• Scrum of Scrums
• Scaled Agile Framework - SAFe®
• Large Scale Scrum – LeSS
• Enterprise Scrum
• Disciplined Agile - DA

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Scaling Frameworks
• Scrum of Scrums
• Also called MetaScrum
• Useful in large projects
• Used when two or more Scrum teams need to coordinate their work
• A representative from each team meets 2 -3 times a week
• Each representative reports:
• Completed work
• Nest set of work
• Impediments
• Potential upcoming impediments
• Very large projects with many scrum teams may take it up another notch
for a Scrum of Scrum of Scrums SoS

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Scaling Frameworks

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Scaling Frameworks
• Scaled Agile Framework SAFe®
• Focuses providing a knowledge base of patterns for scaling
development projects across entire enterprise
• Focus on detailing practices, roles, and activities at the portfolio,
program, and team level with an enterprise emphasis on value
streams and providing value to the client
• SAFe® Principles
• Economic viewpoint
• Apply systems thinking
• Assume change and preserve options
• Incremental builds with fast integrated learning cycles
• Milestones based on objective evaluation of working systems
• Limit Work in Progress (WIP) , small batch sizes, and queue lengths
• Use cadence and synchronize cross-domain planning
• Harness the motivation of knowledge workers
• Decentralized decision making
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
Scaling Frameworks
• Large Scale Scrum – LeSS
• A framework for organizing many development teams toward a
common goal using Scrum tools
• Idea is to retain as many of Scrum principles as possible in a
scaled environment
• Similarities of LeSS and Scrum
• Single product backlog
• Common ‘Definition of Done’ for all teams
• Single potentially shippable product increment at end of each sprint
• Single product owner
• Cross functional teams
• Single sprint

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Scaling Frameworks
• Large Scale Scrum – LeSS
• LeSS techniques added to Scrum
• Sprint planning is formally divided into to parts
• What
• How
• Cross team coordination
• Cross team refinement
• Single Retrospective focused on cross team improvements
• Uses the following to extend Scrum without losing its essence
• Systems thinking
• Whole product focus
• Transparency

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Scaling Frameworks
• Enterprise Scrum – Framework designed to apply Scrum
in a more holistic organizational level as opposed to
single teams
• Organizational leaders are expected to
• Extend Scrum across all aspects of the organization
• Modify Scrum techniques to apply easily to the various
organizational needs
• Scale Scrum with supplemental techniques as required
• Promote disruptive innovation

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Scaling Frameworks
• Disciplined Agile – DA
• A framework for offering a balance between the narrow focus of
Scrum and the prescriptive detail of AgileUP by blending Agile
techniques as needed to:
• Put people first by defining roles and organizational elements
• Promote constant learning and encouraging collaboration
• Full delivery life cycles to address fit-for-purpose needs

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Agile Approach Comparison
SAFe®

DSDM

Lean Disciplined
Life Cycle Coverage

Agile

LeSS

Scrum of Crystal Team


Scrums Methods AgileUP
Method

Kanban
XP

FDD Scaled
Approach

Scrum

Guidance Detail
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
Organizational Change Management
• Drivers for Change Management in Adaptive Life Cycles
• Changes for accelerated delivery
• Accelerated delivery may incur problems if the organization cannot
accommodate the delivery
• Customer acceptance of and alignment with project outputs is
imperative in an agile environment
• Changes associated with Agile approaches
• Initial adoption of Agile practices will require a high degree of change
• More robust collaboration practices will require more handoffs between
teams, departments, or vendors
• Decomposing the work into iterative prototypes will require rework due
to changing requirements and this may be viewed negatively
• Management needs to explicitly address change management
requirements to enhance the transition to adaptive life cycles

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Organizational Change Management
• Indicators of Organizational Readiness for change
• Executive management’s willingness to embrace change
• Organization’s willingness to shift the ways it views, reviews, and
assesses team members
• Centralization or decentralization of project, program, and portfolio
management functions
• Focus on short-term budgeting and metrics Vs long-term goals
• Talent management maturity and capabilities

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Organizational Change Management
• Factors for assessing Organizational Readiness for
change (not all inclusive)
• Emphasis on Exploration Vs Execution
• Emphasis on Speed Vs Stability
• Emphasis on Quality Vs Quantity
• Emphasis on Flexibility Vs Predictability

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Project Manager Role in Agile
• Not all Adaptive Life Cycles acknowledge the role of
Project Manager, the focus is on self-organized teams but
the functions provided by a Project Manager still have to
be performed, usually by the Product Owner or the
ScrumMaster
• In Adaptive Life Cycles the Project Manager is not the
center of coordination but a servant leader with emphasis
on:
• Coaching those who want help
• Fostering collaboration among team members
• Helping team to align their goals to stakeholders needs
• Encouraging the distribution of responsibility to the team,
specifically those people who have the knowledge to get the work
done
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
Agile Leadership Tasks
• Practice Transparency through Visualization – show the
good as well as the bad in communications so the team
develops a willingness to be frank and address and
change bad practices
• Create a Safe Environment for Experimentation
• Experiment with New Techniques and Processes
• Share Knowledge through Collaboration
• Encourage Emergent Leadership via a Safe Environment
– create an environment where people feel safe to take
the lead

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Agile Leadership
Management Focus Leadership Focus

• Tasks/Things • People
• Control • Empowerment
• Efficiency • Effectiveness
• Doing Things Right • Doing the Right Things
• Speed • Direction
• Practices • Principles
• Command • Communication

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Servant Leadership
1. Shield the Team from Interruptions
2. Remove Impediments to Progress
3. Communicate and Recommunicate Project Vision
4. Carry the food and water

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


12 Principles for Leading Agile Projects
1. Learn the Team Members Needs – What Motivates
them
2. Learn the Project’s Requirements
3. Act for the Simultaneous Welfare of the Team and the
Project
4. Create an Environment of Functional Accountability –
Explicitly define success and failure and empower the
team to Self-Organize to reach the goals

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


12 Principles for Leading Agile Projects
5. Have a Vision of the Completed Project
6. Use the Project Vision to Drive your Own Behavior
7. Serve as the Central Figure in Successful Project Team
Development
8. Recognize Team Conflict as a Positive Step

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


12 Principles for Leading Agile Projects
9. Manage with an Eye toward Ethics
10. Remember that Ethics are Not an Afterthought, but an
Integral Part of Thinking
11. Take Time to Reflect on the Project
12. Develop the trick of Thinking Backwards – Imagine you
have successfully accomplished the project and what it
took to make it happen

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


AGILE/XP Splice

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Practices that Facilitate Value Delivery
• Continuous Integration of ‘shippable products – that is,
both incorporating the results of the latest iteration, but
retesting the whole to make sure it works
• Test at all levels to ensure ‘failing fast’, and quick problem
resolution
• Acceptance Test-Driven Development (ATDD – The team
discusses acceptance criteria, then creates automated
tests that just test that criteria, the focus is on Minimum
Viable Product (MVP)/Minimum Marketable Feature
(MMF) to provide value quickly to the organization and
keep complexity to a minimum for each iteration

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Practices that Facilitate Value Delivery
• Test-Driven Development (TDD) and Behavior-Driven
Development (BDD) – Creating an automated test before
writing code/creating the product. This helps to focus on
providing value and design of ‘mistake proof’ products. It
also ensures that design flaws and mistakes are caught
quickly
• Spikes (timeboxed research or experiments) – A iteration
that is focused on:
• Investigating risks
• Reviewing various options
• Determining suitability of a technical approach
• Understanding the flow of user action on a product
• Addressing an unknown concern
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
End AGILE/XP Splice

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


AGILE/Scrum Splice

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Practices that Facilitate Value Delivery
• Continuous Integration of ‘shippable products – that is,
both incorporating the results of the latest iteration, but
retesting the whole to make sure it works
• Test at all levels to ensure ‘failing fast’, and quick problem
resolution
• Spikes (timeboxed research or experiments) – A iteration
that is focused on:
• Investigating risks
• Reviewing various options
• Determining suitability of a technical approach
• Understanding the flow of user action on a product
• Addressing an unknown concern

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Practices that Facilitate Value Delivery
• Test-Driven Development (TDD) and Behavior-Driven
Development (BDD) – Creating an automated test before
writing code/creating the product. This helps to focus on
providing value and design of ‘mistake proof’ products. It
also ensures that design flaws and mistakes are caught
quickly
• Spikes (timeboxed research or experiments) – A iteration
that is focused on:
• Investigating risks
• Reviewing various options
• Determining suitability of a technical approach
• Understanding the flow of user action on a product
• Addressing an unknown concern
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
End AGILE/Scrum Splice

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Agile Communications
• Use ‘low tech’ communications methods that allow the
team to use a ‘hands–on’ approach to updating
communications
• Notice with Kanban Board approach you not only get
‘tactile’ feedback but it is also easier to determine
progress at a glance

Kanban Board Traditional Logic Bar Chart

To Do In Progress Done

Vs

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Agile and the PMO
• Agile PMOs are:
• Value driven
• Customer-collaboration mindset
• Consultants Vs Standards Enforcers – emphasis on tailoring efforts
to the specific needs requested by the teams
• Focused on delivering what is needed to maintain an
understanding of customer requirements and adapting to those
requirements
• Intrapreneurial in nature, focusing on providing value to the
customers and teams

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Agile and the PMO
• Agile PMOs must provide support in more than just
project management competencies, rather becoming
‘Agile Centers of Excellence’ providing the following
services
• Developing and implementing standards to facilitate agile
methodologies – such as templates for user stories, iterative
development process support, etc.
• Growing team members through training and mentoring on Agile
best practices
• Facilitating coordination between Agile teams
• Facilitating organizational learning by gathering and distributing
information on retrospectives, team velocity profiles etc.
• Providing support and guidance on how Agile teams can better
manage/engage stakeholders
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
Domain II. Value-Driven Delivery
Deliver valuable results by producing high-value increments for review, early and
often, based on stakeholder priorities. Have the stakeholders provide feedback on
these increments, and use this feedback to prioritize and improve future increments.

Copyright © 2016 Techknowledgy, Inc. All Rights Reserved


Value-Driven Delivery
Tasks
• Define Positive Value
• Task 1 Define deliverables by identifying units that can be produced incrementally in
order to maximize their value to stakeholders while minimizing non-value added work.
• Task 2 Refine requirements by gaining consensus on the acceptance criteria for features
on a just-in-time basis in order to deliver value.
• Task 3 Select and tailor the team’s process based on project and organizational
characteristics as well as team experience in order to optimize value delivery.
• Avoid Potential Downsides
• Task 4 Plan for small releasable increments by organizing requirements into minimally
marketable features/minimally viable products in order to allow for the early recognition
and delivery of value.
• Task 5 Limit increment size and increase review frequency with appropriate stakeholders
in order to identify and respond to risks early on and at minimal cost.
• Task 6 Solicit customer and user feedback by reviewing increments often in order to
confirm and enhance business value.

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Value-Driven Delivery set
Tasks
• Prioritization
• Task 7 Prioritize the units of work through collaboration with stakeholders in order to
optimize the value of the deliverables.
• Task 8 Perform frequent review and maintenance of the work results by prioritizing and
maintaining internal quality in order to reduce the overall cost of incremental
development.
• Task 9 Continuously identify and prioritize the environmental, operational, and
infrastructure factors in order to improve the quality and value of the deliverables.

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Value-Driven Delivery
Tasks
• Incremental Development
• Task 10 Conduct operational reviews and/or periodic checkpoints with stakeholders in
order to obtain feedback and corrections to the work in progress and planned work.
• Task 11 Balance development of deliverable units and risk reduction efforts by
incorporating both value producing and risk reducing work into the backlog in order to
maximize the total value proposition over time.
• Task 12 Re-prioritize requirements periodically in order to reflect changes in the
environment and stakeholder needs or preferences in order to maximize the value.
• Task 13 Elicit and prioritize relevant non-functional requirements (such as operations and
security) by considering the environment in which the solution will be used in order to
minimize the probability of failure.
• Task 14 Conduct frequent reviews of work products by performing inspections, reviews,
and/or testing in order to identify and incorporate improvements into the overall process
and product/service.

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


What is Value Driven Delivery?
Agile Value Proposition
Agile Development
Traditional Development

Adaptability
Visibility

Business Value Risk

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Value-Driven Delivery
• Eat your desert FIRST!
• Prioritizing Value Adding Activities and Risk Reducing Efforts to
focus on delivering these early in the project thereby
• Delivering Value to the Customer early, or
• Failing Fast
• Waste Minimization, focus on minimizing the ‘Lean 7 Wastes’
• Assessing Value
• ROI
• NPV
• IRR

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Agile Project Accounting
Agile Project Traditional Project

• Prioritize Value Adding • Determine Requirements


Activities • Optimize Schedule
• Prioritize Risk Reducing • Minimize Cost
Activities • Track Variance of Actual
• Eat your Desert First results to Baseline
• Minimum Viable Product
(MVP)
• Minimum Marketable
Feature (MMF)

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Agile Key Performance Indicators
(KPIs)

• Rate of Progress – Velocity


• Remaining Work
• Likely Completion Date – based on sustained Velocity
• Likely Costs Remaining – Salary burn rate X Remaining
Weeks left until completion (based on Velocity)

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Agile Risk Management
• Risk is assessed based on traditional Risk Management
Processes
• Identify Risk
• Qualitative Risk Analysis – Subjective Impact x Probability
• Quantitative Risk Analysis – Definitive Impact x Probability
• Risk Response Plan
• Control Actual Risks Events against plan

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Agile Risk Management
• Difference in Agile
• Team works Activities with most risk reduction potential first to:
• Minimize Risk, or
• Force ‘Fast Failure’ – deal with high risk areas of project in earlier
sprints
• Main Agile Risk Tools
• Risk Adjusted Backlog
• Risk Burndown Chart

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Agile Regulatory Compliance
• Perform Compliance Work as you go
• Pro – We can see if work practices are making it easier or harder to
comply and modify as needed
• Con – Any future changes may invalidate the work we’ve
performed (increased technical debt)
• Do Compliance Work after product is complete
• Pro – Rework to adjust to changes is eliminated since all testing is
complete prior to compliance work
• Con – We don’t get to make positive changes to our practices that
hinder compliance work because we aren’t aware of the impact of
the practices on the compliance work

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Agile Prioritization
• Agile Prioritization is driven by:
• Product Owner/Customer-Valued Priorities
• Risk Event Potential Probability and Impact
• Regulatory Compliance

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Prioritization Schemes

• Simple Schemes
• Priority 1
• Priority 2
• Priority 3
• MoSCoW
• Must Have
• Should Have
• Could Have
• Would Be Nice to Have

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Prioritization Schemes
Monopoly Money
• Distribute fake dollars of budget and let the stakeholders decide
how much they’re willing give to various features
• 100 Point Method
• Dot Voting or Multi-Voting
• Like Monopoly Money with dots or stars – Rule of thumb each
stakeholder get a number of dots or starts equal to 20% of the total
number of requirements

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Prioritization Schemes
• Requirements Prioritization Model
• All Requirements are ranked on a scale of 1 (lowest) to 9 (highest)
• Customers Rank
• Benefit of requirement
• Penalty for not having requirement
• Team Ranks
• Cost of producing requirement
• Risks associated with production
• Rankings for each requirement are entered into a weighted formula
(based on organization need) to determine relative priority of each
requirement

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Kano Analysis
v

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Relative Prioritizing/Ranking

Prioritized List
Prioritized List

Change
Remember
A A
Considered and These can
Prioritized
B Change
be features
B Accepted or
which functionality
C Defers E
or Risk
to next
C Iteration Reducing
D Activities
D
Cut off to
E Cut off to
meet
meet
budget/time E budget/time

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Delivering Incrementally
• Regularly deploying working increments of the product
over the course of the project, facilitates:
• Eating your desert first v
• Evolution of priorities 3
• Minimizing the Cost of
Changes
• Increment must meet 2
criteria of:
• MVP (Minimum Viable
Product) 1
• MMF (Minimum
Marketable Feature)

v
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
Agile Tooling
• Although sophisticated reporting and scheduling tools
have value they also tend toward:
• Data Accuracy Perception – Because of the polished reports and
charts, people may incorrectly assume that there’s not much
uncertainty in the estimates
• Barriers to Stakeholder Interaction – established inputs and metrics
can overrule the reality of change requirements
• Requiring formal business education to understand data

• We discussed this in the priori section when we talked


about ‘Low Tech; High-Touch’ Tools, and Kanban Boards
to minimize WIP

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Work in Progress (WIP)
• WIP is work that has been started but isn’t completed
• Excessive levels of WIP:
• Consume investment capital and delivers no return on investment
until the work is complete. In other words it represents money spent
on which we aren’t currently getting returns
• Hides bottlenecks – in Agile Methodologies we focus on
Throughput!
• Presents a risk of potential rework, as we may find out that
changes are required before the work becomes an accepted
deliverable – the longer something is in WIP, the more chance a
change will be requested
• Creates excess inventory that may never be used or have to be
reworked due to changes

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Cumulative Flow Diagrams (CFDs)
CFDs are a
useful tool for
identifying
Bottlenecks. A
Bottleneck
Activity will
ALWAYS be the
activity BELOW
a WIDENING
Activity.
Exception is the
final activity
which has
nothing below it
and which we
WANT to be
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved widening
Resolving a Bottleneck
• Goldratt’s ‘Theory of Constraints’ Five Focusing Steps for
Bottleneck Resolution
• Identify the Constraint
• Exploit the Constraint
• Subordinate all other processes to exploit the Constraint
• If after Steps 2 and 3 are done, more capacity is needed to meet
demand, elevate the Constraint
• If the Constraint has not moved, go back to Step 1, don’t let
Complacency result in a ‘System’ constraint
• Remember Efficiency is only important in a bottleneck
situation, if no bottleneck efficiency is not relevant… focus
on throughput

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Wait Time Chart

% Idle

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Agile Contracts
• DSDM Contract
• Focus is on:
• ‘Fit for Business Purposes’ and
• Passing Tests rather than:
• Matching a Specification
Traditional Agile
Triangle of Triangle of
Constraints Constraints
Fixed Cost Time
Scope

Variable
Time Cost Scope
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
Agile Contracts
• Money for Nothing and Change for Free
• Starts as a Fixed Price Contract
• Change for Free
• Customer can change priorities or add new functionality as long as the
customer stays engaged
• New priorities or added functionality will ‘bump’ lower priority activities to
a lower level and they may not be completed
• Money for Nothing
• Customer can terminate the project early if the business conditions
change as long as the customer stays engaged
• Vendor gets 20% of remaining value of contract, Customer gets to save
the remaining 80% of costs that have no value to Customer

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Agile Contracts
• Graduated Fixed Price Contract
• Customer and Vendor share Risks and Rewards for
schedule variances

Project Completion Graduated Rate Total Fee


Finish Early $110 per hour $92,000
Finish On Time $100 per hour $100,000
Finish Late $90 per hour $112,000

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Agile Contracts
• Fixed Price Work Packages
• Instead of provided a Fixed Price for the Entre Project, the
Statement of Work (SOW) is structured so that each Work Package
(or feature) is priced Separately
Customized Contracts
• Traditional Fixed Price Contract
that are hybrids of the
• Features A, B, and C - $30K
various Agile contracts
• Fixed Price Work Packages
and or Agile and
• Feature A - $15K
Traditional Contracts
• Feature B - $5K work too!
• Feature C - $10K
• Total Project $25K BUT with option to Re-Estimate a Work Package if
needed
• Custom Contracts
• Anything goes as long as Mutually Beneficial and Legal

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Verifying and Validating Value
Gulf of Evaluation

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


AGILE/XP Splice

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Frequent Verification and Validation in
XP

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Testing – XP Testing
• Exploratory Testing
• Different from and NOT a replacement for scripted testing
• Additional tests created by the tester in an XP environment to test
the Extremes of Functionality
• Usability Testing
• Testing designed to diagnose ‘user friendliness’ of system focuses
on
• Where do users have to pause to think about what to do?
• Where do users need to ask for help?
• Are their common repetitive tasks?

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Continuous Integration

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Continuous Integration Tools
• Source Code Control System
• Build Tools
• Test Tools
• Scheduler or Trigger
• Notifications

• Review Pros and Cons in text p.133

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


Test Driven Development (TDD)

Add Test
Red, Green, Refactor
Run Red, Green, Clean
Test
Fail
Write Code

Development Continues if More


Fail Run
Test Functionality is Needed
Pass
Is More Yes
Functionality
Needed?
No All Tests pass, so we refactor and
Refactor
stop development
Note Pros and
Cons p. 135
Copyright © 2018 Techknowledgy, Inc. All Rights Reserved
Acceptance Test–Driven
Development Cycle (ATDD)
• Discuss Requirements with Product Owner
• Distill tests in a framework-friendly format
• Develop Code and hook up tests
• Demo

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved


End AGILE/XP Splice

Copyright © 2018 Techknowledgy, Inc. All Rights Reserved

You might also like