Agile Methods
Who Am I?
Ceri Tandoğan
GSU Computer Engineer, Software Developer
MBA, PMP, PMI-ACP
19 years professional life in
Internet Services
Financial Services
E-Commerce(+Mobile)
What is Project?
● Scope
● Resources
● Temporary (Deadline)
● Unique goal
Books
Books
● Agile estimating and Planning by Mike Cohn
● Agile Project Management: Creating Innovative Products by Jim Highsmith
● Agile Retrospectives: Makine Good Teams Great by Ester Derby and Diana Larsen
● Agile Software Development: The Cooperative Game by Alistair Cockburn
● Coaching Agile Teams: A companion for ScrumMasters, Agile Coaches and Project Managers in
Transition by Lyssa Adkins
● Effective Project Management: Traditional, Agle, Extreme by Robert K.Wysocki
● Exploring Scrum: The Fundamentals by Dan Rawsthorne with Doug Shimp
● Kanban in Action by Marcus Hammarberg and Joakim Sunden
● Kanban: Successful Evolutionary Change for Your Technology Business by David J. Anderson
● Lean Agile Software Development: Achieving Enterprise Agility by Alan Shalloway, Gut Beaver
and James R. Trott
● The Software Project Manager's Bridge to Agility by Michele Sliger and Stacia Braderick
● User Stories Applied: For Agile Software Development by Mike Cohn
Agile Manifesto
● 4 values
– Individuals and interactions over processes
and tools
– Working software over comprehensive
documentation
– Customer collaboration over contract
negotiation
– Responding to change over following a plan
●
Agile Manifesto
● 12 Principles
– Customer satisfaction through early and continuous software delivery
– Accommodate changing requirements throughout the development process
– Frequent delivery of working software
– Collaboration between the business stakeholders and developers throughout the project
– Support, trust, and motivate the people involved
– Enable face-to-face interactions
– Working software is the primary measure of progress
– Agile processes to support a consistent development pace
– Attention to technical detail and design enhances agility
– Simplicity
– Self-organizing teams encourage great architectures, requirements, and designs
– Regular reflections on how to become more effective
Agile Team Roles
● Product Owner(Customer, Value management
Team, Business Representative)
● ScrumMaster (Coach,Team Leader)
● Project Sponsor
● Development Team(Delivery Team)
– Generalizing Specialists
● T-Shaped : Generalized
● I-Shaped: One Tech Domain specialist
Agile Triangle
Agile Value Proposition
Being vs. Doing Agile
Burn Charts
Burn Charts
Co-Located/Distributed Teams
● Co-located teams
– Osmotic communication
– Tacit knowledge
● Distributed Teams
– First several iterations common team
– Distributed team
– Digital tools : Slack,JIRA, Appear, Hangouts
etc.
Cost of Change Curve
Cost of Change Curve
Daily Stand-Ups
● What have you worked on since the last meeting?
● What do you plan to finish today?
● Are there any problems or impediments to your
progress?
● Ground rules for daily stand-ups are mandatory.
Definition of Done
● User Stories
● Release
● Final Project Deliverables.
Face-to-Face Communication
Five Whys
● Finding root cause of problems
Frequent Verification/Validation
Ideal Time
● How long a task will take without any
interruptions.
Incremental Delivery
Information Radiators
● Large Charts, Graphs, Summaries
● Visual Controls
● Example :
– Story Maps
– Product Roadmap
– Velocity, Defect Metrics,CycleTime
– Retrospective findings
– List of Threats and issues
– Who is working on what
– Features selected for the current iteration
– Features delivered to date and features remaining to be delivered
Iteration Planning
● Customer → priorities
● Development Team → Amount of work
● Discuss user stories
● Select user stories
● Define acceptance tests
● Break into tasks
● Estimate tasks in ideal time and assign
Kaizen
● “Change for the better”
● Manufacturind process focused on making small
improvements → continuous improvement
● Lessons learned → Five Whys and Fishbone
analysis.
Kanban
● Development approach with lean approach that
uses visual control boards
● Pull systems based on limiting work in progress
– Visualize the workflow
– Limit the work in progress
– Manage flow
– Make process policies explicit
– Improve collaboratively
Lead Time/Cycle Time
● Lead Time : from requirements gathering to
release
● Cycle Time : from user user story development to
acceptance test.
● Cycle Time = WIP/Throughput
– Example : Throughput: 5 user stories per
week , WIP: 15 user stories → Cycle time 3
weeks
Lean Product Development
● 7 core concepts:
– Eliminate waste
– Empower the team
– Deliver fast
– Optimize the whole
– Build quality
– Defer decisions
– Amplify learning
Lean Product Development
● 7 wastes of Lean:
– Defect : Bugs
– Partially done work : Code waiting for test
– Extra processes: unused documentation
– Extra features:Gold plating
– Task switching: Team in multiple projects
– Waiting: prototype reviews
– Motion : Handoff, lack of communication
Minimal Viable Product
Participatory Decision Making
● Engaging stakeholders in decision-making
process.
– Divergence
– Convergence
– Share Collaboration
● Simple Voting, Thumbs Up/Down/Sideways, Fist
of Five Voting, Highsmiths's Decision Spectrum
Personas
● Key types of stakeholders
– Descripton of user
– Related with features
– Actionable
– Goal oriented, relevant
– Generate focus
Planning Poker
● Estimation methodology
● 1-2-3-5-8-13 (fibonacci series)
Prioritization Schemes
● Simple prioritizing
● Moscow
● 100 point Method
● Monopoly Money
● Dot Voting
● Kano Analysis
Problem Solving
● Involving the team in problem solving :
– There is a team consensus for the solution
– We access a broader knowledge base.
– Team solutions are practical
– We improve the team's motivation and
performance.
– We show the confidence in the team.
– We model desired behavior.
Process Tailoring
Progressive Elaboration
● Plan as we progress.
● Don't plan the very far iterations
● Includes
– Plans
– Estimates
– Risk assessments
– Requirement
– Architectural design
– Acceptance Criteria
– Test scenarios
– Processes
Release Planning
● Update prioritized backlog and risk responses
● High level estimates of user stories
– Calculate target story points
– Refine and Adapt High–Level Release Plan(Product Roadmap)
● A release goal
● Target date
● Slice the stories
Retrospectives
● What is going well?
● What areas could use improvement?
● What should we be doing differently?
Retrospectives
● Benefits are :
– Improved productivity
– Improved capability
– Improved quality
– Improved capacity
Retrospectives
● 5 steps:
– Set the stage ~ 6 min
– Gather the data ~ 40 min
– Generate Insights ~ 25 minutes
– Decide what to do ~20 min
– Close Retrospective ~ 20 min
Risk-Adjusted Backlog
● Prioritized list of threats and issues + Prioritized
list of features = Risk adjusted backlog
● Expected Monetary Value= Risk Impact x Risk
Probability
Risk Burndown Graphs
● Risk severity = Risk probability x Risk Impact
Scrum
● Principles :
– Transparency
– Inspection
– Adaptation
Scrum
Self-Directing/Self-Organizing Teams
● Team Norms (Tacit knowledge, osmotic
communication)
● Team Working Agreement (Ground rules)
Servant Leadership
● Shield the team from the interruption
● Remove impediments to progress
● Communicate and recommunicate the project
vision
● Carry “food and water”
Shu-Ha-Ri
● Shu : Obey the rules
● Ha: Consciously moving away from the rules
● Ri: Going beyond the rules to find our individual
paths
Spikes
● Architectural Spike
● Risk based Spike
Story Points/Relative Sizing
● Story Points
– All inclusive
– Team owns it
– Point sizes are consistent over the project
– Decomposing a user story estimate, total
don't need to match
– Story point estimates include the complexity,
work effort and risk of the work.
Task/Kanban Boards
Team Space
● Osmotic Communication
● Caves and Commons
● Tacit Knowledge
● Iteration timebox
– User stories size fulfills the period of the
current iteration
– Moscow is a friendly tool.
– Daily standup : 15 minutes
– Retrospective 2 hours
– Iteration ~1-2 weeks
Timeboxing
Training/Coaching/Mentoring
● Training: Subject Matter Expert
● Coaching:Pair programming, refactoring, TDD
sessions with seniors
● Mentoring: Experienced leader provide career
support, guidance and advice.
Training/Coaching/Mentoring
● Guidelines:
– Meet them a half step ahead.
– Guarantee safety.
– Partner with functional managers.
– Create positive regard.
Tuckman Model of Team Development
● Forming ← Directing
● Storming ← Coaching
● Norming ← Supporting
● Performing ← Delegating
● Adjourning
● Adaptive and Situational Leadership is the key
method for Team development
User Stories
● As <Role> I want <Functionality> so that <Business Benefit>
● Given the account is valid and the account has a balance of greater than 0
When the user redeems credit,
Then purchase the item and reduce the user's balance
● Component of User Story
– Card : Brief description
– Conversation: Comments, Exchange ideas, opinions and
information
– Confirmation: Customer's confirmation, validation, Definition of
Done criteria,
User Stories
● Characteristics: INVEST
– Independent
– Negotiable
– Valuable
– Estimable
– Small
– Testable
User Story Backlog
● Prioritize User Story List on every iteration
● Single list to manage and to make the work visible
● Coordinating the work
● Primary planning tool
● Balance between Risk Adjusted Backlog, change request, defects
– Tool: Grooming(Refining) the backlog including risk reviews
Value Stream Mapping
● Identifying waste, delays and constraints.
● Process cycle efficiency:Efficient time/Total Time
Velocity
Work In Progress/WIP Limits
● WIP consumes investment capital delivers no ROI
until it turns accepted
● WIP hides bottleneck, efficiency issues
● Potential reworks because changes to work items
until it is accepted
● Little's Law: reducing work in progress
increases team's productivity.
XP(Extreme Programming)
● Values:
– Communication
– Courage
– Feeback
– Respect
– Simplicity
● Team Roles: Coach, Customer, Programmer, Tester

Agile methods training

  • 1.
  • 2.
    Who Am I? CeriTandoğan GSU Computer Engineer, Software Developer MBA, PMP, PMI-ACP 19 years professional life in Internet Services Financial Services E-Commerce(+Mobile)
  • 3.
    What is Project? ●Scope ● Resources ● Temporary (Deadline) ● Unique goal
  • 4.
  • 5.
    Books ● Agile estimatingand Planning by Mike Cohn ● Agile Project Management: Creating Innovative Products by Jim Highsmith ● Agile Retrospectives: Makine Good Teams Great by Ester Derby and Diana Larsen ● Agile Software Development: The Cooperative Game by Alistair Cockburn ● Coaching Agile Teams: A companion for ScrumMasters, Agile Coaches and Project Managers in Transition by Lyssa Adkins ● Effective Project Management: Traditional, Agle, Extreme by Robert K.Wysocki ● Exploring Scrum: The Fundamentals by Dan Rawsthorne with Doug Shimp ● Kanban in Action by Marcus Hammarberg and Joakim Sunden ● Kanban: Successful Evolutionary Change for Your Technology Business by David J. Anderson ● Lean Agile Software Development: Achieving Enterprise Agility by Alan Shalloway, Gut Beaver and James R. Trott ● The Software Project Manager's Bridge to Agility by Michele Sliger and Stacia Braderick ● User Stories Applied: For Agile Software Development by Mike Cohn
  • 6.
    Agile Manifesto ● 4values – Individuals and interactions over processes and tools – Working software over comprehensive documentation – Customer collaboration over contract negotiation – Responding to change over following a plan ●
  • 7.
    Agile Manifesto ● 12Principles – Customer satisfaction through early and continuous software delivery – Accommodate changing requirements throughout the development process – Frequent delivery of working software – Collaboration between the business stakeholders and developers throughout the project – Support, trust, and motivate the people involved – Enable face-to-face interactions – Working software is the primary measure of progress – Agile processes to support a consistent development pace – Attention to technical detail and design enhances agility – Simplicity – Self-organizing teams encourage great architectures, requirements, and designs – Regular reflections on how to become more effective
  • 8.
    Agile Team Roles ●Product Owner(Customer, Value management Team, Business Representative) ● ScrumMaster (Coach,Team Leader) ● Project Sponsor ● Development Team(Delivery Team) – Generalizing Specialists ● T-Shaped : Generalized ● I-Shaped: One Tech Domain specialist
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
    Co-Located/Distributed Teams ● Co-locatedteams – Osmotic communication – Tacit knowledge ● Distributed Teams – First several iterations common team – Distributed team – Digital tools : Slack,JIRA, Appear, Hangouts etc.
  • 15.
  • 16.
  • 17.
    Daily Stand-Ups ● Whathave you worked on since the last meeting? ● What do you plan to finish today? ● Are there any problems or impediments to your progress? ● Ground rules for daily stand-ups are mandatory.
  • 18.
    Definition of Done ●User Stories ● Release ● Final Project Deliverables.
  • 19.
  • 20.
    Five Whys ● Findingroot cause of problems
  • 21.
  • 22.
    Ideal Time ● Howlong a task will take without any interruptions.
  • 23.
  • 24.
    Information Radiators ● LargeCharts, Graphs, Summaries ● Visual Controls ● Example : – Story Maps – Product Roadmap – Velocity, Defect Metrics,CycleTime – Retrospective findings – List of Threats and issues – Who is working on what – Features selected for the current iteration – Features delivered to date and features remaining to be delivered
  • 25.
    Iteration Planning ● Customer→ priorities ● Development Team → Amount of work ● Discuss user stories ● Select user stories ● Define acceptance tests ● Break into tasks ● Estimate tasks in ideal time and assign
  • 26.
    Kaizen ● “Change forthe better” ● Manufacturind process focused on making small improvements → continuous improvement ● Lessons learned → Five Whys and Fishbone analysis.
  • 27.
    Kanban ● Development approachwith lean approach that uses visual control boards ● Pull systems based on limiting work in progress – Visualize the workflow – Limit the work in progress – Manage flow – Make process policies explicit – Improve collaboratively
  • 28.
    Lead Time/Cycle Time ●Lead Time : from requirements gathering to release ● Cycle Time : from user user story development to acceptance test. ● Cycle Time = WIP/Throughput – Example : Throughput: 5 user stories per week , WIP: 15 user stories → Cycle time 3 weeks
  • 29.
    Lean Product Development ●7 core concepts: – Eliminate waste – Empower the team – Deliver fast – Optimize the whole – Build quality – Defer decisions – Amplify learning
  • 30.
    Lean Product Development ●7 wastes of Lean: – Defect : Bugs – Partially done work : Code waiting for test – Extra processes: unused documentation – Extra features:Gold plating – Task switching: Team in multiple projects – Waiting: prototype reviews – Motion : Handoff, lack of communication
  • 31.
  • 32.
    Participatory Decision Making ●Engaging stakeholders in decision-making process. – Divergence – Convergence – Share Collaboration ● Simple Voting, Thumbs Up/Down/Sideways, Fist of Five Voting, Highsmiths's Decision Spectrum
  • 33.
    Personas ● Key typesof stakeholders – Descripton of user – Related with features – Actionable – Goal oriented, relevant – Generate focus
  • 34.
    Planning Poker ● Estimationmethodology ● 1-2-3-5-8-13 (fibonacci series)
  • 35.
    Prioritization Schemes ● Simpleprioritizing ● Moscow ● 100 point Method ● Monopoly Money ● Dot Voting ● Kano Analysis
  • 36.
    Problem Solving ● Involvingthe team in problem solving : – There is a team consensus for the solution – We access a broader knowledge base. – Team solutions are practical – We improve the team's motivation and performance. – We show the confidence in the team. – We model desired behavior.
  • 37.
  • 38.
    Progressive Elaboration ● Planas we progress. ● Don't plan the very far iterations ● Includes – Plans – Estimates – Risk assessments – Requirement – Architectural design – Acceptance Criteria – Test scenarios – Processes
  • 39.
    Release Planning ● Updateprioritized backlog and risk responses ● High level estimates of user stories – Calculate target story points – Refine and Adapt High–Level Release Plan(Product Roadmap) ● A release goal ● Target date ● Slice the stories
  • 40.
    Retrospectives ● What isgoing well? ● What areas could use improvement? ● What should we be doing differently?
  • 41.
    Retrospectives ● Benefits are: – Improved productivity – Improved capability – Improved quality – Improved capacity
  • 42.
    Retrospectives ● 5 steps: –Set the stage ~ 6 min – Gather the data ~ 40 min – Generate Insights ~ 25 minutes – Decide what to do ~20 min – Close Retrospective ~ 20 min
  • 43.
    Risk-Adjusted Backlog ● Prioritizedlist of threats and issues + Prioritized list of features = Risk adjusted backlog ● Expected Monetary Value= Risk Impact x Risk Probability
  • 44.
    Risk Burndown Graphs ●Risk severity = Risk probability x Risk Impact
  • 45.
    Scrum ● Principles : –Transparency – Inspection – Adaptation
  • 46.
  • 47.
    Self-Directing/Self-Organizing Teams ● TeamNorms (Tacit knowledge, osmotic communication) ● Team Working Agreement (Ground rules)
  • 48.
    Servant Leadership ● Shieldthe team from the interruption ● Remove impediments to progress ● Communicate and recommunicate the project vision ● Carry “food and water”
  • 49.
    Shu-Ha-Ri ● Shu :Obey the rules ● Ha: Consciously moving away from the rules ● Ri: Going beyond the rules to find our individual paths
  • 50.
  • 51.
    Story Points/Relative Sizing ●Story Points – All inclusive – Team owns it – Point sizes are consistent over the project – Decomposing a user story estimate, total don't need to match – Story point estimates include the complexity, work effort and risk of the work.
  • 52.
  • 53.
    Team Space ● OsmoticCommunication ● Caves and Commons ● Tacit Knowledge
  • 54.
    ● Iteration timebox –User stories size fulfills the period of the current iteration – Moscow is a friendly tool. – Daily standup : 15 minutes – Retrospective 2 hours – Iteration ~1-2 weeks Timeboxing
  • 55.
    Training/Coaching/Mentoring ● Training: SubjectMatter Expert ● Coaching:Pair programming, refactoring, TDD sessions with seniors ● Mentoring: Experienced leader provide career support, guidance and advice.
  • 56.
    Training/Coaching/Mentoring ● Guidelines: – Meetthem a half step ahead. – Guarantee safety. – Partner with functional managers. – Create positive regard.
  • 57.
    Tuckman Model ofTeam Development ● Forming ← Directing ● Storming ← Coaching ● Norming ← Supporting ● Performing ← Delegating ● Adjourning ● Adaptive and Situational Leadership is the key method for Team development
  • 58.
    User Stories ● As<Role> I want <Functionality> so that <Business Benefit> ● Given the account is valid and the account has a balance of greater than 0 When the user redeems credit, Then purchase the item and reduce the user's balance ● Component of User Story – Card : Brief description – Conversation: Comments, Exchange ideas, opinions and information – Confirmation: Customer's confirmation, validation, Definition of Done criteria,
  • 59.
    User Stories ● Characteristics:INVEST – Independent – Negotiable – Valuable – Estimable – Small – Testable
  • 60.
    User Story Backlog ●Prioritize User Story List on every iteration ● Single list to manage and to make the work visible ● Coordinating the work ● Primary planning tool ● Balance between Risk Adjusted Backlog, change request, defects – Tool: Grooming(Refining) the backlog including risk reviews
  • 61.
    Value Stream Mapping ●Identifying waste, delays and constraints. ● Process cycle efficiency:Efficient time/Total Time
  • 62.
  • 63.
    Work In Progress/WIPLimits ● WIP consumes investment capital delivers no ROI until it turns accepted ● WIP hides bottleneck, efficiency issues ● Potential reworks because changes to work items until it is accepted ● Little's Law: reducing work in progress increases team's productivity.
  • 64.
    XP(Extreme Programming) ● Values: –Communication – Courage – Feeback – Respect – Simplicity ● Team Roles: Coach, Customer, Programmer, Tester