UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
Â
Scrum intro
1. You walk into a class, you have
been invited to attend a training.â¨
You read the text on the slide on
the projector. You first ignore it, the
second time you see it you start
reading... Once you finish reading
the slide, you find someone at a
table. You sit down, and exchange
all you know about Agile and Scrum
with each other until the session is
going to start.
3. ⢠No answers, just questions.
⢠Donât believe anything.
⢠Discussion!
⢠The agenda is a draft.
⢠Games & exercises
⢠Use the parking lot.
⢠A-Ha wall.
14. ⢠S/W Engineer.
⢠13 years in s/w Agile coach.
⢠Blogger
⢠Co-Founder of âPractical-Agileâ
⢠Co-Organizer of âAgile â¨
Practitioners ILâ group
17. 3 simple rules
⢠Build the
Tallest Freestanding Structure
!
⢠The Entire Marshmallow Must
be on Top
!
⢠Use as Much or as Little of the
Kit
! 17
21. 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]
22. Division of work to specialized teams
(specification, design and testing) is
efficient
It is possible to âcollectâ or even
âknowâ all the requirements up-front
The harder we plan and analyze in the
beginning, the less thereâs change in
the project and the more successful
the project.
Multiple parallel programs speed up
the development
Multiple programs create big
management overhead and risk of
overloading the pipeline, R&D works
most efficiently in continuous mode
There is change always and
responding to it is vital. Uncertainty is
best reduced by learning from actual
implementation
Requirements evolve as customers
and our knowledge increases â based
on experience
Cross-functional teams reduce the
amount of handovers and delays, thus
they are more productive
23. You can save time by âgood-enoughâ
development.
Itâs possible to transfer information
effectively on written documents
without much of human contact.
Resource usage and cost optimization
is the key to increased productivity
Product development process can be
defined as a predictable and
repeatable process
Product development is an evolving
and adaptive process, unique for every
organization.
Concentrating on value stream
optimization, removing waste and
sustainable flow increases
productivity
Essential knowledge is lost in every
handover and human interaction is
needed to overcome it.
Any technical debt will slow
development down and thus we
donât allow technical debt to
accumulate.
27. 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.
28. 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.
31. â¨
"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."â¨
â¨
32. ⢠Understanding that we cannot predict the future.
⢠One size does not fit all.
⢠Constant improvement.
⢠Transparency
⢠Team work
⢠As simple as possible & as little as possible.
⢠Prioritizing â Industry statistics show: 65% of all
features are rarelynever used.
⢠Empirical approach
⢠Fun !!!
37. ⢠Defines the features of the product
⢠Defines release dates and content
⢠Responsible for ROI.
⢠Prioritizes features.
⢠Can change features and priority â¨
once every predefined interval.
⢠Decides what will be worked on in each â¨
iteration
⢠Accepts or rejects results.
38. ⢠Responsible for the scrum process.
⢠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.
⢠Probably the least loved person in the world.
40. ⢠Scrum helps prevent such things by
encouraging:
â Team productivity
â High quality
â Top-notch engineering practices
⢠Unit testing TDD
⢠BDD
⢠Pair work
⢠Continuous integration
⢠Refactoring.
40
The Scrum master
42. ⢠Typically 5-9 people
⢠Cross-functional:
â˘âArchitectsâ, Programmers, testers â¨
UI designers, etc.
â˘Members should be full-time
â˘May be exceptions (e.g., database administrator)
⢠Teams are self-organizing
â˘Ideally, no titles but rarely a possibility
⢠Membership should change as little as possible
â˘only between sprints
43. ⢠List of features, Technology, issues.
⢠Items should deliver value for customer.
⢠Constantly prioritized & Estimated.
⢠Anyone can contribute.
⢠Visible to all.
⢠Derived from business plan, may be â¨
created together, with the customer.
⢠Can be changed every sprint!!!
⢠Customer is not âprogrammedâ to think â¨
of everything in advance.
44. Backlog item Estimate
As a user I would like to register 3
As a user I would like to login 5
As a buyer I would like to make a bid 3
As a buyer I would like to pay with a credit card 8
As a seller I would like to start an auction 8
... âŚ
Test register feature 10
Create infrastructure for login 20
45. ⢠Usually the longest meeting of all.
⢠The meeting takes place prior to â¨
every sprint.
⢠Participants:
⢠All Team members , PO, Scrum master.
⢠Is divided into two Parts:
⢠Part I
â Team and PO discuss and clarify the top priority items
â Team and PO selects sprint Goal.
⢠Part II
â Team creates the sprint backlog
â Team commits on content of coming sprint.
46. Slide Scrum introduction (Intel) / Elad Sofer
Elad Sofer â Agile coach â CSMCSP http://blog.thescrumster.com
elad.sofer@gmail.com
Sprint planning meeting
Part I
⢠Analyze and evaluate product
backlog
⢠Select sprint goal
Part II
⢠Decide how to achieve sprint goal
(design)
⢠Create sprint backlog (tasks) from
product backlog items (user stories /
features)
⢠Estimate sprint backlog in hours
Sprint
goal
Sprint
backlog
Business
conditions
Team
capacity
Product
backlog
Techno-logy
Current
product
47. ⢠The sprint backlog is defined by understanding â¨
and agreeing on the sprint goal(s) and selecting â¨
the appropriate items from the product backlog.
⢠The goal is determined by the customersproduct owner
team.
⢠The team compiles a list of tasks that are â¨
needed in order to complete the sprint goal(s).
⢠A task should be as small as possible and should not exceed a
time period of 2 days (time not effort).
⢠If a task X can not be defined, there will be a task to define
the task X.
⢠The sprint backlog can be modified throughout the sprint.
48. Code the
middle tier
(8 hours)
Code the
user
interface
(4)
Write test
ďŹxturesâ¨
(4)
Code the
foo class
(6)
Update
performance
tests â¨
(4)
As a user I would like
to register
49.
50. ⢠The sprint is the productive part of the scrum
⢠It is a fixed, predefined, period of time.
⢠During this time the work load, the scope or â¨
nature of work must not be changed. The only âmanagerâ of the
scope is the sprint backlog.
⢠The team is free to accomplish the sprint goal as it seeâs fit, within
the limits of the teamâs procedures and the time limits.
⢠During the sprint, the team has total freedom over how it works:
⢠Work as many hours as it wants.
⢠Hold meetings whenever it wants
â During the sprint the team is accountable for only two things
⢠Daily scrum
⢠Sprint backlog.
51. Source:âThe New New Product Development Gameâ by Takeuchi and Nonaka.
Harvard Business Review, January 1986.
Rather than doing all of one
thing at a time...
...Scrum teams do a little of
everything all the time
Design Code Integrate Test
52. ⢠A meeting that occurs daily at the same time. â¨
anyone who wants attend , can do so.
⢠Each of the team members needs to answer â¨
briefly these three questions:
1. What have you done since the last daily scrum?
2. What will you do until the next daily scrum?
3. What got in your way of doing work?
⢠The team does not report to anyone but the team.
⢠During the meeting only one of the team members is allowed to
speak, others should keep quiet.
⢠All of problems raised in the meeting should be written down and
resolved by the scrum masterteam.
⢠The daily scrum is not a technical meeting.
55. `
⢠Goal: Predict how long will it take
you to score 200 points?
!
⢠Ball must have air-time
⢠No ball to your direct neighbor
⢠First person= Last person
⢠Iteration = 1 min
⢠In between = 1 min
55
56. ⢠At the end of each sprint there is a â¨
meeting called the sprint review.
⢠The purpose of the meeting is to let the â¨
âcaptainâ to know where the ship is heading and where it is in itâs
route. In addition all new features will be presented to the product
owner.
⢠During this meeting the team presents to the management
customersusersproduct owner, what work has been DONE and
what was not.
⢠The only form of âautomatedâ presentations allowed is working
software, Slideware is banned.
⢠The things that were not accomplished will be returned to the
product backlog.
57. ⢠We have in Scrum â DOD â Definition of
Done.
⢠Terms of satisfaction of the PO
⢠Only DONE items count
⢠Success is well defined
⢠Example:
⢠Unit tested, Verification,â¨
Documented, deployed.
58.
59. ⢠Periodically take a look at what is â¨
and is not working
⢠Typically takes ~60 minutes
⢠Done after every sprint
⢠Whole team participates
⢠Scrum Master
⢠Product owner
⢠Team
⢠Possibly customers and others
60. Whole team gathers and discusses what theyâd like to:
Start doing
Stop doing
Continue doing
This is just one
of many ways to
do a sprint
retrospective.
66. What makes planning & estimation
agile ?
â˘Planning & effort estimation Is not
considered as a phase in the project
â˘Changes are expected, embrace change.
â˘Plans & Estimations are easily correctable.
â˘Plan & Estimate by feature not by activity
â˘Estimate by a multi-disciplinary team.
â˘AndâŚ
66
67. Exercise
⢠Estimate the following based on
Weight in Kilograms.â¨
[NO GOOGLE PLEASE!!!]
!
⢠Chihuahua
⢠Great Dane
⢠Staffordshire bull terrier.
⢠Appalachian mountain dog.
⢠Border Collie
⢠American Cocker spaniel
67
68. âItâs better to be roughly right
than precisely wrong.â
[John Maynard Keynes[
70. Slide Scrum introduction (Intel) / Elad Sofer
Elad Sofer â Agile coach â CSMCSP http://blog.thescrumster.com
elad.sofer@gmail.com
Agile Approach
⢠work as one team (with one goal).
⢠work in short iterations (time boxed - dates are not flexible,
but the deliverables are).
⢠deliver something each iteration.
⢠focus on business priorities (according to product owner
priorities and user stories).
⢠inspect and adapt (updating the plan to better reflect the
reality of current situation).
⢠Roles:
â product owner (product vision and prioritization)
â Customer
â Developer (programmers, testers, architects...)
â project manager - focus more on leadership than on mgmt.
71. Slide Scrum introduction (Intel) / Elad Sofer
Elad Sofer â Agile coach â CSMCSP http://blog.thescrumster.com
elad.sofer@gmail.com
Agile Approach
Multiple levels of planning: the planning onion, focus
on what is visible.
Daily
Iteration
Release
Product
Portfolio
Strategy
73. Slide Scrum introduction (Intel) / Elad Sofer
Elad Sofer â Agile coach â CSMCSP http://blog.thescrumster.com
elad.sofer@gmail.com
How long will it take toâŚ
â˘Read the bible ?
â˘Drive to Paris ?
â˘Solve a math equation ?
!
!
â˘Add support for LDAP ?
75. Estimate tasks in relative size
⢠We are not good in measuring absolute
values.
⢠We are good in comparing things.
⢠We have the basic math skills (or a calculator).
⢠High accuracy has a high toll.
⢠Estimates become commitments
⢠Time is not persistent.
75
76. Story points
⢠Name is derived from user stories.
⢠They reflect the âbignessâ of a user story.
âHow hard it is ?
âHow risky it is ?
âHow much of it there is ?
⢠Relative values matters.
⢠Unitless.
⢠Point values âinclude uncertaintyâ.
⢠Easy and quick
âA little effort helps a lot
âA lot of effort helps a little more
76
78. Planning poker
1. Each person gets a deck of cards.
2. The item to be estimated is read to all.
3. Attendants ask clariďŹcations for the item.
4. Each person selects a card and puts it on the
table facing down.
5. When everyone is done, cards are exposed.
6. If the estimations do not match a short
discussion is done. -> Goto 4.
7. Handle next item.
78
79. Exercise
⢠Estimate the following based on
size using planning poker.
!
⢠Spain
⢠China
⢠Luxembourg
⢠Denmark
⢠South Africa - 8 (Reference point)
⢠Belize
79
80. Why planning poker works ?
⢠Those who do the work estimate it.
⢠Emphasizes relative estimation
⢠Estimates are within one order of
magnitude.
⢠Reduces anchoring - Everyone's
opinion is heard.
80
84. Given anchor
â˘Group A
!
!
â˘Customer thinks 500
â˘customer has no technical knowledge
â˘Donât let the customer influence you
â˘Group B
555 hours
456 hours
!
!
â˘Same as B â¨
customer thinks 50
â˘Group C
99 hours
85. Why planning poker works ?
⢠Those who do the work estimate it.
⢠Emphasizes relative estimation
⢠Estimates are within one order of
magnitude.
⢠Reduces anchoring - Everyone's
opinion is heard.
⢠Modeled for open discussion â forces
thinking.
⢠Itâs quick & fun ! 85
86. The results:
86
Spain 3
China
Too
big
Luxembourg 0
Denmark 1
South Africa 8
Belize 1
Chihuahua 3
Great Dane 90
Staffordshire bull
terrier. 17
Appalachian
mountain dog.
???
Border Collie 34
American Cocker
spaniel 13
!
!
89. Velocity
â˘How many points can the team complete
in one iteration.
!
â˘Easy to measure.
â˘Fixes estimation errors.
â˘Easily reďŹects the project status.
â˘Primary parameter in planning.
89
91. ⢠How many points still to complete ? (pts)
⢠What is the velocity ? (vel)
⢠How many sprints to go ? (num = pts/vel)
⢠What is the sprintâs length ? len
⢠How much time left ? num*len
!
⢠This is as simple as it gets !!!
91
So, how much time left ?