Agile Patterns and
Anti-Patterns
Are we being Agile?
June 12, 2015
• Agile trainer and coach
• Member of PMI, Scrum Alliance,
Agile Alliance, Agile Leadership
Network
• CST, CSM, CSPO, CSP, PMI-ACP,
PMP
• Founder & executive committee
member of Agile Delivery for
Agencies, Programs, and Teams
(ADAPT)
• Experience in Federal and
commercial Agile transformations
Richard Cheng
richard.cheng@excella.com
@RichardKCheng
What is Agile?
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.”
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."
Principles Behind the Agile Manifesto:
Agile Methodologies
Agile
Scrum
XP
Kanban
SAFe
DSDMLean
Patterns and
Anti-Patterns
1. For each scenario, identify if:
– The team is making decisions guided by Agile
principles or
– The team is making decisions counter to Agile
principles
2. If the team is making decisions guided by Agile
principles, identify which principles
3. If the team is making decisions counter to Agile
principles, identify which principles conflict with the
decisions
Instructions
1. Before each release, the team always
seems to find themselves behind on their
work. To account for this, the team puts in
many extra hours in the weeks leading up to
the release.
2. The distributed team (some people in US,
some people overseas) has setup video
skype accounts so everyone can use video
skype for phone calls and virtual video
conference calls.
Scenarios
1. Before each release, the team always
seems to find themselves behind on their
work. To account for this, the team puts in
many extra hours in the weeks leading up to
the release.
2. The distributed team (some people in US,
some people overseas) has setup video
skype accounts so everyone can use video
skype for phone calls and virtual video
conference calls.
Scenarios
Burndown / Burnup Charts
• Outcomes of Fixed Date / Fixed Scope projects:
– Waterfall
1. Delivered _____ and working ________
2. “Delivered” _____ … with ______
3. Cannot deliver on time, ______
– Scrum
1. Delivered _____ and working ________
2. The _____ items are _______ by the requested date and
working _______
• Be cautious of sacrificing quality to meet dates
Fixed Date / Fixed Scope
0
200
400
600
800
1000
1200
1400
1/1/2011
2/1/2011
3/1/2011
4/1/2011
5/1/2011
6/1/2011
7/1/2011
8/1/2011
9/1/2011
10/1/2011
11/1/2011
12/1/2011
1/1/2012
Work Remaining
Work Remaining
Deadline Missed?
Project Due Date
1. Before each release, the team always
seems to find themselves behind on their
work. To account for this, the team puts in
many extra hours in the weeks leading up to
the release.
2. The distributed team (some people in US,
some people overseas) has setup video
skype accounts so everyone can use video
skype for phone calls and virtual video
conference calls.
Scenarios
• In Person
– Quarterly – Release Planning, Roadmapping
• Video
– Sprint Planning, Review, Retro (EVERY TWO
WEEKS)
• Phone
– Day to Day, Daily Scrum/Standup
• IM
– Day to day
• Email
– Information exchange
Scrum Overview
Product Vision
Roadmap
Day
Sprint…
…
…
Plan
Day
Day
Daily Scrum
Review
Retro
Sprint
Plan
Review
Retro
Idea
Initiation Release
Plan
Release Release
Plan
Plan
Time
1. For each scenario, identify if:
– The team is making decisions guided by Agile principles
or
– The team is making decisions counter to Agile principles
2. If the team is making decisions guided by Agile principles,
identify which principles
3. If the team is making decisions counter to Agile principles,
identify which principles conflict with the decisions
4. Additionally, if the team is making decisions counter to Agile
principles, discuss a solution that is more aligned with Agile
principles.
Instructions
3. The team is not completing all the work they
thought they would complete each iteration. The
team has decided to get more work done, they
will go from 2 week iterations to 4 week
iterations.
4. The Product Owner has a high value change that
she wants to make weeks prior to the release.
The team has decided that though it’s breaking
the agreed scope of the release, they will work
with the Product Owner to identify options for
getting this change into the release.
Scenarios
3. The team is not completing all the work they
thought they would complete each iteration. The
team has decided to get more work done, they
will go from 2 week iterations to 4 week
iterations.
4. The Product Owner has a high value change that
she wants to make weeks prior to the release.
The team has decided that though it’s breaking
the agreed scope of the release, they will work
with the Product Owner to identify options for
getting this change into the release.
Scenarios
Product Backlog Refinement
PBI
PBI
PBI
PBI
Add
Split
Reorder
Remove
High priority
for
next Sprint
Granularity
Fine
Coarse
Product Backlog
Reorder
Definition of Done
Definition of Done for the PBI
Security
Testing
Browser
Tested
Stress
Testing
Acceptance
Criteria
Definition of Done for the Sprint
Definition of Done for the
Release
Unit Tested
Stakeholder
Review
Definition of Done
Definition of Done for the PBI
Definition of Done for the Sprint
Definition of Done for the Release
Security
Testing
Browser
Tested
Stress
Testing
Acceptance
Criteria
Unit Tested
Stakeholder
Review
3. The team is not completing all the work they
thought they would complete each iteration. The
team has decided to get more work done, they
will go from 2 week iterations to 4 week
iterations.
4. The Product Owner has a high value change that
she wants to make weeks prior to the release.
The team has decided that though it’s breaking
the agreed scope of the release, they will work
with the Product Owner to identify options for
getting this change into the release.
Scenarios
5. The developer has decided that instead
taking extra time to make his code reusable
when he first writes it, he decides to make
the code meet the immediate functional
needs. If the code is re-used later, then
someone can update it to be re-usable.
6. Business people are busy with their work
and have decided to only meet with their
development team once every other week to
review the work.
Scenarios
5. The developer has decided that instead
taking extra time to make his code reusable
when he first writes it, he decides to make
the code meet the immediate functional
needs. If the code is re-used later, then
someone can update it to be re-usable.
6. Business people are busy with their work
and have decided to only meet with their
development team once every other week to
review the work.
Scenarios
5. The developer has decided that instead
taking extra tome to make his code reusable
when he first writes it, he decides to make
the code meet the immediate functional
needs. If the code is re-used later, then
someone can update it to be re-usable.
6. Business people are busy with their work
and have decided to only meet with their
development team once every other week to
review the work.
Scenarios
7. The Program Manager has decided that rather
than disappoint the customer with incomplete
software demos, the Program Manager wants to
wait until final delivery to show the product to the
customers.
8. A small startup company is starting their software
workflow process. They have decided to use
enterprise architects to create all of the
structures, a data modeler to create all of the
data models, a senior software manager to
create all of the code designs, and the team to
write the coding details.
Scenarios
7. The Program Manager has decided that rather
than disappoint the customer with incomplete
software demos, the Program Manager wants to
wait until final delivery to show the product to the
customers.
8. A small startup company is starting their software
workflow process. They have decided to use
enterprise architects to create all of the
structures, a data modeler to create all of the
data models, a senior software manager to
create all of the code designs, and the team to
write the coding details.
Scenarios
7. The Program Manager has decided that rather
than disappoint the customer with incomplete
software demos, the Program Manager wants to
wait until final delivery to show the product to the
customers.
8. A small startup company is starting their software
workflow process. They have decided to use
enterprise architects to create all of the
structures, a data modeler to create all of the
data models, a senior software manager to
create all of the code designs, and the team to
write the coding details.
Scenarios
What is Agile?
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.”
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."
Principles Behind the Agile Manifesto:
Agile Methodologies
Agile
Scrum
XP
Kanban
SAFe
DSDMLean
Excella Consulting
Experience and Expertise in Agile Solutions
– Coaching
– Training
– Assessments
– Agile Adoption
– Agile Development Teams
– Agile PMO
Training Courses
– Certified ScrumMaster (CSM)
– Certified Scrum Product Owner (CSPO): The Agile Business Analyst
– Advanced Certified Scrum Product Owner (CSPO)
– Certified Scrum Developer (CSD)
– Agile Testing
– Agile Business Intelligence and Data Warehousing
– Automated Acceptance Testing – Great for Analysts and Testers!!
See http://www.excella.com/training for more information
Contact Information
Richard K Cheng
richard.cheng@excella.com
703-967-8620
http://www.excella.com
Twitter: @RichardKCheng

Agile Patterns and Anti-Patterns

  • 1.
    Agile Patterns and Anti-Patterns Arewe being Agile? June 12, 2015
  • 2.
    • Agile trainerand coach • Member of PMI, Scrum Alliance, Agile Alliance, Agile Leadership Network • CST, CSM, CSPO, CSP, PMI-ACP, PMP • Founder & executive committee member of Agile Delivery for Agencies, Programs, and Teams (ADAPT) • Experience in Federal and commercial Agile transformations Richard Cheng richard.cheng@excella.com @RichardKCheng
  • 3.
  • 5.
    1. "Our highestpriority 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.” 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." Principles Behind the Agile Manifesto:
  • 6.
  • 7.
  • 8.
    1. For eachscenario, identify if: – The team is making decisions guided by Agile principles or – The team is making decisions counter to Agile principles 2. If the team is making decisions guided by Agile principles, identify which principles 3. If the team is making decisions counter to Agile principles, identify which principles conflict with the decisions Instructions
  • 9.
    1. Before eachrelease, the team always seems to find themselves behind on their work. To account for this, the team puts in many extra hours in the weeks leading up to the release. 2. The distributed team (some people in US, some people overseas) has setup video skype accounts so everyone can use video skype for phone calls and virtual video conference calls. Scenarios
  • 10.
    1. Before eachrelease, the team always seems to find themselves behind on their work. To account for this, the team puts in many extra hours in the weeks leading up to the release. 2. The distributed team (some people in US, some people overseas) has setup video skype accounts so everyone can use video skype for phone calls and virtual video conference calls. Scenarios
  • 11.
  • 12.
    • Outcomes ofFixed Date / Fixed Scope projects: – Waterfall 1. Delivered _____ and working ________ 2. “Delivered” _____ … with ______ 3. Cannot deliver on time, ______ – Scrum 1. Delivered _____ and working ________ 2. The _____ items are _______ by the requested date and working _______ • Be cautious of sacrificing quality to meet dates Fixed Date / Fixed Scope
  • 13.
  • 14.
    1. Before eachrelease, the team always seems to find themselves behind on their work. To account for this, the team puts in many extra hours in the weeks leading up to the release. 2. The distributed team (some people in US, some people overseas) has setup video skype accounts so everyone can use video skype for phone calls and virtual video conference calls. Scenarios
  • 15.
    • In Person –Quarterly – Release Planning, Roadmapping • Video – Sprint Planning, Review, Retro (EVERY TWO WEEKS) • Phone – Day to Day, Daily Scrum/Standup • IM – Day to day • Email – Information exchange
  • 16.
    Scrum Overview Product Vision Roadmap Day Sprint… … … Plan Day Day DailyScrum Review Retro Sprint Plan Review Retro Idea Initiation Release Plan Release Release Plan Plan Time
  • 17.
    1. For eachscenario, identify if: – The team is making decisions guided by Agile principles or – The team is making decisions counter to Agile principles 2. If the team is making decisions guided by Agile principles, identify which principles 3. If the team is making decisions counter to Agile principles, identify which principles conflict with the decisions 4. Additionally, if the team is making decisions counter to Agile principles, discuss a solution that is more aligned with Agile principles. Instructions
  • 18.
    3. The teamis not completing all the work they thought they would complete each iteration. The team has decided to get more work done, they will go from 2 week iterations to 4 week iterations. 4. The Product Owner has a high value change that she wants to make weeks prior to the release. The team has decided that though it’s breaking the agreed scope of the release, they will work with the Product Owner to identify options for getting this change into the release. Scenarios
  • 19.
    3. The teamis not completing all the work they thought they would complete each iteration. The team has decided to get more work done, they will go from 2 week iterations to 4 week iterations. 4. The Product Owner has a high value change that she wants to make weeks prior to the release. The team has decided that though it’s breaking the agreed scope of the release, they will work with the Product Owner to identify options for getting this change into the release. Scenarios
  • 20.
    Product Backlog Refinement PBI PBI PBI PBI Add Split Reorder Remove Highpriority for next Sprint Granularity Fine Coarse Product Backlog Reorder
  • 21.
    Definition of Done Definitionof Done for the PBI Security Testing Browser Tested Stress Testing Acceptance Criteria Definition of Done for the Sprint Definition of Done for the Release Unit Tested Stakeholder Review
  • 22.
    Definition of Done Definitionof Done for the PBI Definition of Done for the Sprint Definition of Done for the Release Security Testing Browser Tested Stress Testing Acceptance Criteria Unit Tested Stakeholder Review
  • 23.
    3. The teamis not completing all the work they thought they would complete each iteration. The team has decided to get more work done, they will go from 2 week iterations to 4 week iterations. 4. The Product Owner has a high value change that she wants to make weeks prior to the release. The team has decided that though it’s breaking the agreed scope of the release, they will work with the Product Owner to identify options for getting this change into the release. Scenarios
  • 24.
    5. The developerhas decided that instead taking extra time to make his code reusable when he first writes it, he decides to make the code meet the immediate functional needs. If the code is re-used later, then someone can update it to be re-usable. 6. Business people are busy with their work and have decided to only meet with their development team once every other week to review the work. Scenarios
  • 25.
    5. The developerhas decided that instead taking extra time to make his code reusable when he first writes it, he decides to make the code meet the immediate functional needs. If the code is re-used later, then someone can update it to be re-usable. 6. Business people are busy with their work and have decided to only meet with their development team once every other week to review the work. Scenarios
  • 26.
    5. The developerhas decided that instead taking extra tome to make his code reusable when he first writes it, he decides to make the code meet the immediate functional needs. If the code is re-used later, then someone can update it to be re-usable. 6. Business people are busy with their work and have decided to only meet with their development team once every other week to review the work. Scenarios
  • 27.
    7. The ProgramManager has decided that rather than disappoint the customer with incomplete software demos, the Program Manager wants to wait until final delivery to show the product to the customers. 8. A small startup company is starting their software workflow process. They have decided to use enterprise architects to create all of the structures, a data modeler to create all of the data models, a senior software manager to create all of the code designs, and the team to write the coding details. Scenarios
  • 28.
    7. The ProgramManager has decided that rather than disappoint the customer with incomplete software demos, the Program Manager wants to wait until final delivery to show the product to the customers. 8. A small startup company is starting their software workflow process. They have decided to use enterprise architects to create all of the structures, a data modeler to create all of the data models, a senior software manager to create all of the code designs, and the team to write the coding details. Scenarios
  • 29.
    7. The ProgramManager has decided that rather than disappoint the customer with incomplete software demos, the Program Manager wants to wait until final delivery to show the product to the customers. 8. A small startup company is starting their software workflow process. They have decided to use enterprise architects to create all of the structures, a data modeler to create all of the data models, a senior software manager to create all of the code designs, and the team to write the coding details. Scenarios
  • 30.
  • 32.
    1. "Our highestpriority 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.” 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." Principles Behind the Agile Manifesto:
  • 33.
  • 34.
    Excella Consulting Experience andExpertise in Agile Solutions – Coaching – Training – Assessments – Agile Adoption – Agile Development Teams – Agile PMO Training Courses – Certified ScrumMaster (CSM) – Certified Scrum Product Owner (CSPO): The Agile Business Analyst – Advanced Certified Scrum Product Owner (CSPO) – Certified Scrum Developer (CSD) – Agile Testing – Agile Business Intelligence and Data Warehousing – Automated Acceptance Testing – Great for Analysts and Testers!! See http://www.excella.com/training for more information
  • 35.
    Contact Information Richard KCheng richard.cheng@excella.com 703-967-8620 http://www.excella.com Twitter: @RichardKCheng

Editor's Notes

  • #6 Listed are some scenarios, for each scenario, identify if: The team is making decisions guided by Agile principles or The team is making decisions counter to Agile principles If the team is making decisions guided by Agile principles, identify which principles If the team is making decisions counter to Agile principles, identify which principles conflict with the decisions
  • #12 displays the Project Burn Up and Project Burn Down chart for the same project. The Burn Up line displays the story points completed. The Burn Down line displays story points remaining. For organizations that are familiar with EVM type tracking, these Burn Up and Burn Down values can often be translated to EVM measures. Warning on burn down charts, does not give you whole picture
  • #13 Waterfall Delivered on time and working as expected “Delivered” on time … with issues Cannot deliver on time, need to extend Scrum Delivered on time and working as expected The highest valued stories are available by the requested date and working as expected
  • #14 Here we identify that though this project did not complete all of it’s scope by the due date, it did complete 80% of the project. Also note that the 80% completed represents the top 80% most important part of the project.
  • #33 Listed are some scenarios, for each scenario, identify if: The team is making decisions guided by Agile principles or The team is making decisions counter to Agile principles If the team is making decisions guided by Agile principles, identify which principles If the team is making decisions counter to Agile principles, identify which principles conflict with the decisions