ì ¡
Scrum ¡
an ¡agile ¡development ¡process ¡methodology ¡
- ‑Abhijit ¡Mahajan ¡ ¡
- ‑Neelam ¡Agrawal ¡
¡
Scrum -Abhijit Mahajan -Neelam Agrawal an agile - - PowerPoint PPT Presentation
Scrum -Abhijit Mahajan -Neelam Agrawal an agile development process methodology Introduction Scrum is an agile so<ware development
an ¡agile ¡development ¡process ¡methodology ¡
¡
ì Scrum ¡is ¡an ¡agile ¡so<ware ¡development ¡methodology ¡ ì It ¡is ¡an ¡itera>ve ¡and ¡incremental ¡methodology ¡ ¡
ì
for ¡so<ware ¡projects ¡and ¡product-‑ ¡or ¡applica>on-‑ development ¡ ì Projects ¡progress ¡via ¡a ¡series ¡of ¡itera>ons ¡ ¡
ì
called ¡sprints ¡ ¡
ì which ¡are ¡usually ¡2-‑4 ¡weeks ¡long ¡
ì A ¡typical ¡scrum ¡team ¡has ¡between ¡five ¡and ¡nine ¡people ¡ ¡
ì
but ¡Scrum ¡projects ¡can ¡easily ¡scale ¡into ¡the ¡hundreds ¡
ì
1993-‑Jeff ¡Sutherland, ¡John ¡Scumniotales ¡and ¡Jeff ¡McKenna, ¡ came ¡up ¡with ¡an ¡approach ¡at ¡Easel ¡Corpora>on ¡
ì
first ¡to ¡refer ¡it ¡using ¡the ¡single ¡word ¡Scrum. ¡
ì
In ¡1996, ¡Sutherland ¡and ¡Schwaber ¡jointly ¡presented ¡a ¡paper ¡ describing ¡the ¡Scrum ¡method ¡at ¡the ¡Business ¡Object ¡Design ¡ and ¡Implementa>on ¡Workshop ¡ ¡
ì
held ¡as ¡part ¡of ¡OOPSLA ¡’95 ¡in ¡Aus>n, ¡Texas. ¡
ì
1998-‑ ¡Ken, ¡Jeff, ¡et ¡al ¡came ¡up ¡with ¡“Scrum ¡a ¡pa[ern ¡language ¡ for ¡hyperproduc>ve ¡so<ware ¡development” ¡
ì
In ¡2001, ¡Schwaber ¡worked ¡with ¡Mike ¡Beedle ¡to ¡describe ¡the ¡ method ¡in ¡the ¡book ¡Agile ¡with ¡Scrum ¡
ì The ¡SCRUM ¡methodology ¡shares ¡many ¡characteris>cs ¡
ì
The ¡context ¡is ¡set ¡by ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡playing ¡field ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡(environment) ¡and ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡rugby ¡rules ¡(controls). ¡
ì
The ¡primary ¡cycle ¡is ¡moving ¡the ¡ball ¡forward. ¡
ì
Rugby ¡evolved ¡from ¡breaking ¡soccer ¡rules ¡-‑ ¡adap>ng ¡to ¡ the ¡environment. ¡
ì
The ¡game ¡does ¡not ¡end ¡un>l ¡environment ¡dictates ¡ (business ¡need, ¡compe>>on, ¡func>onality, ¡>metable). ¡
ì Pregame ¡
ì
Planning ¡
ì
System ¡Architecture/High ¡Level ¡Design ¡ ì Game ¡
ì
Sprints ¡(Concurrent ¡Engineering) ¡
ì
Develop ¡(Analysis,Design,Develop) ¡
ì
Wrap ¡
ì
Review ¡
ì
Adjust ¡ ì Postgame ¡
ì
Closure ¡
ì Pregame ¡
ì
Planning ¡: ¡ ¡
ì Defini>on ¡of ¡a ¡new ¡release ¡based ¡on ¡currently ¡known ¡
backlog, ¡along ¡with ¡an ¡es>mate ¡of ¡its ¡schedule ¡and ¡cost. ¡ ¡
ì If ¡a ¡new ¡system ¡is ¡being ¡developed, ¡this ¡phase ¡consists ¡of ¡
both ¡conceptualiza>on ¡and ¡analysis. ¡ ¡
ì If ¡an ¡exis>ng ¡system ¡is ¡being ¡enhanced, ¡this ¡phase ¡
consists ¡of ¡limited ¡analysis. ¡
ì
Architecture ¡: ¡ ¡
ì Design ¡how ¡the ¡backlog ¡items ¡will ¡be ¡implemented. ¡ ¡ ì This ¡phase ¡includes ¡system ¡architecture ¡modifica>on ¡and ¡
high ¡level ¡design. ¡
ì Game ¡
ì
Development ¡Sprints ¡: ¡ ¡
ì Development ¡of ¡new ¡release ¡func>onality, ¡with ¡constant ¡
respect ¡to ¡the ¡variables ¡of ¡>me, ¡requirements, ¡quality, ¡ cost, ¡and ¡compe>>on. ¡
ì Interac>on ¡with ¡these ¡variables ¡defines ¡the ¡end ¡of ¡this ¡
ì There ¡are ¡mul>ple, ¡itera>ve ¡development ¡sprints, ¡or ¡
cycles, ¡that ¡are ¡used ¡to ¡evolve ¡the ¡system. ¡
ì Postgame ¡
ì
Closure ¡: ¡ ¡
ì Prepara>on ¡for ¡release, ¡including ¡final ¡documenta>on, ¡
pre-‑release ¡staged ¡tes>ng, ¡and ¡release. ¡
ì Development ¡of ¡a ¡comprehensive ¡backlog ¡list. ¡ ì Defini>on ¡of ¡the ¡delivery ¡date ¡and ¡func>onality ¡of ¡one ¡
ì Selec>on ¡of ¡the ¡release ¡most ¡appropriate ¡for ¡immediate ¡
ì Mapping ¡of ¡product ¡packets ¡(objects) ¡for ¡backlog ¡items ¡
ì Defini>on ¡of ¡project ¡team(s) ¡for ¡the ¡building ¡of ¡the ¡new ¡
ì A ¡sprint ¡is ¡the ¡basic ¡unit ¡in ¡Scrum ¡
ì
lasts ¡between ¡one ¡week ¡and ¡one ¡month ¡ ì Each ¡sprint ¡is ¡preceded ¡by ¡a ¡mee>ng ¡
ì
where ¡the ¡tasks ¡for ¡the ¡sprint ¡are ¡ini>ated ¡for ¡the ¡sprint ¡ goal ¡ ì The ¡work ¡items ¡come ¡from ¡the ¡product ¡backlog ¡
ì
which ¡is ¡a ¡priori>zed ¡list ¡of ¡requirements ¡ ì During ¡the ¡sprint ¡planning ¡mee>ng, ¡the ¡Product ¡Owner ¡
ì
the ¡ones ¡with ¡the ¡highest ¡priority ¡ ¡
ì ¡and ¡records ¡this ¡in ¡the ¡sprint ¡backlog ¡
ì ¡which ¡means ¡that ¡the ¡requirements ¡are ¡frozen ¡for ¡
ì ¡if ¡requirements ¡are ¡not ¡completed ¡for ¡any ¡reason ¡
ì Defining ¡changes ¡needed ¡for ¡ ¡
ì the ¡implementa>on ¡of ¡backlog ¡requirements ¡into ¡packets, ¡
ì designing, ¡developing, ¡implemen>ng, ¡tes>ng, ¡and ¡
documen>ng ¡the ¡changes. ¡ ¡ ì Development ¡consists ¡of ¡the ¡micro ¡process ¡of ¡discovery, ¡
ì Closing ¡the ¡packets, ¡crea>ng ¡an ¡executable ¡version ¡of ¡
ì All ¡teams ¡mee>ng ¡to ¡present ¡ ¡
ì work ¡and ¡review ¡progress ¡ ì raising ¡and ¡resolving ¡issues ¡and ¡problems ¡ ¡ ì adding ¡new ¡backlog ¡items ¡ ¡
ì Risk ¡is ¡reviewed ¡and ¡appropriate ¡responses ¡defined. ¡
ì Consolida>ng ¡the ¡informa>on ¡gathered ¡from ¡the ¡review ¡
ì Product ¡Owner ¡ ì Development ¡Team ¡ ì Scrum ¡Master ¡
ì Stakeholders ¡(customers, ¡vendors) ¡ ì Managers ¡
ì The ¡Product ¡Owner ¡represents ¡the ¡voice ¡of ¡the ¡
ì is ¡accountable ¡for ¡ensuring ¡that ¡the ¡Group ¡delivers ¡
value ¡to ¡the ¡business ¡ ì Writes ¡customer-‑centric ¡items ¡(user ¡stories), ¡ ¡
ì priori>zes ¡them ¡ ¡ ì and ¡adds ¡them ¡to ¡the ¡product ¡backlog ¡
ì Scrum ¡groups ¡should ¡have ¡one ¡Product ¡Owner ¡
ì She ¡may ¡also ¡be ¡a ¡member ¡of ¡the ¡Management ¡Group ¡ ì ¡It ¡is ¡recommended ¡that ¡this ¡role ¡not ¡be ¡combined ¡
with ¡ScrumMaster ¡
ì Responsible ¡for ¡delivering ¡poten>ally ¡shippable ¡
ì It ¡is ¡made ¡up ¡of ¡people ¡with ¡cross-‑func>onal ¡skills ¡ ¡
ì who ¡do ¡the ¡actual ¡work ¡ ¡
ì analyze, ¡design, ¡develop, ¡test, ¡technical ¡communica>on, ¡
document, ¡etc ¡ ¡
ì It ¡is ¡self-‑organizing ¡
ì ¡even ¡though ¡they ¡may ¡interface ¡with ¡project ¡
management ¡organiza>ons ¡(PMOs). ¡
ì Scrum ¡Master ¡is ¡accountable ¡for ¡removing ¡
ì She ¡acts ¡as ¡a ¡buffer ¡between ¡the ¡group ¡and ¡any ¡
ì The ¡Scrum ¡Master ¡is ¡the ¡enforcer ¡of ¡rules. ¡ ¡ ì A ¡key ¡part ¡of ¡the ¡role ¡is ¡to ¡protect ¡the ¡Development ¡
ì
The ¡ancillary ¡roles ¡in ¡Scrum ¡groups ¡are ¡those ¡with ¡no ¡formal ¡ role ¡and ¡infrequent ¡involvement ¡in ¡the ¡Scrum ¡process ¡
ì
but ¡nonetheless, ¡must ¡be ¡taken ¡into ¡account. ¡
ì
Stakeholders ¡(customers, ¡vendors): ¡ ¡
ì
People ¡who ¡enable ¡the ¡project ¡and ¡for ¡whom ¡the ¡project ¡ produces ¡the ¡agreed-‑upon ¡benefit[s] ¡ ¡
ì that ¡jus>fy ¡its ¡produc>on ¡
ì
¡They ¡are ¡only ¡directly ¡involved ¡in ¡the ¡process ¡during ¡the ¡ sprint ¡reviews ¡
ì
Managers: ¡ ¡
ì
People ¡who ¡control ¡the ¡environment ¡
ì Daily ¡Scrum ¡ ì Backlog ¡grooming: ¡storyCme ¡ ì Scrum ¡of ¡Scrums ¡ ì Sprint ¡planning ¡meeCng ¡ ì Sprint ¡review ¡meeCng ¡ ì Sprint ¡retrospecCve ¡
ì ¡is ¡a ¡project ¡status ¡mee>ng ¡ ¡
ì The ¡mee>ng ¡starts ¡precisely ¡on ¡>me ¡ ì All ¡are ¡welcome, ¡but ¡normally ¡only ¡the ¡core ¡roles ¡
ì The ¡mee>ng ¡length ¡is ¡set ¡to ¡15 ¡mins ¡ ì The ¡mee>ng ¡should ¡happen ¡at ¡the ¡same ¡loca>on ¡
ì What ¡have ¡you ¡done ¡since ¡yesterday? ¡ ì What ¡are ¡you ¡planning ¡to ¡do ¡today? ¡ ì Any ¡impediments/stumbling ¡blocks? ¡
ì es>ma>ng ¡the ¡exis>ng ¡backlog ¡using ¡effort/points ¡ ì refining ¡the ¡acceptance ¡criteria ¡for ¡individual ¡stories ¡ ì ¡and ¡breaking ¡larger ¡stories ¡into ¡smaller ¡stories ¡
ì
Each ¡day ¡normally ¡a<er ¡the ¡Daily ¡Scrum. ¡
ì
These ¡mee>ngs ¡allow ¡clusters ¡of ¡groups ¡to ¡discuss ¡their ¡work, ¡ focusing ¡especially ¡on ¡areas ¡of ¡overlap ¡and ¡integra>on. ¡
ì
A ¡designated ¡person ¡from ¡each ¡group ¡a[ends. ¡
ì
The ¡agenda ¡will ¡be ¡the ¡same ¡as ¡the ¡Daily ¡Scrum, ¡plus ¡the ¡ following ¡four ¡ques>ons: ¡
ì
What ¡has ¡your ¡group ¡done ¡since ¡we ¡last ¡met? ¡
ì
What ¡will ¡your ¡group ¡do ¡before ¡we ¡meet ¡again? ¡
ì
Is ¡anything ¡slowing ¡your ¡group ¡down ¡or ¡gemng ¡in ¡their ¡way? ¡
ì
Are ¡you ¡about ¡to ¡put ¡something ¡in ¡another ¡group’s ¡way? ¡
ì
Takes ¡place ¡at ¡the ¡beginning ¡of ¡the ¡sprint ¡cycle ¡
ì
The ¡Sprint ¡Planning ¡Mee>ng ¡is ¡a[ended ¡by ¡ ¡
ì
the ¡product ¡owner ¡
ì
Scrum ¡Master ¡
ì
the ¡en>re ¡Scrum ¡Team. ¡ ¡ ì
There ¡are ¡two ¡defined ¡ar>facts ¡resul>ng ¡from ¡this ¡mee>ng: ¡
ì
A ¡sprint ¡goal ¡ ¡
ì
A ¡sprint ¡backlog ¡ ì
A ¡sprint ¡goal ¡is ¡a ¡short, ¡one-‑ ¡or ¡two-‑sentence, ¡descrip>on ¡of ¡what ¡ the ¡team ¡plans ¡to ¡achieve ¡during ¡the ¡sprint. ¡ ¡
ì
It ¡is ¡wri[en ¡collabora>vely ¡by ¡the ¡team ¡and ¡the ¡product ¡owner ¡
ì
The ¡team ¡asks ¡enough ¡ques>ons ¡so ¡that ¡they ¡can ¡turn ¡a ¡high-‑ level ¡user ¡story ¡of ¡the ¡product ¡backlog ¡into ¡the ¡more ¡detailed ¡ tasks ¡of ¡the ¡sprint ¡backlog. ¡
ì
Sprint ¡Backlog ¡is ¡prepared ¡with ¡details ¡of ¡the ¡>me ¡it ¡will ¡take ¡ to ¡do ¡a ¡par>cular ¡work ¡
ì
Iden>fy ¡and ¡communicate ¡how ¡much ¡of ¡the ¡work ¡is ¡likely ¡to ¡ be ¡done ¡during ¡the ¡current ¡sprint ¡
ì
Eight ¡hour ¡>me ¡limit ¡
ì
(1st ¡four ¡hours) ¡Product ¡Owner ¡+ ¡Group: ¡dialog ¡for ¡ priori>zing ¡the ¡Product ¡Backlog ¡
ì
(2nd ¡four ¡hours) ¡Group ¡only: ¡hashing ¡out ¡a ¡plan ¡for ¡the ¡ Sprint, ¡resul>ng ¡in ¡the ¡Sprint ¡Backlog ¡
ì Held ¡at ¡the ¡end ¡of ¡each ¡sprint ¡during ¡which ¡the ¡Scrum ¡
ì Typically ¡this ¡takes ¡the ¡form ¡of ¡a ¡demo ¡of ¡the ¡new ¡
ì It ¡is ¡inten>onally ¡kept ¡very ¡informal, ¡typically ¡with ¡rules ¡
ì A ¡sprint ¡review ¡mee>ng ¡should ¡not ¡become ¡a ¡distrac>on ¡
ì
rather, ¡it ¡should ¡be ¡a ¡natural ¡result ¡of ¡the ¡sprint ¡
ì the ¡Product ¡Owner ¡ ì the ¡Scrum ¡team ¡ ¡ ì the ¡ScrumMaster ¡ ì management, ¡customers, ¡and ¡developers. ¡
ì
The ¡sprint ¡retrospec>ve ¡is ¡usually ¡the ¡last ¡thing ¡done ¡in ¡a ¡
ì
Many ¡teams ¡do ¡it ¡immediately ¡a<er ¡the ¡sprint ¡review. ¡
ì
This ¡is ¡a ¡period ¡at ¡the ¡end ¡of ¡each ¡sprint ¡to ¡deliberately ¡reflect ¡
ì
The ¡en>re ¡team, ¡including ¡both ¡the ¡ScrumMaster ¡and ¡ the ¡product ¡owner ¡par>cipate ¡in ¡this ¡mee>ng. ¡
ì
It ¡has ¡three ¡hour ¡>me ¡limit ¡
ì
Two ¡main ¡ques>ons ¡asked ¡in ¡the ¡sprint ¡retrospec>ve ¡are: ¡ ¡
ì
What ¡went ¡well ¡during ¡the ¡sprint? ¡ ¡
ì
What ¡could ¡be ¡improved ¡in ¡the ¡next ¡sprint? ¡
ì The ¡stories/features ¡are ¡broken ¡down ¡into ¡tasks ¡by ¡the ¡
ì
should ¡normally ¡be ¡between ¡four ¡and ¡sixteen ¡hours ¡of ¡ work ¡ ì Tasks ¡on ¡the ¡sprint ¡backlog ¡are ¡never ¡assigned; ¡ ¡
ì
rather, ¡tasks ¡are ¡signed ¡up ¡for ¡by ¡the ¡group ¡members ¡as ¡ needed ¡during ¡the ¡daily ¡scrum. ¡ ì O<en ¡an ¡accompanying ¡task ¡board ¡is ¡used ¡to ¡see ¡and ¡
ì
like ¡“not ¡checked ¡out”, ¡“checked ¡out” ¡and ¡“done”. ¡
ì Sprint ¡burndown ¡chart ¡
ì
It ¡is ¡a ¡publicly ¡displayed ¡chart ¡(updated ¡daily)showing ¡ remaining ¡work ¡in ¡the ¡sprint ¡backlog. ¡ ¡
ì
It ¡gives ¡a ¡simple ¡view ¡of ¡the ¡sprint ¡progress. ¡ ¡ ì Release ¡burndown ¡chart ¡ ¡
ì
shows ¡the ¡amount ¡of ¡work ¡le< ¡to ¡complete ¡the ¡target ¡ commitment ¡for ¡a ¡Product ¡Release ¡ ì Alterna>ve ¡release ¡burndown ¡chart ¡
ì
which ¡basically ¡does ¡the ¡same, ¡but ¡clearly ¡shows ¡scope ¡ changes ¡to ¡Release ¡Content, ¡by ¡resemng ¡the ¡baseline. ¡
ì Scrum-‑ban ¡is ¡a ¡produc>on ¡model ¡based ¡on ¡Scrum ¡and ¡
ì It ¡is ¡suited ¡for ¡maintenance ¡projects ¡or ¡(system) ¡projects ¡
ì In ¡such ¡cases ¡the ¡>me-‑limited ¡sprints ¡of ¡the ¡Scrum ¡
ì Visualiza>on ¡of ¡the ¡work ¡stages ¡and ¡limita>ons ¡for ¡
ì
that ¡allows ¡for ¡minimum ¡comple>on ¡>me ¡for ¡each ¡user ¡ story ¡or ¡programming ¡error, ¡ ¡
ì
and ¡on ¡the ¡other ¡hand ¡ensures ¡each ¡group ¡member ¡is ¡ constantly ¡employed. ¡
ì
in ¡Scrum, ¡work ¡is ¡divided ¡into ¡sprints ¡that ¡last ¡a ¡certain ¡ amount ¡of ¡>me ¡
ì
whereas ¡in ¡Kanban ¡the ¡workflow ¡is ¡con>nuous. ¡
ì
The ¡SCRUM ¡methodology ¡is ¡designed ¡to ¡be ¡quite ¡flexible ¡
ì
It ¡provides ¡control ¡mechanisms ¡for ¡planning ¡a ¡product ¡release ¡ and ¡then ¡managing ¡variables ¡as ¡the ¡project ¡progresses. ¡ ¡
ì
This ¡enables ¡organiza>ons ¡to ¡change ¡the ¡project ¡and ¡deliverables ¡ at ¡any ¡point ¡in ¡>me, ¡delivering ¡the ¡most ¡appropriate ¡release. ¡
ì
The ¡SCRUM ¡methodology ¡frees ¡developers ¡to ¡devise ¡the ¡most ¡ ingenious ¡solu>ons ¡throughout ¡the ¡project, ¡as ¡learning ¡occurs ¡ and ¡the ¡environment ¡changes. ¡
ì
Small, ¡collabora>ve ¡teams ¡of ¡developers ¡are ¡able ¡to ¡share ¡tacit ¡ knowledge ¡about ¡development ¡processes. ¡ ¡
ì Object ¡Oriented ¡technology ¡provides ¡the ¡basis ¡for ¡the ¡
ì Objects, ¡or ¡product ¡features, ¡offer ¡a ¡discrete ¡and ¡
ì Procedural ¡code, ¡with ¡its ¡many ¡and ¡intertwined ¡
ì SCRUM ¡may ¡be ¡selec>vely ¡applied ¡to ¡ ¡ procedural ¡systems ¡with ¡clean ¡interfaces ¡ ¡ and ¡strong ¡data ¡orienta>on. ¡