practical scrum course day 1
TRANSCRIPT
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Practical ScrumDay IIlan Kirschenbaum
Agile coach co-founder at Practical Agile
co-founder at Agile Practitioners twitter: @kirschi_
email: [email protected] blog: http://www.practical-agile.com/theblog
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Connection before content
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Parking lot
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Physical examination
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Agenda
• Introduction
• Overview & History
• Self managing & Empirical approach
• Scrum overview
• The Scrum Master
• Transparency
• Definition of DONE
• Waste
• A Scrum team
• Reduce Waste
• Engineering practices
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Requirements
Design
Implement
Test
Acceptance
Analysis
Deliver
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Question
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
The waterfall development model originates in the manufacturing and construction industries
The first description of waterfall is a 1970 article by Winston W. Royce
Royce presented this model as an example of a flawed, non-working model
"I believe in this concept, but the implementation described above is risky and invites failure"
[Royce 1970]
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
QThe harder we plan and analyze in the beginning, the less there’s
change in the project and the more successful the project.
There is change always and responding to it is vital. Uncertainty is best reduced by
learning from actual implementation
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Wishful thinking
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
"Scrum is a team of eight individuals in Rugby. Everyone in the pack acts together with everyone
else to move the ball down the field in small incremental steps. Teams work as tight, integrated units with whole team focusing on a single goal."
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Origins of Scrum
• Toyota’s lean concept.
• 1986 – The new, new software development game (Takeuchi & Nonaka).
• Iterative & incremental development.
• Smalltalk engineering tools.
• Jeff Sutherland.
• Ken Schwaber.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Toyota’s Culture
• “Toyota sincerely believes that teams are more effective and efficient than the sum of individuals, and that when they are given the skills and systems of problem solving, the sky is the limit” [Liker\Hoseus 2008 – Toyota culture]
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Origins of Agile
20011970
Agile manifesto
Weinberg: Psychology of computer programming
Rapid Application Development
1980
1990
1995
DSDM
Extreme Programming
Scrum
Gilb: Principles of Software Engineering
deMarco: Peopleware
Royce:Managing the development of large software systems
Cockburn: Surviving OO projects
lean
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Exercise
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Agile Principles 1…6
1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software
2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to a shorter timescale.
4. Business people and developers must work together daily throughout the project.
5. Build project around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
6. The most efficient and effective method of conveying information to and within development team is face-to-face conversation.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Agile Principles 7…12
7. Working software is the primary measure for progress.
8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10.Simplicity – the art of maximizing the amount of work not done – is essential.
11.The best architectures, requirements, and designs emerge from self-organizing teams.
12.At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Scrum Misconceptions
• Scrum != Adhoc
• Disciplined & structured. Not sequential.
• Not an excuse to be sloppy!
• Scrum != A Set of practices.
• Don’t do agile, Be Agile, do Scrum.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Where Scrum Fits
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Self Management
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Exercise
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Predicted vs. Empirical
• Empirical means we base our actions on our own experience not on someone else’s.
• Requires high level of transparency.
• Facing our real problems requires a high level of integrity.
• It take courage to change our habits.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
–Wolfgang Puck - chef
“The biggest difference between home cooks and professional chefs is that home cooks don't taste the dish often enough as they prepare it.
They just follow the recipe step-by-step, without getting that feedback along the way. ”
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
• In our industry people got used to create and use META solutions to problems.
• The problems we are facing have nothing to do with technology, it is a people issue.
• In this land the basic assumption is that there is no META solution, just an empirical framework to allow inspect & adapt cycles.
• This experience is frustrating for those who are looking for predefined processes and final answers.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Exercise
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Scrum
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Scrum Principles
• Understanding that we cannot predict the future.
• One size does not fit all.
• Constant improvement.
• Transparency & Visibility
• Team work
• Deliver business value fast (max. 30 days)
• Prioritizing – Industry statistics show: 65% of all features are rarely\never used.
• Empirical approach
• Fun !!!
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Who’s Using Scrum?
• Intel
• Microsoft
• Yahoo
• Electronic Arts
• High Moon Studios
• Lockheed Martin
• Philips
• Siemens
• Capital One
• Boeing
• HP
• Clal Insurance
• Amdocs
• BMC Software
• sviva.gov.il
• Compedia
• Verint
• LivePerson
• Oracle
• eBay
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Scrum is Used For…
• Commercial software
• In-house development
• Fixed-price projects
• Financial applications
• ISO 9001-certified applications
• Embedded systems
• 24x7 systems with 99.999% uptime requirements
• the Joint Strike Fighter
• Video game development
• FDA-approved, life-critical systems
• Satellite-control software
• Automobile R&D and Manufacturing
• Handheld software
• Mobile phones
• Network switching applications
• Some of the largest applications in use
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Scrum Process Overview
Sprint backlog
Working software
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Scrum Process Overview
•Product owner•ScrumMaster•Team
Roles
•Sprint planning•Sprint retrospective•Daily scrum meeting•Sprint review
Ceremonies
•Product backlog•Sprint backlog•Burndown charts
Artifacts
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
The Product Owner
• Defines the features of the product
• Defines release dates and content
• Responsible for ROI
• Prioritizes feature according to value
• Can change features and priority once every predefined interval
• Decides what will be worked on in each iteration
• Accepts or rejects results
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
The Team
• Cross-functional, Typically 5-9 people
• Provide estimate for the tasks
• Decides how much it can do in each iteration
• Decides how to reach the sprint goal within the project’s boundaries
• Organizes itself and it’s work
• Presents results to the product owner
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
The Scrum Master
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
The Scrum Master
• Responsible for the scrum process
• Ensures that the team is functional and productive
• Protects the team
• Helps removing impediments
• He is standing at the nexus between:
• The product management that believes that any amount of work can be done
• Developer’s that have the willingness to cut quality to support the managements belief
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
The Scrum Master
• Help the product owner to understand how to maximize ROI within the Scrum process
• Improve the life of the team by encouraging creativity and empowerment
• Help the team to improve the productivity
• Help the team to improve their engineering practices so that we have a working product increment at the end of every sprint
Holds a management position but… is not a manager! – a facilitator\leader
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
The Scrum Master
• Is not a team leader or a project manager
• Team is self organizing
• Has no authority over the team or the product owner
• Asking questions / making observations
• Challenges the organization, a change agent
• A dead Scrum master is a useless Scrum Master
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
A different Management Style
• Traditional managers (Supervisors):
• Assign task and verify completion
• Micro manage to have the “illusion of control”
• Makes decisions for the team
• Limit the information & resources available to the team
• Traditional managers (Supervisors): DO NOT TRUST THE TEAM!
• This creates an environment which blocks innovation and encourages conformity
• The transition from manager to SM is extremely hard
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Ask the Team!
• Replace suggestions with questions.
• What do you think we should do?
• What have you decided?
• What do you think this means?
• Who has any idea about….?
• Is this thing useful ?
• Replace opinions with observations.
• I noticed that <fact>, what shall we do?
• I have seen that <observation> is that important?
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
The Team is Wrong(?)
• Sometimes failing is the only way to learn
• Let the team fail
• Create an environment where it is ok to fail
• Failure amplifies learning
• Where failure is allowed, innovation and experiments are encouraged
• Increases trust
• Are you sure you are right ?
• All of us are smarter than any of us
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Exercise
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Ofer Eini’s Project(1)
• Ofer had realized tickets for popular soccer games are being sold on EBay for as much as 100 times the price.
• Ofer decided to start a campaign for prohibition by law of reselling tickets for profit unless done through a specially dedicated system.
• The law was passed.
• This system is similar to EBay in principle, whenever a bid is over, after the money had been transferred, the seller gets a check in the mail with the price the ticket was sold minus 25% commission to the union.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Ofer Eini’s Project(2)
• The law will be affective within three month, Ofer scheduled a press conference for one month from now and hopes to be able to show some functionality.
• In 3 month the system should be up:
• Allowing buyers and seller to register.
• Sellers can make tickets available at full price.
• Buyers can use a credit card to buy tickets, with the union as “middleman” getting 25% of the deal.
• Ofer is willing to invest funds in this product, you can do whatever is needed to have a working system including, outsourcing, buying s/w modules or develop it.
• Ofer would like your assessment regarding the chances of achieving these targets.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Ofer Eini’s Project(3)
• Functional requirements:
• Register and maintain an account of sellers with userid and password for identification.
• Register and maintain an account of buyers with userid and password for identification.
• Allow buyers to store credit card and shipping details.
• The accounts should include personal information such as name, age, id number, email, address, birthday.
• Place tickets for auction, monitor the auction.
• Search feature by match\team\date.
• Email notifications for events such as auction complete, auction started, winning\losing in an auction.
• On line support for buyers\sellers.
• Chat window.
• More Functional Requirements
• Transfer 25% of each transaction to the union’s account.
• Support promotions and advertising.
• Administration capabilities like delete users.
• Support updating latest news from the union.
• Non-functional requirements:
• Support 10,000 simultanious users.
• Response time under 300mSec.
• Secure financial activity according to standard IEEE76.2s
• 95% up time.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Ofer Eini’s Project(4)
• Development (facts)
• Microsoft platform
• .NET environment using SQL server DB
• Development is co-located.
• Developers are sitting in cubicles.
• The team that will be doing it is considered a good one.
• All team members like soccer (Maccabi fans)
• No automatic build\test systems exist.
• You have a good QA team.
• Scrum will be used for this project.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Ofer Eini’s Project(5)
• The union already invested $34m in passing the law and developing the requirements.
• The law will be effective in three month.
• Ofer needs your team to build the system so it will at least allow people to buy and sell tickets, otherwise the law will be useless.
• Money is not a problem.
• Ofer wants to know: Can your team build this skeletal system for him? The unions marketing division wants to set the press conference to one month, do you agree? What should he announce in this conference ?
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Exercise
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Transparency
• We should stop taking risks for our customers without even letting them know.
• We should share the risk
• maximize the chances of success.
• Create a common interest.
• We should really know the status of our projects, and share it with the customer.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Transparency
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Transparency
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Transparency
• It is important to know how is our project really coming along
• Avoid the 90% done syndrome
• It may mean facing hard facts. Early
• Unfinished work is waste
• We achieve this by:
• Having working s/w at the end of the iteration
• Tracking progress with burn down charts
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Burndown ChartEf
fort
rem
aini
ng
0
25
50
75
100
Sprint
1 2 3 4 5 6 7 8
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Gantt charts
Hierarchy
Low Quality
Core code
What Reduces Visibility?
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Core Code
• AKA infrastructure or legacy code
• Most functionality depends on it
• Usually fragile, does not have a test harness
• only a few people really know it
• Changes are time consuming
• Becomes a bottleneck
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Technical Debt
Time
Work left
20
10 12 14 16 18
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
QYou can save time by “good-enough” development.
Any technical debt will slow development down and thus we don’t allow technical
debt to accumulate.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Definition of Done
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Exercise
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Definition of Done
• Terms of satisfaction of the product owner
• Defined by the PO with the team
• Example:
• Design, code, unit tested, integrated
• Code coverage, system tests
• Refactored, deployable
• Done is a mirror reflecting the technical abilities of the team
• Items that are not Done “do not count”
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Expanding the Definition of Done
Designed
Coded
analyzed
Unit tested
Perf. tested
Code coverage
Live
Deployable
Acc. tested
*This is just one example
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Undone Work
Undone Undone UndoneUndone
Stabilization sprint(s)
Sprint 1 Sprint 2 Sprint 3 Sprint 4
Undone = risk
Undone = no visibility Can we
release ?
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Ball point game
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Scrum Teams
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
What Makes a Team
• Common purpose, basic task, Interdependent
• Common goal
• We ALL are responsible for reaching the WHOLE goal
• Team members need each other to reach the goal
• Complementing technical and social skills
• The team is more than the sum of it’s members
• Trust
• Commonly agreed ways of working
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Scrum Team
• Self organizing – Team manages itself
• Typically 5-9 people
• cross functional
• Preferably a feature team
• Decides how much it can do
• The team is responsible for the outcome
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Exercise
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
The Team is Responsible
• Biggest concept change is:
• The team decides what it can do, and how to do it
• The team is responsible for the quality
• The team is in charge of getting the work done, it decides how
• All of the other roles in the scrum are there to provide the team all of the things it needs to get the job DONE in time
• If the job is successful, the team gets the credit
• If the job is not DONE, the team is responsible
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Obstacles to Team Growth
• Strong leadership (c&c)
• Lack of authority and responsibility
• Fear of errors
• Lack of trust
• Fear of conflict
• Lack of boundaries
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
QDivision of work to specialized teams (specification, design and
testing) is efficient
Cross-functional teams reduce the amount of handovers and are more productive
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Becoming a Team
Workgroup Team Self Organized Team Self Directed Team
Bruce Tuckman’s Model of Team Development
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Team Decision Making - Thumb Vote
• The rules are simple:
• Thumbs up – I agree completely, this is the best solution (how come I did not think of that one…)
• Thumbs down – NO! This is a mistake, I veto this option.
• Thumbs in the middle – I don’t have any strong opinion. I’ll go with the team.
• Everyone can veto, it’s the team responsibility to reach a decision.
• If someone veto’s ask:
• How can we refine this option so you will agree.
• Why do you think this is the wrong choice.
• Do you have another option
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Team Decision Making - Dot Voting
• Used to choose from several available options.
• Can also be used to prioritize.
• Depending on the number of people and options, each person gets <x> points.
• After the options are clear each person distributes his points between the options as he likes.
• Can even place all votes on a single option.
• When everyone finished we have a clearer picture of which options the team prefers.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Reduce Waste
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Kaizen
• Mindset:
• My work is to do my work and to improve my work.
• Practice:
• Choose and practice techniques the team has agreed to try, until they are well understood—that is, master standardized work
• Experiment until you find a better way
• Repeat forever
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Kaizen - Reduce Waste
• Value: The moments of action or thought creating the product that the customer is willing to pay for.
• Waste: All other moments or actions that do not add value but consume resources.
• value ratio = total-value-time / total-cycle-time
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Types of Waste - TIMWOODSTransport
Inventory
Motion
WaitingOver Processing
Over Production
Defects
IgnoredSkills/Talent
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
QResource usage and cost optimization is the key to increased
productivity
Concentrating on value stream optimization, removing waste and
sustainable flow increases productivity
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Exercise
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Waste I
• Overproduction
• features or services the customer doesn’t want
• large engineering documents, more detailed designs than can be quickly implemented
• duplication of data
• Waiting / delay
• for clarification
• Documents
• Approval
• Components
• other groups to finish something
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Waste II
• Handoff, conveyance, moving
• Giving a specification from an analyst to an engineer
• Giving a component to another group for testing
• Extra processing
• Relearning, lose of information.
• Forced conformance to centralized process checklists of
• Recreating something made
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Waste III
• Partially done work – WIP \ DIP
• Designs documented but not built
• Things built but not integrated or tested
• Things tested but not delivered.
• Task switching
• Interruption
• Multitasking on 3 projects
• Partial allocation of a person to many projects
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Waste IV
• Under-realizing people
• People only working to single speciality job
• Do people have the chance to change what they see is waste.
• Information scatter or loss
• Information spread across many separate documents
• Communication barriers such as walls between people, or people in multiple locations.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Waste V
• Wishful thinking
• “We MUST follow the plan”
• “The estimate cannot increase; the effort estimate is what we want it to be, not what it is now proposed.”
• “We’re behind schedule, but we’ll make it up later.”
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Engineering Practices
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Common Agile Engineering Practices
• Pair programming
• Refactoring
• TDD \ ATDD
• Continuous integration
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Pair Programming
• A technique used to:
• Increase quality level (code review is built in).
• Increase knowledge sharing.
• Over time increase productivity.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Refactoring
• Refactoring ≠ Redesign.
• Refactoring is a form of editing, whose goal is to improve readability while preserving meaning.
• Done as a series of steps, each step does a little.
• Does not fix bugs.
• Most modern IDE’s have auto-refactoring tools.
• Refactoring is not a “standalone” task.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Test First - TDD/BDD
• TDD – Test driven development:
• A Design technique.
• Never write a line of code unless it fixes a failing test.
• Red -> Green -> Refactor.
• ATDD – Acceptance TDD:
• A Requirements management technique.
• Requirements are written as functional tests.
• Usually with tools such as Cucumber / SpecFlow
• For every failing functional test run the TDD cycle.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Continuous Integration
• The system is always integrated (even multiple sites\ multiple components).
• CI systems can and should be aggregated.
• Requires check ins as often as possible.
• Usually done by a system that automatically:
• Generates a new build version.
• Runs all unit tests.
• Creates a deployable package.
• Installs it to production equipment.
• Runs all system tests.
• Run LSP tests.
• Publishes results.
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Summary
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Agenda
• Introduction
• Overview & History
• Self managing & Empirical approach
• Scrum overview
• The Scrum Master
• Transparency
• Definition of DONE
• Waste
• A Scrum team
• Eliminate Waste
• Engineering practices
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
References and Additional Sources
• 1970 - Managing the development of large software systems (aka Waterfall Model, Winston Royce) http://leadinganswers.typepad.com/leading_answers/files/original_waterfall_paper_winston_royce.pdf
• 1986 – The new, new software development game (Takeuchi & Nonaka) http://files.meetup.com/1671339/The%20New%20New%20Product%20Development%20Game.pdf
• Liker\Hoseus 2008 – The Toyota Way http://www.amazon.com/The-Toyota-Way-Management-Manufacturer/dp/0071392319
• 2001 - Agile Manifesto http://agilemanifesto.org
• 1991-2013 - The Scrum Guide (Schwabber, Sutherland) https://www.scrum.org/Portals/0/Documents/Scrum%20Guides/2013/Scrum-Guide.pdf
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
References and Additional Sources
• 1971 - The Psychology of Computer Programming (G. Weinberg) http://www.amazon.com/The-Psychology-Computer-Programming-Anniversary/dp/0932633420
• 1987 - Peopleware, Productive Projects and Teams (T. De-Marco) http://www.amazon.com/Peopleware-Productive-Projects-Teams-3rd/dp/0321934113
• 2003 - Lean Software Development: An Agile Toolkit (M&T Poppendieck) http://www.amazon.com/Lean-Software-Development-Agile-Toolkit/dp/0321150783
• 1999 - Extreme Programming Explained (K. Beck & C. Andres) http://www.amazon.com/Extreme-Programming-Explained-Embrace-Change/dp/0321278658
Scrum Workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
References and Additional Sources
• 2004 - Working Effectively with Legacy Code (M. Feathers) http://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052
• 1975 - The Mythical Man-Month (F. P. Brooks) http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959
• Promiscuous Pairing and Beginner’s Mind http://user.it.uu.se/~carle/softcraft/notes/PromiscuousPairing.pdf