Top Banner
Νίκος Ράπτης Παρουσίαση Εισαγωγή στο Scrum
41

Scrum Methodology Introduction

Aug 02, 2015

Download

Software

flyingraptor
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Scrum Methodology Introduction

Νίκος Ράπτης

Παρουσίαση

Εισαγωγή στο Scrum

Page 2: Scrum Methodology Introduction

•Το Scrum είναι μια ευέλικτη διαδικασία που μας επιτρέπει να επικεντρωθούμε στην παροχή της υψηλότερης επιχειρηματικής αξίας στο συντομότερο χρονικό διάστημα.

•Μας επιτρέπει γρήγορα και κατ’ επανάληψη να ελέγξουμε μια πραγματική έκδοση λειτουργικού λογισμικού (κάθε δύο εβδομάδες μέχρι ένα μήνα).

•Η επιχείρηση θέτει τις προτεραιότητες. Οι Ομάδες αυτό-οργανώνονται για να καθορίσουν τον καλύτερο τρόπο παράδοσης των υψηλότερης προτεραιότητας χαρακτηριστικών.

•Κάθε δύο εβδομάδες έως ένα μήνα ο καθένας μπορεί να δει μια πραγματική έκδοση του λογισμικού και να αποφασίσει αν θα την αποδεχθεί, όπως είναι ή αν θα συνεχίσει την βελτίωσή της για μια ακόμη περίοδο sprint.

Το Scrum με 100 λέξεις

Page 3: Scrum Methodology Introduction

Jeff Sutherland◦ Initial scrums at Easel Corp in 1993◦ IDX and 500+ people doing Scrum

Ken Schwaber◦ ADM (President)◦ Scrum presented at OOPSLA 96

with Sutherland◦ Author of three books on Scrum

Mike Beedle◦ Scrum patterns in PLOPD4

Ken Schwaber and Mike Cohn◦ Co-founded Scrum Alliance in 2002,

initially within the Agile Alliance

Οι ρίζες του Scrum

Page 4: Scrum Methodology Introduction

Το Scrum έχει χρησιμοποιηθεί από:

•Microsoft•Yahoo•Google•Electronic Arts•High Moon Studios•Lockheed Martin•Philips•Siemens•Nokia•Capital One•BBC•Intuit

•Nielsen Media•First American Real Estate•BMC Software•Ipswitch•John Deere•Lexis Nexis•Sabre•Salesforce.com•Time Warner•Turner Broadcasting•Oce•NSN (also in Greece)

Πηγή: http://www.mountaingoatsoftware.com

Page 5: Scrum Methodology Introduction

Εμπορικό λογισμικό Εσωτερική ανάπτυξη Ανάπτυξη βάσει σύμβασης Έργα σταθερής τιμής Οικονομικές εφαρμογές Εφαρμογές πιστοποιημένες με

ISO 9001 Ενσωματωμένα συστήματα Συστήματα με απαιτήσεις

χρόνου απρόσκοπτης λειτουργίας 24x7 99,999%

Το Scrum έχει χρησιμοποιηθεί για:

• Ανάπτυξη παιχνιδιών Βίντεο

• Συστήματα Κρίσιμα για την ζωή, εγκεκριμένα από τον οργανισμό τροφίμων και φαρμάκων FDA

• Λογισμικό ελέγχου δορυφόρων

• Διαδικτυακούς τόπους

• Λογισμικό φορητών μονάδων

• Κινητά τηλέφωνα

• Εφαρμογές δικτυακής δρομολόγησης

• Εφαρμογές ISV (Independent Software Vendors)

• Ορισμένες από τις μεγαλύτερες εφαρμογές σε χρήση

Page 6: Scrum Methodology Introduction

Χρήση του Scrum

Πηγή: http://www.versionone.com

Page 7: Scrum Methodology Introduction

Αυτο-οργάνωση ομάδων Το Προϊόν αναπτύσσεται σταδιακά σε μια σειρά

από sprint Οι Απαιτήσεις καταγράφονται ως στοιχεία σε μια

λίστα (Product Backlog) Δεν υπάρχουν προβλεπόμενες ειδικές πρακτικές

ανάπτυξης Χρησιμοποιεί κανόνες παραγωγικότητας για να

δημιουργήσει ένα ευέλικτο περιβάλλον παράδοσης των έργων

Χαρακτηριστικά

Page 8: Scrum Methodology Introduction

Το Μανιφέστο του Agile

Διεργασίες και εργαλεία

Διεργασίες και εργαλεία

Άτομα και αλληλεπιδράσεις

Άτομα και αλληλεπιδράσεις

αντί

Πιστή εφαρμογή σχεδίου

Πιστή εφαρμογή σχεδίου

Ανταπόκριση στις αλλαγές

Ανταπόκριση στις αλλαγές

αντί

Λεπτομερή τεκμηρίωσηΛεπτομερή τεκμηρίωση

Λογισμικό σε λειτουργία

Λογισμικό σε λειτουργία

αντί

Διαπραγμάτευση συμβάσεων

Διαπραγμάτευση συμβάσεων

Συνεργασία με τον πελάτη

Συνεργασία με τον πελάτη

αντί

Πηγή: http://www.agilemanifesto.org/

Page 9: Scrum Methodology Introduction

Scrum

Cancel

Gift wrap

Return

Sprint2-4 βδομάδες

Return

Στόχος Sprint

Sprint backlog

Δυνητική παράδοσητμήματος του προϊόντος

Productbacklog

CouponsGift wrap

Coupons

Cancel

24 ώρες

Page 10: Scrum Methodology Introduction

Τα έργα scrum σημειώνουν πρόοδο σε μια σειρά από “sprints"◦Ανάλογη των επαναλήψεων (iterations) στο Extreme

Programming Τυπική διάρκεια 2–4 βδομάδες ή μέγιστο o ένας

ημερολογιακός μήνας Μια σταθερή διάρκεια οδηγεί σε καλύτερο ρυθμό Το προϊόν σχεδιάζεται, κωδικοποιείται και ελέγχεται

στην διάρκεια του sprint.

Sprints

Page 11: Scrum Methodology Introduction

Διαδοχική έναντι επικαλυπτόμενης ανάπτυξης

Πηγή: “The New Product Development Game” by Takeuchi and Nonaka. Harvard Business Review, January 1986.

Αντί για ένα κάθε φορά...

...στο Scrum λίγο από το καθένα σε κάθε Sprint

Απαιτήσεις Σχεδίαση Κώδικας Έλεγχος

Page 12: Scrum Methodology Introduction

Σχεδιάστε την διάρκεια του sprint με βάση τον χρόνο που θέλετε να δεσμευτείτε δεδομένου ότι δεν θα υπάρξουν αλλαγές.

Δεν υπάρχουν αλλαγές κατά τη διάρκεια ενός sprint

Αλλαγή

Page 13: Scrum Methodology Introduction

Πλαίσιο Scrum

•Product owner

•Scrum Master

•Ομάδα

Ρόλοι

•Sprint planning (Σχεδιασμός)

•Sprint review (Επιθεώρηση)

•Sprint retrospective (Αναθεώρηση)

•Daily scrum meeting (Συναντήσεις)

Συναντήσεις

•Product backlog•Sprint backlog•Burndown charts

Έξοδοι

Page 14: Scrum Methodology Introduction

Πλαίσιο Scrum

•Sprint planning•Sprint review•Sprint retrospective

•Daily scrum meeting

Συναντήσεις

•Product backlog•Sprint backlog•Burndown charts

Έξοδοι

•Product owner

•ScrumMaster•Ομάδα

Ρόλοι

Page 15: Scrum Methodology Introduction

Ορίζει τα χαρακτηριστικά του προϊόντος Αποφασίζει την ημερομηνία κυκλοφορίας και το

περιεχόμενο Είναι υπεύθυνος για την κερδοφορία του προϊόντος

(ROI) Δίνει προτεραιότητα στα χαρακτηριστικά ανάλογα με την

αξία στην αγορά Ρυθμίζει τα χαρακτηριστικά και την προτεραιότητα σε

κάθε επανάληψη, ανάλογα με τις ανάγκες Αποδέχεται ή απορρίπτει τα αποτελέσματα της εργασίας

Ο Product owner

Page 16: Scrum Methodology Introduction

Υπεύθυνος για τη θέσπιση των αξιών και πρακτικών του scrum

Αφαιρεί εμπόδια Βεβαιώνει ότι η ομάδα είναι πλήρως λειτουργική και

παραγωγική Ενεργοποιεί τη στενή συνεργασία όλων των ρόλων

και λειτουργιών Θωρακίζει την ομάδα από εξωτερικές παρεμβολές

Ο ScrumMaster

Page 17: Scrum Methodology Introduction

Τυπικά 5-9 άτομα Διασταυρωμένης λειτουργίας:

◦Προγραμματιστές, ελεγκτές, σχεδιαστές έμπειροι στην χρήση εφαρμογών, κλπ.

Μέλη αποκλειστικής απασχόλησης

Ίσως κάποιες εξαιρέσεις (πχ., ο database administrator)

Η ομάδα

Page 18: Scrum Methodology Introduction

Οι ομάδες είναι αυτο-οργανούμενες

◦Ιδανικά χωρίς τίτλους Η συμμετοχή πρέπει να αλλάζει μόνο

μεταξύ των sprints

Η ομάδα

Page 19: Scrum Methodology Introduction

Pair Programming

Page 20: Scrum Methodology Introduction

•Product owner

•ScrumMaster•Ομάδα

Ρόλοι

Πλαίσιο Scrum

•Product backlog•Sprint backlog•Burndown charts

Έξοδοι

•Sprint planning•Sprint review•Sprint retrospective

•Daily scrum meeting

Συναντήσεις

Page 21: Scrum Methodology Introduction

Sprint Planning Meeting

Ιεράρχηση Sprint

• Ανάλυση και αξιολόγηση του product backlog

• Επιλογή στόχου του sprint

Σχεδίαση Sprint

• Αποφάσεις για το πώς θα επιτευχθεί ο στόχος του sprint (design)

• Δημιουργία του Sprint Backlog (tasks) από τα στοιχεία του Product Backlog (user stories / features)

• Εκτίμηση του Sprint Backlog

ΣτόχοςSprintΣτόχοςSprint

Sprintbacklo

g

Sprintbacklo

g

Επιχειρημ. συνθήκες

Επιχειρημ. συνθήκες

Ικανότητα της

ομάδας

Ικανότητα της

ομάδας

Product BacklogProduct Backlog

ΤεχνολογίαΤεχνολογία

Τρέχων προϊόν

Τρέχων προϊόν

Page 22: Scrum Methodology Introduction

Η ομάδα επιλέγει τα features, από αυτά που δεν έχουν υλοποιηθεί, για τα οποία μπορεί να δεσμευτεί για ολοκλήρωση

Δημιουργείται το sprint backlog

◦ Εντοπίζονται τα tasks και εκτιμάται η διάρκειά τους

◦ Συλλογικά, όχι μόνο από τον ScrumMaster Εξέταση του σχεδιασμού σε υψηλό επίπεδο

Σχεδίαση Sprint

Ως αρμόδιος για το σχεδιασμό διακοπών, θέλω να μπορώ να δω φωτογραφίες από τα ξενοδοχεία.

Ως αρμόδιος για το σχεδιασμό διακοπών, θέλω να μπορώ να δω φωτογραφίες από τα ξενοδοχεία.

Κωδικοποίηση web tier (8)

Κωδικοποίηση του user interface (4)Testing (4)Κωδικοποίηση κλάσεων (6)…

Page 23: Scrum Methodology Introduction

Planning Poker

Page 24: Scrum Methodology Introduction

Πίνακας Εργασιών (Task Board)

Page 25: Scrum Methodology Introduction

Πίνακας Εργασιών (Task Board)

Πηγή: www.targetprocess.com

Page 26: Scrum Methodology Introduction

Παράμετροι

◦Καθημερινά

◦15-λεπτά max

◦Όλοι όρθιοι

Όχι για επίλυση προβλημάτων

◦Καλείται όλος ο κόσμος

◦Μόνο τα μέλη της ομάδας, ο ScrumMaster, και ο product owner, μπορούν να μιλήσουν

Βοηθά στην αποφυγή άλλων περιττών συναντήσεων

Το καθημερινό scrum (Daily Scrum)

Page 27: Scrum Methodology Introduction

Αυτά δεν περιγράφουν κατάσταση έργου προς τον ScrumMaster◦ Είναι δεσμεύσεις μπροστά στους ομότιμους

Ο καθένας απαντά σε 3 ερωτήσεις

Τι έκανες χθες?Τι έκανες χθες?11

Τι θα κάνεις σήμερα?Τι θα κάνεις σήμερα?22

Υπάρχει κάτι στο δρόμο σου?Υπάρχει κάτι στο δρόμο σου?33

Page 28: Scrum Methodology Introduction

Η ομάδα παρουσιάζει αυτό που έχει επιτευχθεί κατά τη διάρκεια του sprint

Συνήθως παίρνει τη μορφή ενός demo νέων χαρακτηριστικών ή υποκείμενης αρχιτεκτονικής

Άτυπη

◦ 2-ώρες προετοιμασία

◦ Χωρίς διαφάνειες

Συμμετέχει όλη η ομάδα Καλείται όλος ο κόσμος

Απολογισμός Sprint (Sprint review)

Page 29: Scrum Methodology Introduction

Περιοδική ματιά σε αυτό που επιτεύχθηκε ή δεν λειτουργεί Τυπικά 15–30 λεπτά Μετά ακριβώς από κάθε sprint Συμμετέχει όλη η ομάδα

◦ ScrumMaster

◦ Product owner

◦ Ομάδα

◦ Ενδεχομένως οι πελάτες και άλλοι

Ανακεφαλαίωση Sprint (Sprint Retrospective)

Page 30: Scrum Methodology Introduction

Mad / Sad/ Glad

Page 31: Scrum Methodology Introduction

Όλη η ομάδα συλλέγει πληροφορίες και αναλύει τι θα ήθελε να:

Έναρξη / Σταμάτημα / Συνέχιση

Αρχίσει να κάνειΑρχίσει να κάνει

Σταματήσει να κάνει

Σταματήσει να κάνει

Συνεχίσει να κάνει

Συνεχίσει να κάνει

Αυτό είναι απλά ένας από τους

πολλούς τρόπους για να

γίνει μια ανακεφαλαίωση

sprint

Page 32: Scrum Methodology Introduction

•Product owner

•ScrumMaster•Ομάδα

Ρόλοι

Πλαίσιο Scrum

•Sprint planning•Sprint review•Sprint retrospective

•Daily scrum meeting

Συναντήσεις

•Product backlog•Sprint backlog•Burndown charts

Έξοδοι

Page 33: Scrum Methodology Introduction

Οι απαιτήσεις Μια λίστα όλων των

επιθυμητών εργασιών για το έργο

Στην ιδανική περίπτωση εκφρασμένες έτσι ώστε κάθε στοιχείο να έχει αξία για τους χρήστες ή πελάτες του προϊόντος

Ιεραρχημένες από τον ιδιοκτήτη του προϊόντος

Ιεραρχημένες κατά την έναρξη κάθε sprint

Product backlog (υπόλοιπο προϊόντος)

Αυτό είναι το υπόλοιπο του

προϊόντος

Αυτό είναι το υπόλοιπο του

προϊόντος

Page 34: Scrum Methodology Introduction

Δείγμα Product BacklogΣτοιχείο Backlog Εκτίμηση

Άδεια σε επισκέπτη να κάνει κράτηση 3

Ακύρωση κράτησης από επισκέπτη 5

Αλλαγή ημερομηνιών κράτησης από επισκέπτη

3

Εκτέλεση της αναφοράς (Έσοδα ανά διαθέσιμο δωμάτιο), από υπάλληλο

8

Βελτίωση χειρισμού εξαιρέσεων 8

... 30

... 50

Page 35: Scrum Methodology Introduction

Τα άτομα δεσμεύονται για εργασία της επιλογής τους ◦Οι εργασίες δεν εκχωρούνται ποτέ

Η εκτιμώμενη υπολειπόμενη εργασία, ενημερώνεται καθημερινά

Διαχείριση του υπόλοιπου sprint (backlog)

Page 36: Scrum Methodology Introduction

Yπόλοιπο sprint (backlog) σε Story Points

Εργασίες TasksΕργασίες TasksΚώδικας για user interface

Κώδικας web tier

Έλεγχος web tier

Συγγραφή online help

Συγγραφή κλάσεων

ΔεΔε8

16

8

12

8

ΤρΤρ4

12

16

8

ΤεΤε ΠεΠε

4

11

8

4

ΠαΠα

8

8

Προσθήκη error logging

8

10

16

8

8

Page 37: Scrum Methodology Introduction

Διάγραμμα sprint burndown

05

101520253035404550

23/5/2013 30/5/2013 6/6/2013

Πό

ντο

ι

14/6/2013 21/6/2013 28/6/2013

Page 38: Scrum Methodology Introduction

Πό

ντο

ι

40

30

20

10

0Δε Τρ Τε Πε Πα

Εργασίες TasksΕργασίες TasksΚώδικας για user interface

Κώδικας web tier

Έλεγχος web tier

Συγγραφή online help

ΔεΔε8

16

8

12

ΤρΤρ ΤεΤε ΠεΠε ΠαΠα4

12

16

7

11

8

10

16 8

50

Page 39: Scrum Methodology Introduction

Scrum of scrums

Page 40: Scrum Methodology Introduction

Scrum of scrums of scrums

Page 41: Scrum Methodology Introduction

Πηγή: http://www.mountaingoatsoftware.com