Agile Patterns and Anti-Patterns
-
Upload
richard-cheng -
Category
Leadership & Management
-
view
299 -
download
1
Transcript of Agile Patterns and Anti-Patterns
• 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
@RichardKCheng
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:
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
• 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
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:
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