Agile Patterns and Anti-Patterns

35
Agile Patterns and Anti-Patterns Are we being Agile? 3/14/22

Transcript of Agile Patterns and Anti-Patterns

Agile Patterns and Anti-Patterns

Are we being Agile?

April 15, 2023

• 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

[email protected]

@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, ______

– Scrum1. 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

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

/201

1

11/1

/201

1

12/1

/201

1

1/1/

2012

0

200

400

600

800

1000

1200

1400

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 VisionRoadmap

Day

Sprint…

Pla

n

Day

Day

Daily Scrum

Revie

w

Retr

o

Sprint

Pla

n

Revie

w

Retr

o

Idea

Initiation ReleasePla

n

Release ReleasePla

n

Pla

n

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

AddSplit

Reorder

Remove

High priority for

next Sprint

Granularity

Fine

Coarse

Product Backlog

Reorder

Definition of Done

Definition of Done for the PBI

Security Testing

BrowserTested

Stress Testing

AcceptanceCriteria

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

BrowserTested

Stress Testing

AcceptanceCriteria

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 ConsultingExperience 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 [email protected]

m703-967-8620http://www.excella.comTwitter: @RichardKCheng