Agile Training Workshop
Majid Rafiq, PMI-ACP | Associate Project Manager
2
Workshop Agenda
• What is Agile
• Scrum
• XP
• Kanban
Majid Rafiq, PMI-ACP | Agile Training Workshop
What is Agile?
4
What is Agile?
• What do you think is the purpose of this workshop?
• Difference between how to agile and being agile?
• What advantages can you state of Agile?
Majid Rafiq, PMI-ACP | Agile Training Workshop
TRADITIONAL
 Waterfall Approach
 Need more time to market
 Not all of the features are used by
consumers:
 Often/Always: 20%
 Sometimes: 16%
 Rarely/Never: 64%
AGILE
 Iterative & Incremental
 Time boxed
 Focuses on Minimum Marketable
Features
 Continuous involvement of Customer
 Open to change requests at all stages
of life cycle
5
Traditional vs. Agile Approach
Majid Rafiq, PMI-ACP | Agile Training Workshop
6
Agile Software Development
 What is Agile Software Development?
 Iterative and incremental development
 Requirements and solutions evolve through collaboration
 Teams are potentially self-organizing and cross-functional
Majid Rafiq, PMI-ACP | Agile Training Workshop
 That is, while there is value in the items on the right, we value the items on the left more.
7
Process and toolsIndividuals and interactions over
Following a planResponding to change over
Comprehensive documentationWorking software over
Contract negotiationCustomer collaboration over
Agile Manifesto
Majid Rafiq, PMI-ACP | Agile Training Workshop
Agile Manifesto
 Individuals & Interactions over Processes & Tools
 Each person can contribute unique value
 Communication is clear, effective, quick and efficient
 Stronger team work
 Development teams can self-organize, be more innovative and customize the
processes as required
 Team members take personal ownership of the project
 Team members can have better job satisfaction
8Majid Rafiq, PMI-ACP | Agile Training Workshop
9
Agile Manifesto
 Working Software over Comprehensive Documentation
 Meeting done criteria – a measure of completion
 Bare minimum documentation
Majid Rafiq, PMI-ACP | Agile Training Workshop
10
Agile Manifesto
 Customer Collaboration over Contract Negotiation
 Make the customer part of the project on an ongoing basis
 Develops a partnership between customer and development team
 Customer gets the increment at the end of each iteration
 Customer feedback is incorporated in regular intervals
Majid Rafiq, PMI-ACP | Agile Training Workshop
11
Agile Manifesto
 Responding to Change over Following a Plan
 Responding quickly to customers, product users and market helps in developing
relevant and helpful products
Majid Rafiq, PMI-ACP | Agile Training Workshop
Scrum
13
 Overview of Scrum
 What is Scrum?
 Pillars of Scrum
 Roles
 Ceremonies/Events
 Artifacts
 Scrum of Scrums
Basic Concepts of Scrum
Majid Rafiq, PMI-ACP | Agile Training Workshop
14
An Overview of Scrum
Majid Rafiq, PMI-ACP | Agile Training Workshop
An Overview of Scrum
 Product Catalog
 Sprint Backlog
 Sprint / Iteration
 Daily Scrum / Standup
 Scrum Master
 Potentially shippable to the customer
 Sprint Review
 Retrospective meeting
15Majid Rafiq, PMI-ACP | Agile Training Workshop
16
An Overview of Scrum
 A Product Owner creates a prioritized wish list called Product
Catalog
 During Sprint Planning, the Scrum Team identifies and pulls a small
number of items from the Product Catalog, creating a Sprint Backlog
 The Scrum Team then decides how to implement the items
 The team has a timebox, called a Sprint, to complete its work
 The team meets each day to assess the progress, Daily Standup
 Scrum Master keeps the team focused on its goals
 At the end of the sprint the work should be potentially shippable to
the customer
 The sprint ends with a Sprint Review and Retrospective meeting
Majid Rafiq, PMI-ACP | Agile Training Workshop
17
Pillars of Scrum
 Transparency:
 Share common standards and nomenclatures in Scrum Team
 Inspection:
 Detect undesirable variances through Scrum Events
 Adaptation:
 Make adjustments to the process and artifacts to minimize further
deviation
Majid Rafiq, PMI-ACP | Agile Training Workshop
18
What is Scrum?
 Scrum is an Agile Framework structured to support
product development
 Scrum consists of Scrum Teams and their associated:
 Roles
 Events
 Artifacts
 Rules
Majid Rafiq, PMI-ACP | Agile Training Workshop
19
 Product Owner
 Development Team
 Scrum Master
Scrum Roles
Majid Rafiq, PMI-ACP | Agile Training Workshop
20
Product Owner
 Customer/Proxy representing the stakeholders
 Responsible for maximizing the value of the product and the
work of Development Team
 Writes User Stories
 Sole person responsible to manage the Product Backlog
 Clearly express the Product Backlog Items
 Prioritize the items to achieve best goals and missions
 Ensure the Product Backlog is transparent and visible to all
 Ensures the Development Team understands the items in the Product
Backlog
Majid Rafiq, PMI-ACP | Agile Training Workshop
21
 Self-organizing team of size between 3 to 9
 Normally developers who turn Product Backlog into
increments of potentially shippable product based on
“definition of done”
 Less than 3 members
 Decrease the interaction
 Result in smaller productivity
 May encounter skill issues
 More than 9 members
 Require too much co-ordination
Team
Majid Rafiq, PMI-ACP | Agile Training Workshop
22
Team
 Cross-functional team with all the skills necessary to create the
product increment as a team
 No titles for the team members other than “Developer”
 Each team member chips in and applies his/her expertise to all
the problems
Majid Rafiq, PMI-ACP | Agile Training Workshop
23
Scrum Master
 Ensures that Scrum rules are understood
 Ensures that Scrum rules are followed
 Resolves impediments
 Protects team from external interferences
 Removes the barriers between development and Product Owner so that
Product Owner derives the development
 Empowers the development team
 Improves engineering practices and tools so that each increment is
potentially shippable
 Keeps information on team’s progress up to date and ensures its visibility
Majid Rafiq, PMI-ACP | Agile Training Workshop
24
Servant Leadership
 This kind of leadership includes:
 Creating environment of personal safety where team members may both
innovate and come to friendly disagreements
 Mentoring team members
 Facilitating (not controlling) meetings
 Guiding the team
 Removing obstacles
Majid Rafiq, PMI-ACP | Agile Training Workshop
25
 Sprint
 Story Writing / User Stories
 Sprint Planning Meeting
 Daily Scrum / Stand-up
 Sprint Review
 Sprint Retrospective
Scrum Events
Majid Rafiq, PMI-ACP | Agile Training Workshop
Sprint
• 1-4 weeks long (2 weeks preference)
• Potentially shippable product
• Most common misconception:
– All sprints are iterations, but all iterations are not sprints
• Ideal iteration ending date:
– An iteration should not end on a Friday
26Majid Rafiq, PMI-ACP | Agile Training Workshop
User Stories
• Traditional Requirements
• User Story
• Epic and Theme
27Majid Rafiq, PMI-ACP | Agile Training Workshop
28
Traditional Requirements
 Criteria to which the system or business should adhere
 Generated before the coding begins
 Often considered as constraints, conditions or capabilities of
the system
 Rarely contain acceptance criteria
 Contract between business and development
Majid Rafiq, PMI-ACP | Agile Training Workshop
29
User Story
 A product feature description written by Customer/Proxy from
the perspective of the end user.
 It helps team understand what work is to be done
 Customer/Proxy prioritizes and team estimates them
 It usually follows the format:
▪ As a : <Role>
▪ I want to : <Function>
▪ So that : <Desired Goal>
Majid Rafiq, PMI-ACP | Agile Training Workshop
30
User Story (contd.)
 Shifts the focus from writing about requirements to talking
about them
 Not a highly detailed document, rather a reminder for further
collaboration
 Atomic in nature
 Just-In-Time Tool
 A User Story should be End to End
Majid Rafiq, PMI-ACP | Agile Training Workshop
31
User Story (contd.)
 Follows the INVEST model:
▪ Independent
▪ Reduced dependencies, easy planning
▪ Negotiable
▪ Details are added via collaboration and not a contract
▪ Valuable
▪ Provides value to the customer
▪ Estimable
▪ Should not be big and vague/Team should be able to estimate
▪ Small
▪ Can be done in less than a week by the team
▪ Testable
▪ Has acceptance criteria
Majid Rafiq, PMI-ACP | Agile Training Workshop
32
Epic and Theme
 Theme is a collection of related stories
 Epic is a large story that can be further divided into multiple
stories
 For example, “A user can search for job” can be split into
multiple stories:
▪ Search by Location, Salary Range, etc.
▪ View Job Detail
▪ View Company Profile
Majid Rafiq, PMI-ACP | Agile Training Workshop
Acceptance Criteria
• Final criteria to be satisfied in order to customer/product
owner to accept the story
• Customer specified scenarios
• The product owner should list as many acceptance criteria as
possible in order to clarify the intent of the story
Majid Rafiq, PMI-ACP | Agile Training Workshop 33
34
 Definition of Done
 Common Issues
Definition of Done
Majid Rafiq, PMI-ACP | Agile Training Workshop
35
Definition of Done
 Done criteria
 Functional Testing by development team
 Single User Story can have multiple acceptance tests
 Also used during regression testing
 DOD may not be added when an issue/task/story is created
Majid Rafiq, PMI-ACP | Agile Training Workshop
36
Common Issues
 Start from requirements documents in narrative format
 Too much information
• Missing information
• Team must understand the done criteria before committing to story
• Acceptance Criteria is confused with Test Cases
 Acceptance Criteria: “How will I know when I am done with the story?”
 Test Case: “How do I test and what are the test steps?”
Majid Rafiq, PMI-ACP | Agile Training Workshop
Activity # 1• Create Stories
• Create DOD
As a : <Role>
I want to : <Function>
So that : <Desired Goal>
38
Planning
 Sprint Goal
 Planning Meeting
 Estimation Technique – Planning Poker
Majid Rafiq, PMI-ACP | Agile Training Workshop
Sprint Goal
 A short statement of what the work will be focused on during
the sprint
39Majid Rafiq, PMI-ACP | Agile Training Workshop
40
planning meeting
prioritization
• Analyze and evaluate
product backlog
• Select sprint goal
planning
• Decide how to achieve sprint
goal (design)
• Create sprint backlog (tasks)
from product backlog items
(user stories / features)
• Estimate sprint backlog in
hours
Sprint
goal
Sprint
backlog
Business
conditions
Team
capacity
Product
backlog
Technology
Current
product
Majid Rafiq, PMI-ACP | Agile Training Workshop
Estimation Technique - Planning Poker
41
 The size assigned is based on a fixed pool of numbers
 Based on Fibonacci numbers
 0 1 1 2 3 5 8 13 21 34 55 98
 Adjusted sequence is:
 0 ½ 1 2 3 5 8 13 20 40 100 α
 Pre-requisite:
 A standard story must be taken with size pre-allocated
Majid Rafiq, PMI-ACP | Agile Training Workshop
42
Rules
 Feature is read to the team with explanation by Product owner
 Item is discussed
 Each member rates it and places his vote face down
 All cards are turned over at same time
 If estimates are different, outliers are discussed
 Repeat until consensus is reached or group can “live with” a
selected size
 Use Kitchen time to limit discussions
Majid Rafiq, PMI-ACP | Agile Training Workshop
5 finger rule
43
 After round of discussion, if consensus is not reached at all, use this to move forward
1. I am against this
2. I object and want to discuss
3. I have concerns but can live with it
4. I support with some reservations
5. I totally support it
 Note: 1 or 2 require discussion and re-vote
Majid Rafiq, PMI-ACP | Agile Training Workshop
Activity # 2
• Lets estimate some stories!
5 finger Voting
1. I am against this
2. I object and want to discuss
3. I have concerns but can live with it
4. I support with some reservations
5. I totally support it
Daily Scrum / Stand-up
 A maximum of 15 minute meeting of team members
 Helps synchronize effort
 Status is shared
 Dependencies are resolved
 Commitments are made
 Problems are identified but NOT resolved
45Majid Rafiq, PMI-ACP | Agile Training Workshop
Questions of Daily Scrum / Stand-up
 What has been done?
 What will be done before next meeting?
 What are any obstacles?
46Majid Rafiq, PMI-ACP | Agile Training Workshop
Punishments for non-attendees/late comers
47
• Push-ups
• Sit-ups
• Hang a board the whole day “I came late”
• Monitory fine
• Whatever team decides
Majid Rafiq, PMI-ACP | Agile Training Workshop
Scrum of Scrums (SOS)
48
 For large project teams
 One person per team attends
 Frequency depends on need
 Time of meeting depends on need
 Pre-requisite:
 All teams must be synchronized at a product or portfolio level
 A backlog must be maintained
 Must use a no name policy, instead use team name
 Like daily scrum problem resolution should be done after the meeting
Majid Rafiq, PMI-ACP | Agile Training Workshop
Agenda of SOS
49
 What has your team done since last meeting?
 What will your team do before next meeting?
 Is there any impediment for you?
 Will you be creating an impediment for others?
Majid Rafiq, PMI-ACP | Agile Training Workshop
50
 Team presents what it accomplished during the sprint
 Typically takes the form of a demo of new features or underlying
architecture
 Informal
 2-hour prep time rule
 No slides
 Whole team participates
 Invite the world
Review
Majid Rafiq, PMI-ACP | Agile Training Workshop
51
 Periodically take a look at what is and is not working
• Preferable to assign responsibility at the end of retrospective
• Typically 30 minutes to an hour
• Done after every sprint
• Team/customer can participate
Retrospective
Majid Rafiq, PMI-ACP | Agile Training Workshop
Scrum Artifacts
53
 Product Backlog
 Sprint Backlog
 Increment – not that one! 
Scrum Artifacts
Majid Rafiq, PMI-ACP | Agile Training Workshop
Product Backlog
 The requirements
 A list of all desired work on the project
 Ideally expressed such that each item has value to the users or
customers of the product
 Prioritized by the product owner
 Reprioritized at the start of each sprint
54Majid Rafiq, PMI-ACP | Agile Training Workshop
55
Sprint Backlog
 Sprint Backlog is the identified list of items that the team will
work on in the current sprint/iteration
 Features in the Sprint Backlog will be exploded into User
Stories
 User Stories will be decomposed to individual tasks
Majid Rafiq, PMI-ACP | Agile Training Workshop
Increment
• A deliverable at the end of an iteration
• Can be called:
– Increment
– Release
– Build
56Majid Rafiq, PMI-ACP | Agile Training Workshop
XP (Extreme Programming)
58
 Roles in XP
 12 Practices of XP
XP
Majid Rafiq, PMI-ACP | Agile Training Workshop
Roles in XP
• Customer:
• Create and prioritizes stories.
• Can change release date by adding/ removing stories.
• Programmer:
• Estimates stories, usually works in pairs, and writes codes and tests.
• Coach:
• Is preferred but optional.
• Monitors processes and mentors and helps team.
• Tracker:
• Is preferred but optional.
• Monitors progress.
• A programmer can be a tracker in the same or in a different pair.
59Majid Rafiq, PMI-ACP | Agile Training Workshop
1. Planning Games
2. Small Releases
3. Metaphor
4. Simple Design
5. Test-driven development
6. Refactoring
7. Pair Programming
8. Collective Ownership
9. Continuous Integration
10. 40-Hours a Week
11. On-Site Customer
12. Coding Standards
60
12 Practices of XP
Majid Rafiq, PMI-ACP | Agile Training Workshop
12 Practices of XP (contd…)
1. Planning games:
To elicit requirements + to estimate
2. Small Releases:
Begin with smallest useful feature set
3. Metaphor/Product theme:
Provides easy to remember naming conventions
4. Simple design:
Just enough to get the job done
5. Test-driven development (TDD):
Write test before adding feature. If test runs, the job is done
6. Refactoring:
Rewrite code to improve internal design
61Majid Rafiq, PMI-ACP | Agile Training Workshop
12 Practices of XP (contd…)
7. Pair programming:
Work on same computer.
“Driver” writes code and “observer” or “navigator” reviews each line
8. Collective code ownership:
Anyone can change anywhere
9. Continuous integration:
At least once per day
10.Forty hour work week:
Overtime of more than a week is considered as a serious process failure
11.On site customer:
Continuous access is available
12.Coding standard:
Everyone follows them
62Majid Rafiq, PMI-ACP | Agile Training Workshop
Kanban
Kanban Board
64
Feature to
develop Tasks in queue
Tasks in
progress
Tasks
complete
Feature
complete
Majid Rafiq, PMI-ACP | Agile Training Workshop
65Majid Rafiq, PMI-ACP | Agile Training Workshop
• Questions?
Thank you!
66Majid Rafiq, PMI-ACP | Agile Training Workshop
67
References
• www.mountaingoatsoftware.com
• http://ketiljensen.files.wordpress.com/2009/10/kanban_board_1.png
• http://en.wikipedia.org/wiki/Agile_software_development
• https://sites.google.com/a/confiz.com/software-
engineering/documents/books?pageUrlChanged=books
Majid Rafiq, PMI-ACP | Agile Training Workshop

Agile Project Management (Workshop)

  • 1.
    Agile Training Workshop MajidRafiq, PMI-ACP | Associate Project Manager
  • 2.
    2 Workshop Agenda • Whatis Agile • Scrum • XP • Kanban Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 3.
  • 4.
    4 What is Agile? •What do you think is the purpose of this workshop? • Difference between how to agile and being agile? • What advantages can you state of Agile? Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 5.
    TRADITIONAL  Waterfall Approach Need more time to market  Not all of the features are used by consumers:  Often/Always: 20%  Sometimes: 16%  Rarely/Never: 64% AGILE  Iterative & Incremental  Time boxed  Focuses on Minimum Marketable Features  Continuous involvement of Customer  Open to change requests at all stages of life cycle 5 Traditional vs. Agile Approach Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 6.
    6 Agile Software Development What is Agile Software Development?  Iterative and incremental development  Requirements and solutions evolve through collaboration  Teams are potentially self-organizing and cross-functional Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 7.
     That is,while there is value in the items on the right, we value the items on the left more. 7 Process and toolsIndividuals and interactions over Following a planResponding to change over Comprehensive documentationWorking software over Contract negotiationCustomer collaboration over Agile Manifesto Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 8.
    Agile Manifesto  Individuals& Interactions over Processes & Tools  Each person can contribute unique value  Communication is clear, effective, quick and efficient  Stronger team work  Development teams can self-organize, be more innovative and customize the processes as required  Team members take personal ownership of the project  Team members can have better job satisfaction 8Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 9.
    9 Agile Manifesto  WorkingSoftware over Comprehensive Documentation  Meeting done criteria – a measure of completion  Bare minimum documentation Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 10.
    10 Agile Manifesto  CustomerCollaboration over Contract Negotiation  Make the customer part of the project on an ongoing basis  Develops a partnership between customer and development team  Customer gets the increment at the end of each iteration  Customer feedback is incorporated in regular intervals Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 11.
    11 Agile Manifesto  Respondingto Change over Following a Plan  Responding quickly to customers, product users and market helps in developing relevant and helpful products Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 12.
  • 13.
    13  Overview ofScrum  What is Scrum?  Pillars of Scrum  Roles  Ceremonies/Events  Artifacts  Scrum of Scrums Basic Concepts of Scrum Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 14.
    14 An Overview ofScrum Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 15.
    An Overview ofScrum  Product Catalog  Sprint Backlog  Sprint / Iteration  Daily Scrum / Standup  Scrum Master  Potentially shippable to the customer  Sprint Review  Retrospective meeting 15Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 16.
    16 An Overview ofScrum  A Product Owner creates a prioritized wish list called Product Catalog  During Sprint Planning, the Scrum Team identifies and pulls a small number of items from the Product Catalog, creating a Sprint Backlog  The Scrum Team then decides how to implement the items  The team has a timebox, called a Sprint, to complete its work  The team meets each day to assess the progress, Daily Standup  Scrum Master keeps the team focused on its goals  At the end of the sprint the work should be potentially shippable to the customer  The sprint ends with a Sprint Review and Retrospective meeting Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 17.
    17 Pillars of Scrum Transparency:  Share common standards and nomenclatures in Scrum Team  Inspection:  Detect undesirable variances through Scrum Events  Adaptation:  Make adjustments to the process and artifacts to minimize further deviation Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 18.
    18 What is Scrum? Scrum is an Agile Framework structured to support product development  Scrum consists of Scrum Teams and their associated:  Roles  Events  Artifacts  Rules Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 19.
    19  Product Owner Development Team  Scrum Master Scrum Roles Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 20.
    20 Product Owner  Customer/Proxyrepresenting the stakeholders  Responsible for maximizing the value of the product and the work of Development Team  Writes User Stories  Sole person responsible to manage the Product Backlog  Clearly express the Product Backlog Items  Prioritize the items to achieve best goals and missions  Ensure the Product Backlog is transparent and visible to all  Ensures the Development Team understands the items in the Product Backlog Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 21.
    21  Self-organizing teamof size between 3 to 9  Normally developers who turn Product Backlog into increments of potentially shippable product based on “definition of done”  Less than 3 members  Decrease the interaction  Result in smaller productivity  May encounter skill issues  More than 9 members  Require too much co-ordination Team Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 22.
    22 Team  Cross-functional teamwith all the skills necessary to create the product increment as a team  No titles for the team members other than “Developer”  Each team member chips in and applies his/her expertise to all the problems Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 23.
    23 Scrum Master  Ensuresthat Scrum rules are understood  Ensures that Scrum rules are followed  Resolves impediments  Protects team from external interferences  Removes the barriers between development and Product Owner so that Product Owner derives the development  Empowers the development team  Improves engineering practices and tools so that each increment is potentially shippable  Keeps information on team’s progress up to date and ensures its visibility Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 24.
    24 Servant Leadership  Thiskind of leadership includes:  Creating environment of personal safety where team members may both innovate and come to friendly disagreements  Mentoring team members  Facilitating (not controlling) meetings  Guiding the team  Removing obstacles Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 25.
    25  Sprint  StoryWriting / User Stories  Sprint Planning Meeting  Daily Scrum / Stand-up  Sprint Review  Sprint Retrospective Scrum Events Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 26.
    Sprint • 1-4 weekslong (2 weeks preference) • Potentially shippable product • Most common misconception: – All sprints are iterations, but all iterations are not sprints • Ideal iteration ending date: – An iteration should not end on a Friday 26Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 27.
    User Stories • TraditionalRequirements • User Story • Epic and Theme 27Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 28.
    28 Traditional Requirements  Criteriato which the system or business should adhere  Generated before the coding begins  Often considered as constraints, conditions or capabilities of the system  Rarely contain acceptance criteria  Contract between business and development Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 29.
    29 User Story  Aproduct feature description written by Customer/Proxy from the perspective of the end user.  It helps team understand what work is to be done  Customer/Proxy prioritizes and team estimates them  It usually follows the format: ▪ As a : <Role> ▪ I want to : <Function> ▪ So that : <Desired Goal> Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 30.
    30 User Story (contd.) Shifts the focus from writing about requirements to talking about them  Not a highly detailed document, rather a reminder for further collaboration  Atomic in nature  Just-In-Time Tool  A User Story should be End to End Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 31.
    31 User Story (contd.) Follows the INVEST model: ▪ Independent ▪ Reduced dependencies, easy planning ▪ Negotiable ▪ Details are added via collaboration and not a contract ▪ Valuable ▪ Provides value to the customer ▪ Estimable ▪ Should not be big and vague/Team should be able to estimate ▪ Small ▪ Can be done in less than a week by the team ▪ Testable ▪ Has acceptance criteria Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 32.
    32 Epic and Theme Theme is a collection of related stories  Epic is a large story that can be further divided into multiple stories  For example, “A user can search for job” can be split into multiple stories: ▪ Search by Location, Salary Range, etc. ▪ View Job Detail ▪ View Company Profile Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 33.
    Acceptance Criteria • Finalcriteria to be satisfied in order to customer/product owner to accept the story • Customer specified scenarios • The product owner should list as many acceptance criteria as possible in order to clarify the intent of the story Majid Rafiq, PMI-ACP | Agile Training Workshop 33
  • 34.
    34  Definition ofDone  Common Issues Definition of Done Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 35.
    35 Definition of Done Done criteria  Functional Testing by development team  Single User Story can have multiple acceptance tests  Also used during regression testing  DOD may not be added when an issue/task/story is created Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 36.
    36 Common Issues  Startfrom requirements documents in narrative format  Too much information • Missing information • Team must understand the done criteria before committing to story • Acceptance Criteria is confused with Test Cases  Acceptance Criteria: “How will I know when I am done with the story?”  Test Case: “How do I test and what are the test steps?” Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 37.
    Activity # 1•Create Stories • Create DOD As a : <Role> I want to : <Function> So that : <Desired Goal>
  • 38.
    38 Planning  Sprint Goal Planning Meeting  Estimation Technique – Planning Poker Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 39.
    Sprint Goal  Ashort statement of what the work will be focused on during the sprint 39Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 40.
    40 planning meeting prioritization • Analyzeand evaluate product backlog • Select sprint goal planning • Decide how to achieve sprint goal (design) • Create sprint backlog (tasks) from product backlog items (user stories / features) • Estimate sprint backlog in hours Sprint goal Sprint backlog Business conditions Team capacity Product backlog Technology Current product Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 41.
    Estimation Technique -Planning Poker 41  The size assigned is based on a fixed pool of numbers  Based on Fibonacci numbers  0 1 1 2 3 5 8 13 21 34 55 98  Adjusted sequence is:  0 ½ 1 2 3 5 8 13 20 40 100 α  Pre-requisite:  A standard story must be taken with size pre-allocated Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 42.
    42 Rules  Feature isread to the team with explanation by Product owner  Item is discussed  Each member rates it and places his vote face down  All cards are turned over at same time  If estimates are different, outliers are discussed  Repeat until consensus is reached or group can “live with” a selected size  Use Kitchen time to limit discussions Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 43.
    5 finger rule 43 After round of discussion, if consensus is not reached at all, use this to move forward 1. I am against this 2. I object and want to discuss 3. I have concerns but can live with it 4. I support with some reservations 5. I totally support it  Note: 1 or 2 require discussion and re-vote Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 44.
    Activity # 2 •Lets estimate some stories! 5 finger Voting 1. I am against this 2. I object and want to discuss 3. I have concerns but can live with it 4. I support with some reservations 5. I totally support it
  • 45.
    Daily Scrum /Stand-up  A maximum of 15 minute meeting of team members  Helps synchronize effort  Status is shared  Dependencies are resolved  Commitments are made  Problems are identified but NOT resolved 45Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 46.
    Questions of DailyScrum / Stand-up  What has been done?  What will be done before next meeting?  What are any obstacles? 46Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 47.
    Punishments for non-attendees/latecomers 47 • Push-ups • Sit-ups • Hang a board the whole day “I came late” • Monitory fine • Whatever team decides Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 48.
    Scrum of Scrums(SOS) 48  For large project teams  One person per team attends  Frequency depends on need  Time of meeting depends on need  Pre-requisite:  All teams must be synchronized at a product or portfolio level  A backlog must be maintained  Must use a no name policy, instead use team name  Like daily scrum problem resolution should be done after the meeting Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 49.
    Agenda of SOS 49 What has your team done since last meeting?  What will your team do before next meeting?  Is there any impediment for you?  Will you be creating an impediment for others? Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 50.
    50  Team presentswhat it accomplished during the sprint  Typically takes the form of a demo of new features or underlying architecture  Informal  2-hour prep time rule  No slides  Whole team participates  Invite the world Review Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 51.
    51  Periodically takea look at what is and is not working • Preferable to assign responsibility at the end of retrospective • Typically 30 minutes to an hour • Done after every sprint • Team/customer can participate Retrospective Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 52.
  • 53.
    53  Product Backlog Sprint Backlog  Increment – not that one!  Scrum Artifacts Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 54.
    Product Backlog  Therequirements  A list of all desired work on the project  Ideally expressed such that each item has value to the users or customers of the product  Prioritized by the product owner  Reprioritized at the start of each sprint 54Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 55.
    55 Sprint Backlog  SprintBacklog is the identified list of items that the team will work on in the current sprint/iteration  Features in the Sprint Backlog will be exploded into User Stories  User Stories will be decomposed to individual tasks Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 56.
    Increment • A deliverableat the end of an iteration • Can be called: – Increment – Release – Build 56Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 57.
  • 58.
    58  Roles inXP  12 Practices of XP XP Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 59.
    Roles in XP •Customer: • Create and prioritizes stories. • Can change release date by adding/ removing stories. • Programmer: • Estimates stories, usually works in pairs, and writes codes and tests. • Coach: • Is preferred but optional. • Monitors processes and mentors and helps team. • Tracker: • Is preferred but optional. • Monitors progress. • A programmer can be a tracker in the same or in a different pair. 59Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 60.
    1. Planning Games 2.Small Releases 3. Metaphor 4. Simple Design 5. Test-driven development 6. Refactoring 7. Pair Programming 8. Collective Ownership 9. Continuous Integration 10. 40-Hours a Week 11. On-Site Customer 12. Coding Standards 60 12 Practices of XP Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 61.
    12 Practices ofXP (contd…) 1. Planning games: To elicit requirements + to estimate 2. Small Releases: Begin with smallest useful feature set 3. Metaphor/Product theme: Provides easy to remember naming conventions 4. Simple design: Just enough to get the job done 5. Test-driven development (TDD): Write test before adding feature. If test runs, the job is done 6. Refactoring: Rewrite code to improve internal design 61Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 62.
    12 Practices ofXP (contd…) 7. Pair programming: Work on same computer. “Driver” writes code and “observer” or “navigator” reviews each line 8. Collective code ownership: Anyone can change anywhere 9. Continuous integration: At least once per day 10.Forty hour work week: Overtime of more than a week is considered as a serious process failure 11.On site customer: Continuous access is available 12.Coding standard: Everyone follows them 62Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 63.
  • 64.
    Kanban Board 64 Feature to developTasks in queue Tasks in progress Tasks complete Feature complete Majid Rafiq, PMI-ACP | Agile Training Workshop
  • 65.
    65Majid Rafiq, PMI-ACP| Agile Training Workshop
  • 66.
    • Questions? Thank you! 66MajidRafiq, PMI-ACP | Agile Training Workshop
  • 67.
    67 References • www.mountaingoatsoftware.com • http://ketiljensen.files.wordpress.com/2009/10/kanban_board_1.png •http://en.wikipedia.org/wiki/Agile_software_development • https://sites.google.com/a/confiz.com/software- engineering/documents/books?pageUrlChanged=books Majid Rafiq, PMI-ACP | Agile Training Workshop