SlideShare a Scribd company logo
Jens Wilke, LangFox, www.langfox.com 
1 
Agile Scrum Training, Day 2 
Jens Wilke, LangFox, www.langfox.com 9 Dec 2014 
Scrum: Team(s) working as a unit 
Image: Harald Selke, Creative Commons
•Recapping some of the day 1 items (Scrum overview) 
•Other real world issues 
•Practicalities creating a product backlog 
•Kanban 
•Materials 
•Hands-on workshop -> Session desired 
•Q&A 
Agile Training - Day 2 agenda 
Jens Wilke, LangFox, www.langfox.com
Selected issues from session 1 revisited 
Jens Wilke, LangFox, www.langfox.com
PO prioritizes the bugs too 
–Can delegate this, e.g. part of sprint is ok for bug fixing. 
–In practice, this is part of backlog grooming 
Bugs are part of product backlog 
–This is considered as a clear way, as there is only 1 prioritized list 
–On the other hand, in case of many bugs, the stories (non-bug) can get unclear (unless you can filter them out) 
Alternative: Bugs and product backlog are separate prioritized lists 
–2 lists: Product Backlog and Defect Management systems 
–Especially, if there is a separate Defect Management system 
–Bugs are pulled to the (single) Sprint Backlog from both lists according to PO guidance 
Sprint backlog and bugs 
Jens Wilke, LangFox, www.langfox.com
If the team has also maintenance responsibilities, there are often some critical issues, that require fast resolution 
–Aborting Sprint and re-planning is impractical 
–Consider reserving a share of capacity for bug fixing 
–You can make task for this, e.g. 10% of sprint reserved for critical bug fixes 
–Create tasks for the bugs that are fixed. You can mark them differently for clarity 
–Product Owner must be aligned with the procedure 
–Review fixed bugs in sprint review 
–If bug is really small, just fix it 
Adding bugs during to an ongoing sprint backlog 
Jens Wilke, LangFox, www.langfox.com
Technical debt refers to the consequences of poor system design 
•For example, business can cause the release of imperfect code 
On short term, technical debt can be tempting 
On the long term, mounting technical debt causes large costs 
•More defects, slower velocity, higher cost of maintenance, developer repulsion, … 
Backlogs should have tasks for managing the technical debt (refactoring code) 
•Backlogs can have everything that needs to be done for the software to be complete 
•Often separated from stories as “Tasks” 
Sprint backlog and Technical Debt 
Refactoring code 
Jens Wilke, LangFox, www.langfox.com
There is evidence that doing TDD takes about 15% longer than not doing TDD. 
But there is also evidence that TDD leads to fewer defects. Two studies at Microsoft found that the number of bugs found went down by 2 4% and 3 8% with the use of TDD. 
TDD may take longer initially, but the time will come back to the team in the form of reduced bug fixing and maintenance time. 
An anecdote on technical debt and test driven development 
Jens Wilke, LangFox, www.langfox.com
Continuous integration and automated tests help managing technical debt 
Splits big integration issues to normal daily business 
•Builds can be done multiple a day 
If build process is long, initial smoke tests can be used 
Facilitates team work 
•More here: http://www.martinfowler.com/articles/originalContinuousIntegration.html 
Continuous integration also reduces technical debt 
Jens Wilke, LangFox, www.langfox.com 
a 
b
Sometimes cumulating technical debt is ok 
Jens Wilke, LangFox, www.langfox.com
What happens if the team finishes the sprint early 
•You can take new tasks from top of the sprint backlog, but you should be able finish these by the end of the sprint 
•Fix bugs 
•Reduce technical debt 
Finishing sprint early 
Jens Wilke, LangFox, www.langfox.com 
Image: shortCHINESEguy, Creative Commons
For stories and tasks to be completed, they should be preferably tested and verified. This can be problematic, especially if many items are finished at the end of the sprint 
Means to avoid congestion at the end of sprint 
–Continuous acceptance (and possible continuous live deployment) 
–Small stories/tasks, so that you can submit to QA early 
–Build/deployment automation running automated tests 
–Developers should also test as far as possible 
–Limit work in progress (WIP), as stories will then hit QA earlier as a continuous stream 
As a side note, testers should be at sprint planning, as acceptance criteria is defined and testing can contribute 
Testing features done during the sprint 
Jens Wilke, LangFox, www.langfox.com
Revisiting a release 
Jens Wilke, LangFox, www.langfox.com 
At the end of the sprint, there should be a working increment of software 
–This could be a release candidate, that goes to end user testing 
–Release candidate can have bugs, that are found in end user testing (Staging), as the sprint has finished 
Make bug task 
–Allocate bug to a sprint 
–Can go to a current sprint, if you have this kind of practice 
–Fix only the bug, test and make a new release 
–Submit again to end user testing (Staging)
Team can work in Agile mode, but often organizations still follow waterfall. 
•Stage gates can require certain items 
•Provide minimum documentation feasible to pass the gate 
•For example, contractual reasons can mandate a release date 
•Consider splitting content to 
•Mandatory functionality (MVP – Minimum Viable Product) 
•There should be enough confidence to reach this on time 
•Planned content 
•In case of issues, drop the planned content 
•Your realistic plan should aim for completing the planned content 
Mixing scrum and waterfall 
Jens Wilke, LangFox, www.langfox.com 
Image: Chris Golightly, Creative Commons
Communication is more challenging 
–More support materials are needed for verifying common goals 
–Over communicating is better than under communicating 
–Has significant overhead compared to co-location 
–Can succeed, but is more tricky aligning the teams 
Non co-located teams 
Jens Wilke, LangFox, www.langfox.com
Making Product Backlog in practice 
Jens Wilke, LangFox, www.langfox.com 
Image: ilker ender, Creative Commons
Backlogs can be comprised of very different types of items 
•Features 
•Bugs (often a separate defect management system) 
•Technical work 
•Knowledge acquisition 
In theory, you should document all stories and tasks, that are needed to be completed 
Product backlog content 
Jens Wilke, LangFox, www.langfox.com 
Image: Andy McLemore, Creative Commons
As a [role], I want to [do something] so that [reason/benefit] 
–This is the brief description 
–Template originally developed at Connextra. 
Discussing the story during backlog grooming 
–Fleshing out the details with the team 
–Potentially making additional materials, e.g. 
Acceptance criteria 
–So that we know when the story is complete 
–Testing should be also around and discussing this 
Good user stories 
Jens Wilke, LangFox, www.langfox.com
Feature: Shovel Snow 
–As a Home Owner 
–I want to Shovel Snow 
–So that I can get out of my driveway to get to work 
Problem with the above it describes the solution in too much detail. Less is better. Team can look for the best possible solution 
Feature: Accessible Driveway 
–As a Home Owner 
–I want my driveway to be cleared of snow 
–So that I can drive in and out of my driveway to get to work 
Describe the problem, not the solution 
Jens Wilke, LangFox, www.langfox.com
1.Focus on the user 
2.Use stories to facilitate a conversation 
3.Story writing is teamwork 
4.Keep your stories simple and concise 
5.Progressively decompose 
6.Don’t forget the acceptance criteria 
7.Consider grouping user stories into themes 
8.Use paper cards 
9.Keep your stories visible . 
10.Some things aren’t stories 
Backup: Roman Pichler’s 10 tips for user stories 
Jens Wilke, LangFox, www.langfox.com
Independent 
We want to be able to develop in any sequence. 
Negotiable 
Avoid too much detail; keep them flexible so the team can adjust how much of the story to implement. 
Valuable 
Users or customers get some value from the story. 
Estimatable 
The team must be able to use them for planning. 
Small 
Large stories are harder to estimate and plan. By the time of iteration planning, the story should be able to be designed, coded, and tested within the iteration. 
Testable 
Document acceptance criteria, or the definition of done for the story, which lead to test cases. 
Backup: Bill Wake's INVEST for user stories 
Jens Wilke, LangFox, www.langfox.com
Product Backlog, a simple example 
Jens Wilke, LangFox, www.langfox.com
•Minimum Viable Product (MVP) - ASAP 
•Order that makes sense for optimal execution 
–You can’t build roof first 
•Customer value, e.g. ROI 
–End user value / Cost of execution (generally using rough estimates, and needs to be done on high enough level) 
•Releasing stories together that make a meaningful theme 
•Risky items 
–Difficult and complex items should be addressed early 
Prioritization of Product Backlog is multi- objective optimization 
Jens Wilke, LangFox, www.langfox.com
•Product focus is on users/customers 
•Product Owner should be actively discussing with users or their representatives, e.g. sales 
•Typically different people have differing opinions, and you can’t please all 
–One way is to gather feedback from users and document this, and use it as guidance 
–There are many scoring schemes 
•Releases need to be meaningful, so Product Owner can’t rely only on user feedback, but use her own judgment 
•Users/customers should be able to access the product backlog 
–… or a release plan, if that is available and easier to understand 
Jens Wilke, LangFox, www.langfox.com 
Prioritization of stories with customers
Usually some users are more insightful than the others users 
Identifying and using these lead users, you can reduce somewhat the communication on the stories and priorities, and better understand the future evolution 
Lead users 
Jens Wilke, LangFox, www.langfox.com
A Minimum Viable Product has just those features that allow the product to be deployed, and no more. 
–In practice this is the product, that you can consider shipping 
You can make releases to select users, e.g. lead users, already prior to the MVP 
–Release early and release often 
MVP 
Jens Wilke, LangFox, www.langfox.com
Defines the longer term evolution and release plan in a simplified form for stakeholders 
–Can have impact on planning the architecture 
Release plan or roadmap 
Jens Wilke, LangFox, www.langfox.com
Kanban 
The name 'Kanban' originates from Japanese, and translates roughly as "signal card" 
Jens Wilke, LangFox, www.langfox.com
•Scrum 
•Kanban 
•Methodologies can be characterized according to how prescriptive they are 
•The methodology matters more than the tools used to implement it 
About Agile SW Methodologies = Tools 
Jens Wilke, LangFox, www.langfox.com
Kanban (method) = An approach to incremental, evolutionary process improvement for organizations = Change management tool = Managing flow 
Scrum = an iterative and incremental agile software development framework for managing software projects and product or application development = Managing iterations 
Underlying difference between Kanban and Scrum 
Jens Wilke, LangFox, www.langfox.com
Kanban is a tool, that is not specifically a software development tool, but can be used for it. 
Kanban is a change management tool 
Jens Wilke, LangFox, www.langfox.com
As Kanban is less descriptive, teams using Kanban actually need more discipline 
With little rules, it’s easy to avoid them, e.g. setting high WIP limit 
–With high WIP limit, it’s in theory Kanban, but Kanban principle is rendered pointless 
Kanban requires discipline 
Jens Wilke, LangFox, www.langfox.com 
Image: Gabriela Pinto, Creative Commons 
Image: Ray Morris, Creative Commons
1.Limit Work In Progress 
2.Visualize the workflow 
3.Manage flow 
4.Make policies explicit 
5.Implement feedback loops 
6.Improve collaboratively, evolve experimentally (using models and the scientific method) 
These can be typically complemented with further elements 
–This also applies to Scrum 
–You can extend Kanban towards Scrum 
Kanban is simple and has only 6 key principles 
Jens Wilke, LangFox, www.langfox.com
How many items can be in each phase at a time, e.g. in ”To Do” or ”In Progress” 
Idea is to limit items per phase, so that they will efficiently flow through 
–Analogy to traffic:. Flow with high speed sparsely rather than progress in a slow traffic jam 
When a WIP limit for a certain task has been reached, the team stops and works together to clear the bottleneck. The goal of working in this manner is meant to ensure that the entire team takes ownership of the project and produces high quality code. 
Limit Work In Progress (WIP) 
Jens Wilke, LangFox, www.langfox.com
Hitting WIP (Work in progress) limit causes pain, as it blocks others tasks 
In effect, this should encourage the immediate resolution of the issue 
Resolution will then restore the effective flow of tasks 
In effect: Smooth flow with some quickly resolved issues is better than having more issues per stage slowing each other down (with less pain and efficiency) 
Hitting WIP limit causes pain, thus encouraging quick resolution 
Jens Wilke, LangFox, www.langfox.com
Only small number of items should be in a single stage for more even flow. 
•Good for testing 
•Clear and reduces the number of unfinished items 
Work in progress limit for Scrum 
Jens Wilke, LangFox, www.langfox.com
Visualizing your work flow using a Kanban board shows which stage of development each feature is in. This is very helpful in seeing what the total backlog is and what work has been completed. 
The stages can be freely defined 
Looking a the Kanban board, immediately see where a team is 
Visualize the workflow 
Jens Wilke, LangFox, www.langfox.com
A specific Kanban board physically limiting the flow 
Many SW tools support limiting work items too 
Visualize the workflow 
Jens Wilke, LangFox, www.langfox.com
For example, only start new work when an existing work is complete 
–Keep the traffic density in check, as with work in progress (WIP) limits 
–Not many unfinished tasks cluttering the flow and impeding work of others 
Getting a constant and predictable stream of work through, whilst improving efficiency and quality. Rather than viewing work as a series of projects, view our work as a constant stream of work of varying kinds. 
Manage flow 
Jens Wilke, LangFox, www.langfox.com 
Image: Ray Morris, Creative Commons
Until the mechanism of a process is made explicit it is often hard or impossible to hold a discussion about improving it. 
–Organization identifies opportunities to improve the system, 
–Evolutionary, collaborative change 
Allows to capture and preserve organizational learning by building it into the system that is used to manage the work 
Make policies explicit 
Jens Wilke, LangFox, www.langfox.com
•Improve beyond local teams through operations reviews 
•Collaboration to review flow of work 
•Organizations that have not implemented the second level of feedback - the operations review - have generally not seen process improvements beyond a localized team level 
Implement feedback loops 
Jens Wilke, LangFox, www.langfox.com
The Kanban method encourages small continuous, incremental and evolutionary changes that stick. 
When teams have a shared understanding, they are more likely to be able to build a shared comprehension of a problem and suggest improvement actions which can be agreed by consensus. 
Measure improvement 
Improve collaboratively, evolve experimentally 
Jens Wilke, LangFox, www.langfox.com
Kanban Board, with WIP limits 
Jens Wilke, LangFox, www.langfox.com
The little difference between Scrum and Kanban boards 
Jens Wilke, LangFox, www.langfox.com
Scrum board is reset between each iteration 
Jens Wilke, LangFox, www.langfox.com
More on this 
–http://zsoltfabok.com/blog/2010/09/never-move-items-back/ 
Don‘t move items back on Kanban board 
Jens Wilke, LangFox, www.langfox.com
If you want, you can add more rules, e.g. a product owner for prioritizing the items 
Kanban + more rules … leads us towards scrum 
Jens Wilke, LangFox, www.langfox.com
Scrum has built in feedback loops 
Scrum has clear roles 
Kanban is directed primarily to change management 
Scrum has more extensive product backlog 
Scrum is more structured 
Kanban has more freedom 
Scrum backlog items must fit in a sprint 
… 
See Scrum vs. Kanban PDF 
–http://www.slideshare.net/RossC0/kanban-vs-scrum 
Scrum vs. Kanban, selected differences … you can also see scrum as extension of Kanban 
Jens Wilke, LangFox, www.langfox.com
Scrum vs. Kanban, more detailed differences 
Jens Wilke, LangFox, www.langfox.com
For example Scrum-Ban 
–http://leansoftwareengineering.com/ksse/scrum-ban/ 
You can also see scrum as extension of Kanban 
What ever works is fine 
–Agile is a toolset, not a religion 
–Remember the agile manifesto 
Mixing methodoligies is ok 
Jens Wilke, LangFox, www.langfox.com
Visualizing the workflow 
Limiting work in progress (and managing flow) for getting testing done on time for the end of sprint 
Late binding of work 
Leave out estimation, and use a task limit for sprint 
… 
Kanban ideas worth considering to use in Scrum 
Jens Wilke, LangFox, www.langfox.com
Having roles, e.g. product owner 
–Product owner can prioritize continuously 
Timeboxed iterations 
Estimating velocity, if you need to estimate a product completion date 
… 
Scrum ideas worth considering to use in Kanban 
Jens Wilke, LangFox, www.langfox.com
General software development -> Scrum 
–You can generally plan pretty well ahead 
Bug management or maintenance mode -> Kanban 
–It’s hard to plan out the bugs 
–Kanban can be also great for research, as the next steps depend on the previous and are not foreseeable 
You can extend the other with the other 
When to use Scrum or Kanban 
Jens Wilke, LangFox, www.langfox.com
Recommended materials 
–Scrum Guide – a brief overview 
–Scrum vs. Kanban 
–For the CSP – Certified Scrum Professional 
1.Succeeding with Agile: Software Development Using Scrum 
2.Agile Estimating and Planning 
3.Agile Software Development with Scrum 
For more info 
Jens Wilke, LangFox, www.langfox.com
Jens Wilke, LangFox, www.langfox.com 
Q&A

More Related Content

PDF
Foundations of scaling agile with SAFe
PDF
Agile Scrum Training, Day 1 (1/2)
PPTX
Kanban/Scrumban - taking scrum outside its comfort zone
PPTX
Scrum training
PPTX
Understanding Scrum in 30 Minutes
PPTX
Agile scrum roles
PDF
Agile Process Introduction
PPTX
Foundations of scaling agile with SAFe
Agile Scrum Training, Day 1 (1/2)
Kanban/Scrumban - taking scrum outside its comfort zone
Scrum training
Understanding Scrum in 30 Minutes
Agile scrum roles
Agile Process Introduction

What's hot (20)

PPTX
Scrum and JIRA
PPTX
Agile Overview
PDF
Scrum - Agile Methodology
PPTX
Worst Splunk practices...and how to fix them
PPTX
Scrum in 5 slides
PPTX
SCRUM – Agile Methodology
PPT
Waterfall vs agile approach scrum framework and best practices in software d...
PDF
Agile Scrum Training Process
PDF
Agile-Scrum Methodology-An Introduction
PPTX
Scrum ceromonies
PPT
What is scrum in Agile methodology?
PDF
Agile retrospectives
PPTX
Scrum for Beginners
PPT
Introduction To Scrum
PDF
User Story Mapping
PPTX
Agile Project and Portfolio Management Using Jira - AgileSolutions
PPTX
Scrum Training (One Day)
PPT
Agile Scrum software methodology
PPTX
Jira Training
ODP
Scrum Process
Scrum and JIRA
Agile Overview
Scrum - Agile Methodology
Worst Splunk practices...and how to fix them
Scrum in 5 slides
SCRUM – Agile Methodology
Waterfall vs agile approach scrum framework and best practices in software d...
Agile Scrum Training Process
Agile-Scrum Methodology-An Introduction
Scrum ceromonies
What is scrum in Agile methodology?
Agile retrospectives
Scrum for Beginners
Introduction To Scrum
User Story Mapping
Agile Project and Portfolio Management Using Jira - AgileSolutions
Scrum Training (One Day)
Agile Scrum software methodology
Jira Training
Scrum Process
Ad

Viewers also liked (15)

PDF
Scrum 101: Introduction to Scrum
PDF
Creating A Product Backlog
PPSX
Why The Lean Startup Changes Everything
PPTX
How to Create a New PST file from Old Emails?
DOCX
Laporan eksekutif
PPTX
Sync Google Calendar with Outlook 2010 !!
PPT
Software testing day1
PPT
DOCX
Laporan eksekutif 2
PDF
Kertas kerja amsa malaysia jppel updated
PPTX
Common Problems with Outlook 2010
PPTX
What is journals
PPT
Method to Print Multiple Notes on a single page
PPTX
How to Change Time Format in Outlook ?
PPTX
How to add RSS Feed in MS Outlook?
Scrum 101: Introduction to Scrum
Creating A Product Backlog
Why The Lean Startup Changes Everything
How to Create a New PST file from Old Emails?
Laporan eksekutif
Sync Google Calendar with Outlook 2010 !!
Software testing day1
Laporan eksekutif 2
Kertas kerja amsa malaysia jppel updated
Common Problems with Outlook 2010
What is journals
Method to Print Multiple Notes on a single page
How to Change Time Format in Outlook ?
How to add RSS Feed in MS Outlook?
Ad

Similar to Agile Scrum Training (+ Kanban), Day 2 (2/2) (20)

PDF
Building a custom cms with django
PPTX
Product backlog
PDF
High performance teams - A quick guide
PPTX
Agile backlog management with Hansoft
PPTX
Software testing
PPT
Mobile media module part 6 - app development rev-mf
PPTX
Agile Content Development and the IXIASOFT DITA CMS
PDF
Usable Software Design
PPTX
Technical stories v1.2
PPTX
Agile
PPTX
Understanding Agile Development with Scrum
PPTX
Agile Development Method
PPTX
Cloud Academy Webinar: Recipe for DevOps Success: Capital One Style
PPTX
Profiling and Tuning a Web Application - The Dirty Details
PPTX
Lecture3.se.pptx
PDF
An In-Depth Look at Pinpointing and Addressing Sources of Performance Problem...
PDF
Software Defects and SW Reliability Assessment
PDF
LeanJS - Lean startup with JavaScript
PPTX
2013 06 04_5806_case_manager_implementation__
Building a custom cms with django
Product backlog
High performance teams - A quick guide
Agile backlog management with Hansoft
Software testing
Mobile media module part 6 - app development rev-mf
Agile Content Development and the IXIASOFT DITA CMS
Usable Software Design
Technical stories v1.2
Agile
Understanding Agile Development with Scrum
Agile Development Method
Cloud Academy Webinar: Recipe for DevOps Success: Capital One Style
Profiling and Tuning a Web Application - The Dirty Details
Lecture3.se.pptx
An In-Depth Look at Pinpointing and Addressing Sources of Performance Problem...
Software Defects and SW Reliability Assessment
LeanJS - Lean startup with JavaScript
2013 06 04_5806_case_manager_implementation__

Recently uploaded (20)

PPTX
Patient Appointment Booking in Odoo with online payment
PDF
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
PDF
Digital Systems & Binary Numbers (comprehensive )
PDF
Designing Intelligence for the Shop Floor.pdf
PDF
Autodesk AutoCAD Crack Free Download 2025
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PPTX
chapter 5 systemdesign2008.pptx for cimputer science students
PDF
Ableton Live Suite for MacOS Crack Full Download (Latest 2025)
PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
DOCX
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
PDF
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
PDF
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
PPTX
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
PDF
Cost to Outsource Software Development in 2025
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PDF
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
PDF
Salesforce Agentforce AI Implementation.pdf
PDF
MCP Security Tutorial - Beginner to Advanced
PPTX
assetexplorer- product-overview - presentation
Patient Appointment Booking in Odoo with online payment
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
Digital Systems & Binary Numbers (comprehensive )
Designing Intelligence for the Shop Floor.pdf
Autodesk AutoCAD Crack Free Download 2025
Advanced SystemCare Ultimate Crack + Portable (2025)
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
chapter 5 systemdesign2008.pptx for cimputer science students
Ableton Live Suite for MacOS Crack Full Download (Latest 2025)
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
Cost to Outsource Software Development in 2025
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
Salesforce Agentforce AI Implementation.pdf
MCP Security Tutorial - Beginner to Advanced
assetexplorer- product-overview - presentation

Agile Scrum Training (+ Kanban), Day 2 (2/2)

  • 1. Jens Wilke, LangFox, www.langfox.com 1 Agile Scrum Training, Day 2 Jens Wilke, LangFox, www.langfox.com 9 Dec 2014 Scrum: Team(s) working as a unit Image: Harald Selke, Creative Commons
  • 2. •Recapping some of the day 1 items (Scrum overview) •Other real world issues •Practicalities creating a product backlog •Kanban •Materials •Hands-on workshop -> Session desired •Q&A Agile Training - Day 2 agenda Jens Wilke, LangFox, www.langfox.com
  • 3. Selected issues from session 1 revisited Jens Wilke, LangFox, www.langfox.com
  • 4. PO prioritizes the bugs too –Can delegate this, e.g. part of sprint is ok for bug fixing. –In practice, this is part of backlog grooming Bugs are part of product backlog –This is considered as a clear way, as there is only 1 prioritized list –On the other hand, in case of many bugs, the stories (non-bug) can get unclear (unless you can filter them out) Alternative: Bugs and product backlog are separate prioritized lists –2 lists: Product Backlog and Defect Management systems –Especially, if there is a separate Defect Management system –Bugs are pulled to the (single) Sprint Backlog from both lists according to PO guidance Sprint backlog and bugs Jens Wilke, LangFox, www.langfox.com
  • 5. If the team has also maintenance responsibilities, there are often some critical issues, that require fast resolution –Aborting Sprint and re-planning is impractical –Consider reserving a share of capacity for bug fixing –You can make task for this, e.g. 10% of sprint reserved for critical bug fixes –Create tasks for the bugs that are fixed. You can mark them differently for clarity –Product Owner must be aligned with the procedure –Review fixed bugs in sprint review –If bug is really small, just fix it Adding bugs during to an ongoing sprint backlog Jens Wilke, LangFox, www.langfox.com
  • 6. Technical debt refers to the consequences of poor system design •For example, business can cause the release of imperfect code On short term, technical debt can be tempting On the long term, mounting technical debt causes large costs •More defects, slower velocity, higher cost of maintenance, developer repulsion, … Backlogs should have tasks for managing the technical debt (refactoring code) •Backlogs can have everything that needs to be done for the software to be complete •Often separated from stories as “Tasks” Sprint backlog and Technical Debt Refactoring code Jens Wilke, LangFox, www.langfox.com
  • 7. There is evidence that doing TDD takes about 15% longer than not doing TDD. But there is also evidence that TDD leads to fewer defects. Two studies at Microsoft found that the number of bugs found went down by 2 4% and 3 8% with the use of TDD. TDD may take longer initially, but the time will come back to the team in the form of reduced bug fixing and maintenance time. An anecdote on technical debt and test driven development Jens Wilke, LangFox, www.langfox.com
  • 8. Continuous integration and automated tests help managing technical debt Splits big integration issues to normal daily business •Builds can be done multiple a day If build process is long, initial smoke tests can be used Facilitates team work •More here: http://www.martinfowler.com/articles/originalContinuousIntegration.html Continuous integration also reduces technical debt Jens Wilke, LangFox, www.langfox.com a b
  • 9. Sometimes cumulating technical debt is ok Jens Wilke, LangFox, www.langfox.com
  • 10. What happens if the team finishes the sprint early •You can take new tasks from top of the sprint backlog, but you should be able finish these by the end of the sprint •Fix bugs •Reduce technical debt Finishing sprint early Jens Wilke, LangFox, www.langfox.com Image: shortCHINESEguy, Creative Commons
  • 11. For stories and tasks to be completed, they should be preferably tested and verified. This can be problematic, especially if many items are finished at the end of the sprint Means to avoid congestion at the end of sprint –Continuous acceptance (and possible continuous live deployment) –Small stories/tasks, so that you can submit to QA early –Build/deployment automation running automated tests –Developers should also test as far as possible –Limit work in progress (WIP), as stories will then hit QA earlier as a continuous stream As a side note, testers should be at sprint planning, as acceptance criteria is defined and testing can contribute Testing features done during the sprint Jens Wilke, LangFox, www.langfox.com
  • 12. Revisiting a release Jens Wilke, LangFox, www.langfox.com At the end of the sprint, there should be a working increment of software –This could be a release candidate, that goes to end user testing –Release candidate can have bugs, that are found in end user testing (Staging), as the sprint has finished Make bug task –Allocate bug to a sprint –Can go to a current sprint, if you have this kind of practice –Fix only the bug, test and make a new release –Submit again to end user testing (Staging)
  • 13. Team can work in Agile mode, but often organizations still follow waterfall. •Stage gates can require certain items •Provide minimum documentation feasible to pass the gate •For example, contractual reasons can mandate a release date •Consider splitting content to •Mandatory functionality (MVP – Minimum Viable Product) •There should be enough confidence to reach this on time •Planned content •In case of issues, drop the planned content •Your realistic plan should aim for completing the planned content Mixing scrum and waterfall Jens Wilke, LangFox, www.langfox.com Image: Chris Golightly, Creative Commons
  • 14. Communication is more challenging –More support materials are needed for verifying common goals –Over communicating is better than under communicating –Has significant overhead compared to co-location –Can succeed, but is more tricky aligning the teams Non co-located teams Jens Wilke, LangFox, www.langfox.com
  • 15. Making Product Backlog in practice Jens Wilke, LangFox, www.langfox.com Image: ilker ender, Creative Commons
  • 16. Backlogs can be comprised of very different types of items •Features •Bugs (often a separate defect management system) •Technical work •Knowledge acquisition In theory, you should document all stories and tasks, that are needed to be completed Product backlog content Jens Wilke, LangFox, www.langfox.com Image: Andy McLemore, Creative Commons
  • 17. As a [role], I want to [do something] so that [reason/benefit] –This is the brief description –Template originally developed at Connextra. Discussing the story during backlog grooming –Fleshing out the details with the team –Potentially making additional materials, e.g. Acceptance criteria –So that we know when the story is complete –Testing should be also around and discussing this Good user stories Jens Wilke, LangFox, www.langfox.com
  • 18. Feature: Shovel Snow –As a Home Owner –I want to Shovel Snow –So that I can get out of my driveway to get to work Problem with the above it describes the solution in too much detail. Less is better. Team can look for the best possible solution Feature: Accessible Driveway –As a Home Owner –I want my driveway to be cleared of snow –So that I can drive in and out of my driveway to get to work Describe the problem, not the solution Jens Wilke, LangFox, www.langfox.com
  • 19. 1.Focus on the user 2.Use stories to facilitate a conversation 3.Story writing is teamwork 4.Keep your stories simple and concise 5.Progressively decompose 6.Don’t forget the acceptance criteria 7.Consider grouping user stories into themes 8.Use paper cards 9.Keep your stories visible . 10.Some things aren’t stories Backup: Roman Pichler’s 10 tips for user stories Jens Wilke, LangFox, www.langfox.com
  • 20. Independent We want to be able to develop in any sequence. Negotiable Avoid too much detail; keep them flexible so the team can adjust how much of the story to implement. Valuable Users or customers get some value from the story. Estimatable The team must be able to use them for planning. Small Large stories are harder to estimate and plan. By the time of iteration planning, the story should be able to be designed, coded, and tested within the iteration. Testable Document acceptance criteria, or the definition of done for the story, which lead to test cases. Backup: Bill Wake's INVEST for user stories Jens Wilke, LangFox, www.langfox.com
  • 21. Product Backlog, a simple example Jens Wilke, LangFox, www.langfox.com
  • 22. •Minimum Viable Product (MVP) - ASAP •Order that makes sense for optimal execution –You can’t build roof first •Customer value, e.g. ROI –End user value / Cost of execution (generally using rough estimates, and needs to be done on high enough level) •Releasing stories together that make a meaningful theme •Risky items –Difficult and complex items should be addressed early Prioritization of Product Backlog is multi- objective optimization Jens Wilke, LangFox, www.langfox.com
  • 23. •Product focus is on users/customers •Product Owner should be actively discussing with users or their representatives, e.g. sales •Typically different people have differing opinions, and you can’t please all –One way is to gather feedback from users and document this, and use it as guidance –There are many scoring schemes •Releases need to be meaningful, so Product Owner can’t rely only on user feedback, but use her own judgment •Users/customers should be able to access the product backlog –… or a release plan, if that is available and easier to understand Jens Wilke, LangFox, www.langfox.com Prioritization of stories with customers
  • 24. Usually some users are more insightful than the others users Identifying and using these lead users, you can reduce somewhat the communication on the stories and priorities, and better understand the future evolution Lead users Jens Wilke, LangFox, www.langfox.com
  • 25. A Minimum Viable Product has just those features that allow the product to be deployed, and no more. –In practice this is the product, that you can consider shipping You can make releases to select users, e.g. lead users, already prior to the MVP –Release early and release often MVP Jens Wilke, LangFox, www.langfox.com
  • 26. Defines the longer term evolution and release plan in a simplified form for stakeholders –Can have impact on planning the architecture Release plan or roadmap Jens Wilke, LangFox, www.langfox.com
  • 27. Kanban The name 'Kanban' originates from Japanese, and translates roughly as "signal card" Jens Wilke, LangFox, www.langfox.com
  • 28. •Scrum •Kanban •Methodologies can be characterized according to how prescriptive they are •The methodology matters more than the tools used to implement it About Agile SW Methodologies = Tools Jens Wilke, LangFox, www.langfox.com
  • 29. Kanban (method) = An approach to incremental, evolutionary process improvement for organizations = Change management tool = Managing flow Scrum = an iterative and incremental agile software development framework for managing software projects and product or application development = Managing iterations Underlying difference between Kanban and Scrum Jens Wilke, LangFox, www.langfox.com
  • 30. Kanban is a tool, that is not specifically a software development tool, but can be used for it. Kanban is a change management tool Jens Wilke, LangFox, www.langfox.com
  • 31. As Kanban is less descriptive, teams using Kanban actually need more discipline With little rules, it’s easy to avoid them, e.g. setting high WIP limit –With high WIP limit, it’s in theory Kanban, but Kanban principle is rendered pointless Kanban requires discipline Jens Wilke, LangFox, www.langfox.com Image: Gabriela Pinto, Creative Commons Image: Ray Morris, Creative Commons
  • 32. 1.Limit Work In Progress 2.Visualize the workflow 3.Manage flow 4.Make policies explicit 5.Implement feedback loops 6.Improve collaboratively, evolve experimentally (using models and the scientific method) These can be typically complemented with further elements –This also applies to Scrum –You can extend Kanban towards Scrum Kanban is simple and has only 6 key principles Jens Wilke, LangFox, www.langfox.com
  • 33. How many items can be in each phase at a time, e.g. in ”To Do” or ”In Progress” Idea is to limit items per phase, so that they will efficiently flow through –Analogy to traffic:. Flow with high speed sparsely rather than progress in a slow traffic jam When a WIP limit for a certain task has been reached, the team stops and works together to clear the bottleneck. The goal of working in this manner is meant to ensure that the entire team takes ownership of the project and produces high quality code. Limit Work In Progress (WIP) Jens Wilke, LangFox, www.langfox.com
  • 34. Hitting WIP (Work in progress) limit causes pain, as it blocks others tasks In effect, this should encourage the immediate resolution of the issue Resolution will then restore the effective flow of tasks In effect: Smooth flow with some quickly resolved issues is better than having more issues per stage slowing each other down (with less pain and efficiency) Hitting WIP limit causes pain, thus encouraging quick resolution Jens Wilke, LangFox, www.langfox.com
  • 35. Only small number of items should be in a single stage for more even flow. •Good for testing •Clear and reduces the number of unfinished items Work in progress limit for Scrum Jens Wilke, LangFox, www.langfox.com
  • 36. Visualizing your work flow using a Kanban board shows which stage of development each feature is in. This is very helpful in seeing what the total backlog is and what work has been completed. The stages can be freely defined Looking a the Kanban board, immediately see where a team is Visualize the workflow Jens Wilke, LangFox, www.langfox.com
  • 37. A specific Kanban board physically limiting the flow Many SW tools support limiting work items too Visualize the workflow Jens Wilke, LangFox, www.langfox.com
  • 38. For example, only start new work when an existing work is complete –Keep the traffic density in check, as with work in progress (WIP) limits –Not many unfinished tasks cluttering the flow and impeding work of others Getting a constant and predictable stream of work through, whilst improving efficiency and quality. Rather than viewing work as a series of projects, view our work as a constant stream of work of varying kinds. Manage flow Jens Wilke, LangFox, www.langfox.com Image: Ray Morris, Creative Commons
  • 39. Until the mechanism of a process is made explicit it is often hard or impossible to hold a discussion about improving it. –Organization identifies opportunities to improve the system, –Evolutionary, collaborative change Allows to capture and preserve organizational learning by building it into the system that is used to manage the work Make policies explicit Jens Wilke, LangFox, www.langfox.com
  • 40. •Improve beyond local teams through operations reviews •Collaboration to review flow of work •Organizations that have not implemented the second level of feedback - the operations review - have generally not seen process improvements beyond a localized team level Implement feedback loops Jens Wilke, LangFox, www.langfox.com
  • 41. The Kanban method encourages small continuous, incremental and evolutionary changes that stick. When teams have a shared understanding, they are more likely to be able to build a shared comprehension of a problem and suggest improvement actions which can be agreed by consensus. Measure improvement Improve collaboratively, evolve experimentally Jens Wilke, LangFox, www.langfox.com
  • 42. Kanban Board, with WIP limits Jens Wilke, LangFox, www.langfox.com
  • 43. The little difference between Scrum and Kanban boards Jens Wilke, LangFox, www.langfox.com
  • 44. Scrum board is reset between each iteration Jens Wilke, LangFox, www.langfox.com
  • 45. More on this –http://zsoltfabok.com/blog/2010/09/never-move-items-back/ Don‘t move items back on Kanban board Jens Wilke, LangFox, www.langfox.com
  • 46. If you want, you can add more rules, e.g. a product owner for prioritizing the items Kanban + more rules … leads us towards scrum Jens Wilke, LangFox, www.langfox.com
  • 47. Scrum has built in feedback loops Scrum has clear roles Kanban is directed primarily to change management Scrum has more extensive product backlog Scrum is more structured Kanban has more freedom Scrum backlog items must fit in a sprint … See Scrum vs. Kanban PDF –http://www.slideshare.net/RossC0/kanban-vs-scrum Scrum vs. Kanban, selected differences … you can also see scrum as extension of Kanban Jens Wilke, LangFox, www.langfox.com
  • 48. Scrum vs. Kanban, more detailed differences Jens Wilke, LangFox, www.langfox.com
  • 49. For example Scrum-Ban –http://leansoftwareengineering.com/ksse/scrum-ban/ You can also see scrum as extension of Kanban What ever works is fine –Agile is a toolset, not a religion –Remember the agile manifesto Mixing methodoligies is ok Jens Wilke, LangFox, www.langfox.com
  • 50. Visualizing the workflow Limiting work in progress (and managing flow) for getting testing done on time for the end of sprint Late binding of work Leave out estimation, and use a task limit for sprint … Kanban ideas worth considering to use in Scrum Jens Wilke, LangFox, www.langfox.com
  • 51. Having roles, e.g. product owner –Product owner can prioritize continuously Timeboxed iterations Estimating velocity, if you need to estimate a product completion date … Scrum ideas worth considering to use in Kanban Jens Wilke, LangFox, www.langfox.com
  • 52. General software development -> Scrum –You can generally plan pretty well ahead Bug management or maintenance mode -> Kanban –It’s hard to plan out the bugs –Kanban can be also great for research, as the next steps depend on the previous and are not foreseeable You can extend the other with the other When to use Scrum or Kanban Jens Wilke, LangFox, www.langfox.com
  • 53. Recommended materials –Scrum Guide – a brief overview –Scrum vs. Kanban –For the CSP – Certified Scrum Professional 1.Succeeding with Agile: Software Development Using Scrum 2.Agile Estimating and Planning 3.Agile Software Development with Scrum For more info Jens Wilke, LangFox, www.langfox.com
  • 54. Jens Wilke, LangFox, www.langfox.com Q&A