SlideShare a Scribd company logo
Αλεξάνδρειο ΤΕΙ Θεσσαλονίκης
Πληροφοριακά Συστήματα 1 – 8η Παρουσίαση
2017 - 2018
Agile
2
Περιεχόμενα
●
Τι είναι το Μανιφέστο για
την ευέλικτη ανάπτυξη
λογισμικού
●
Αρχές που διέπουν το ευέλικτο
μανιφέστο
●
Η ιστορία του Agile
3
Περιεχόμενα
●
Agile μεθοδολογίες
– Scrum
– Kanban
– eXtreme Programming
– Feature Driven Development
– Dynamic Systems Development Method
– Adaptive Software Development
– Crystal Software Development
4
Τι είναι η Ευέλικτη μεθοδολογία
● Δεν είναι συγκεκριμένος τρόπος
δημιουργίας λογισμικού
● Δεν είναι framework
● Δεν είναι μεθοδολογία
● Είναι μανιφέστο
5
Τι είναι η Ευέλικτη μεθοδολογία
● Δεν είναι συγκεκριμένος τρόπος
δημιουργίας λογισμικού
● Δεν είναι framework
● Δεν είναι μεθοδολογία
● Είναι μανιφέστο
6
Τι είναι το Μανιφέστο για
την ευέλικτη ανάπτυξη λογισμικού
●
Μανιφέστο: φανερώνω, καθιστώ κάτι
φανερό, εκδηλώνω και σημαίνει τη
γραπτή διακήρυξη πολιτικού,
κοινωνικού ή καλλιτεχνικού
περιεχομένου, όπου αναφέρονται οι
βασικές αρχές ενός κινήματος ή
εκφράζονται διαμαρτυρίες για μια
δύσκολη κατάσταση που έχει
δημιουργηθεί.
7
Τι είναι το Μανιφέστο για
την ευέλικτη ανάπτυξη λογισμικού
Ανακαλύπτουμε καλύτερους τρόπους
ανάπτυξης λογισμικού στην πράξη και
βοηθάμε τους άλλους να κάνουν το
ίδιο. Αυτή η δραστηριότητα μας έχει
οδηγήσει στο να αξιολογούμε:
By agilemanifesto.org
8
Τι είναι το Μανιφέστο για
την ευέλικτη ανάπτυξη λογισμικού
Tα άτομα και τις α άτομα και τις
αλληλεπιδράσεις
πάνω από τις διαδικασίες και τα
εργαλεία
Tο λογισμικό που ο λογισμικό που
λειτουργεί
πάνω από την εκτενή
τεκμηρίωση
Tο λογισμικό που ην συνεργασία με
τον πελάτη
πάνω από τις συμβατικές
διαπραγματεύσεις
Την ανταπόκριση
στην αλλαγή
πάνω από την τήρηση ενός
προδιαγεγραμμένου
σχεδίου
9
Αρχές που διέπουν το ευέλικτο
μανιφέστο
●
Πρώτη μας προτεραιότητα είναι η
ικανοποίηση του πελάτη μέσω της
έγκαιρης και συνεχούς παράδοσης
χρήσιμου λογισμικού.
●
Οι αλλαγές στις απαιτήσεις είναι
ευπρόσδεκτες, ακόμα και σε
προχωρημένα στάδια της ανάπτυξης. Οι
ευέλικτες διαδικασίες δαμάζουν τις
αλλαγές με στόχο την ενίσχυση του
ανταγωνιστικού πλεονεκτήματος του
πελάτη.
10
Αρχές που διέπουν το ευέλικτο
μανιφέστο
●
Παραδίδουμε συχνά λογισμικό που
λειτουργεί, σε διαστήματα μερικών
εβδομάδων ή μηνών, με προτίμηση
στη συντομότερη χρονική κλίμακα.
●
Οι προγραμματιστές και οι ειδικοί της
αγοράς πρέπει να συνεργάζονται
καθημερινά καθ' όλη τη διάρκεια του
έργου.
11
Αρχές που διέπουν το ευέλικτο
μανιφέστο
●
Θεμελιώνουμε τα έργα γύρω από
άτομα με πάθος και ενδιαφέρον.
Διαμορφώνουμε το κατάλληλο
περιβάλλον, τους παρέχουμε την
αναγκαία υποστήριξη, και
εμπιστευόμαστε την ικανότητά τους
να φέρουν σε πέρας την αποστολή
τους.
12
Αρχές που διέπουν το ευέλικτο
μανιφέστο
●
Η πιο αποδοτική και αποτελεσματική
μέθοδος για τη μετάδοση
πληροφορίας προς και εντός της
ομάδας ανάπτυξης λογισμικού είναι η
συνομιλία πρόσωπο με πρόσωπο.
●
Το λογισμικό που λειτουργεί είναι το
κύριο μέτρο προόδου.
13
Αρχές που διέπουν το ευέλικτο
μανιφέστο
●
Οι ευέλικτες διαδικασίες προάγουν
την αειφόρο ανάπτυξη. Οι χορηγοί, η
ομάδα ανάπτυξης λογισμικού και οι
χρήστες θα πρέπει να είναι σε θέση να
διατηρούν ένα σταθερό ρυθμό επ'
αόριστον.
●
Η διαρκής έμφαση στην τεχνική
αρτιότητα και στην εύρυθμη σχεδίαση
ενισχύουν την ευελιξία.
14
Αρχές που διέπουν το ευέλικτο
μανιφέστο
●
Η απλότητα -- η τέχνη της
μεγιστοποίησης του όγκου της
δουλειάς που δεν χρειάζεται να γίνει --
είναι ουσιώδης.
●
Οι καλύτερες αρχιτεκτονικές,
απαιτήσεις και σχέδια προκύπτουν
από ομάδες πού οργανώνονται μόνες
τους.
15
Αρχές που διέπουν το ευέλικτο
μανιφέστο
●
Σε τακτά χρονικά διαστήματα, η
ομάδα συλλογίζεται για το πώς θα
γίνει πιο αποτελεσματική,
ρυθμίζοντας και προσαρμόζοντας τη
συμπεριφορά της αναλόγως.
16
(Cargo Cults)
17
(Cargo Cults)
Doing Agile Being Agile
18
Η ιστορία του Agile
●
Στα τέλη της δεκαετίας του 1990,
αρκετές μεθοδολογίες άρχισαν να
αυξάνουν σε δημοσιότητα, καθένα με
διαφορετικό συνδυασμό παλιών και
νέων ιδεών.
19
Η ιστορία του Agile
●
Αυτές οι μεθοδολογίες δημιούργησαν
τη στενή συνεργασία μεταξύ της
ομάδας ανάπτυξης και των
επιχειρηματικών φορέων. Με τη συχνή
παράδοση επιχειρηματικής αξίας,
αυτορρυθμιζόμενες ομάδες και
έξυπνοι τρόποι να δημιουργήσουν, να
επιβεβαιώσουν και να παραδώσουν
κώδικα.
20
Η ιστορία του Agile
●
Ο όρος "Agile" εφαρμόστηκε σε αυτή Agile"Agile" εφαρμόστηκε σε αυτή  εφαρμόστηκε σε αυτή
τη συλλογή μεθοδολογιών στις αρχές
του 2001, όταν 17 σύμβουλοι
ανάπτυξης λογισμικού
συγκεντρώθηκαν στο Snowbird της
Γιούτα για να συζητήσουν τις κοινές
ιδέες τους και τις διάφορες
προσεγγίσεις στην ανάπτυξη
λογισμικού.
21
Η ιστορία του Agile
●
Αυτή η κοινή συλλογή αξιών και
αρχών εκφράστηκε στο Μανιφέστο για
την Ανάπτυξη Λογισμικού και των
δώδεκα αρχών.
22
●
Scrum
●
Kanban
●
eXtreme Programming
●
Feature Driven Development
●
Dynamic Systems Development Method
●
Adaptive Software Development
●
Crystal Software Development
●
Lean Software Development
Agile μεθοδολογίες
23
Scrum
Sprint 1
●
Plan
●
Build
●
Tα άτομα και τις est
●
Review
Sprint 2
●
Plan
●
Build
●
Tα άτομα και τις est
●
Review
Sprint 3
●
Plan
●
Build
●
Tα άτομα και τις est
●
Review
Sprint 4
●
Plan
●
Build
●
Tα άτομα και τις est
●
Review
24
Scrum
Tα άτομα και τις eamProduct Owner Scrum Master
Key Roles
25
Scrum
Key Artifacts
Product Backlog
26
Scrum
Ιστορίες χρηστών
Ως ______________
Χρειάζομαι _______________
Για να ________________
27
Scrum
Key Artifacts
Product Backlog Sprint Backlog
28
Scrum
Key Artifacts
Product Backlog Sprint Backlog Burndown Chart
29
Scrum
Sprint
Planning
Daily
Scrum
Sprint
Review
3 Ceremonies
30
Scrum
General
Product Backlog
Sprint Planning
Sprint Backlog
1 με 3 βδομάδες
Daily
Scrum
Sprint
Ptentialy Shippable
Product
Sprint Review
Retrospective
31
Scrum
M TM T W Th F S S M TM T W Th F
Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις  RELEASE
BackLog Done Pile
Agile Board
Sprint
32
Scrum
M TM T W Th F S S M TM T W Th F
Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις  RELEASE
BackLog Done Pile
Agile Board
Sprint
33
Scrum
M TM T W Th F S S M TM T W Th F
Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις  RELEASE
BackLog Done Pile
Agile Board
Sprint
34
Scrum
M TM T W Th F S S M TM T W Th F
Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις  RELEASE
BackLog Done Pile
Agile Board
Sprint
35
Scrum
M TM T W Th F S S M TM T W Th F
Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις  RELEASE
BackLog Done Pile
Agile Board
Sprint
36
Scrum
M TM T W Th F S S M TM T W Th F
Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις  RELEASE
BackLog Done Pile
Agile Board
Sprint
37
Scrum
M TM T W Th F S S M TM T W Th F
Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις  RELEASE
BackLog Done Pile
Agile Board
Sprint
38
Scrum
M TM T W Th F S S M TM T W Th F
Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις  RELEASE
BackLog Done Pile
Agile Board
Sprint
39
Scrum
M TM T W Th F S S M TM T W Th F
Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις  RELEASE
BackLog Done Pile
Agile Board
Sprint
40
Scrum
M TM T W Th F S S M TM T W Th F
Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις  RELEASE
BackLog Done Pile
Agile Board
Sprint
41
Scrum
M TM T W Th F S S M TM T W Th F
Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις  RELEASE
BackLog Done Pile
Agile Board
Sprint
42
Scrum
M TM T W Th F S S M TM T W Th F
Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις  RELEASE
BackLog Done Pile
Agile Board
Sprint
43
Kanban
●
3 basic principles
– Visualize what you do today
– Limit the amount of work in progress
– Enhance flow
44
Kanban
Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις  RELEASE
BackLog Done Pile
Kanban Board
45
Kanban
Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις  RELEASE
BackLog Done Pile
Kanban Board
46
Kanban
Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις  RELEASE
BackLog Done Pile
Kanban Board
47
Kanban
Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις  RELEASE
BackLog Done Pile
Kanban Board
48
Kanban
Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις  RELEASE
BackLog Done Pile
Kanban Board
49
Kanban
Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις  RELEASE
BackLog Done Pile
Kanban Board
50
Kanban
Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις  RELEASE
BackLog Done Pile
Kanban Board
51
52
Kanban
53
eXtreme Programming
●
Το XP είναι μια ελαφριά μεθοδολογία
για ομάδες μικρού και μεσαίου
μεγέθους που αναπτύσσουν λογισμικό
ενάντια σε ασαφείς ή μεταβαλλόμενες
απαιτήσεις
-Kent Beck
54
eXtreme Programming
●
XP - αξίες και αρχές
– Επικοινωνία
– Απλότητα
– Αναπληροφόρηση
– Κουράγιο
55
eXtreme Programming
●
XP – πρακτικές
– Σχεδίαση
– Κυκλοφορίες
– Απλό σχεδιασμό
– Πρώτα έλεγχο
– Ανακατασκευή
– Ομαδικός προγραμματισμός
– Συνεχή ενσωμάτωση
– Με τη μεριά του μελάτη
56
Feature Driven Development
●
Είναι μια από τις ευέλικτες
μεθοδολογίες που δεν μιλάν ούτε
γράφουν πολλά άτομα για αυτή.
Συνήθως αναφέρονται σε αυτή σε
βιβλία που αναφέρονται σε ευέλικτες
μεθοδολογίες όμως είναι λίγα τα
άτομα που γνωρίζουν για αυτή.
57
Feature Driven Development
●
Στάδια
– Δημιουργία ενός γενικού μοντέλου
– Δημιουργία μιας λίστας με λειτουργίες
– Οργάνωση βάση λειτουργιών
58
Dynamic Systems Development
Method
●
Οι οκτώ αρχές της DSDM
– Εστίαση στην επιχειρησιακή ανάγκη
– Παράδοση έγκαιρα
– Συνεργάζομαι
– Ποτέ μην συμβιβάζετε την ποιότητα
– Δημιουργήστε σταδιακά από σταθερά θεμέλια
– Ανάπτυξη επαναληπτικά
– Επικοινωνήστε συνεχώς και με σαφήνεια
– Επιδείξτε τον έλεγχο
59
Adaptive Software Development
●
Στάδια
– Σκέπτομαι
– Συνεργάζομαι
– Μαθαίνω
●
Αυτές οι τρεις φάσεις αντικατοπτρίζουν
τη δυναμική φύση της Προσαρμοστικής
Ανάπτυξης Λογισμικού.
●
Η Προσαρμοσμένη Ανάπτυξη Λογισμικού
έχει έναν δυναμικό Κύκλο Ζωής
Speculate-Collaborate-Learn.
60
Adaptive Software Development
61
Adaptive Software Development -
Speculate
●
Ο όρος plan είναι υπερβολικά
ντετερμινιστικός και δείχνει έναν
αρκετά υψηλό βαθμό βεβαιότητας για
το επιθυμητό αποτέλεσμα. Ο έμμεσος
και σαφής στόχος της συμμόρφωσης
με το σχέδιο περιορίζει την ικανότητα
του διαχειριστή να κατευθύνει το έργο
σε καινοτόμες κατευθύνσεις.
62
Adaptive Software Development -
Speculate
●
Στην Προσαρμοσμένη Ανάπτυξη
Λογισμικού, ο όρος plan αντικαθίσταται
από τον όρο "Agile" εφαρμόστηκε σε αυτή speculate"Agile" εφαρμόστηκε σε αυτή . Ενώ speculate,
η ομάδα δεν εγκαταλείπει τον
προγραμματισμό, αλλά αναγνωρίζει την
πραγματικότητα της αβεβαιότητας σε
σύνθετα προβλήματα. Το Speculate
ενθαρρύνει την εξερεύνηση και τον
πειραματισμό. Οι επαναλήψεις με
μικρούς κύκλους ενθαρρύνονται.
63
Adaptive Software Development -
Collaborate
●
Οι σύνθετες εφαρμογές δεν κατασκευάζονται,
αλλά εξελίσσονται. Οι σύνθετες εφαρμογές
απαιτούν τη συλλογή, ανάλυση και εφαρμογή
μεγάλου όγκου πληροφοριών για το
πρόβλημα. Τα ταραχώδη περιβάλλοντα έχουν
υψηλούς ρυθμούς ροής πληροφοριών. Ως εκ
τούτου, πολύπλοκες εφαρμογές απαιτούν τη
συλλογή, ανάλυση και εφαρμογή μεγάλου
όγκου πληροφοριών για το πρόβλημα. Αυτό
έχει ως αποτέλεσμα ποικίλες απαιτήσεις
γνώσης που μπορούν να αντιμετωπιστούν
μόνο με ομαδική συνεργασία.
64
Adaptive Software Development -
Collaborate
●
Η συνεργασία απαιτεί την ικανότητα να
εργάζονται από κοινού για να παράγουν
αποτελέσματα, να μοιράζονται τη γνώση
ή να λαμβάνουν αποφάσεις.
●
Στο πλαίσιο της διαχείρισης έργων, η
συνεργασία παρουσιάζει μια ισορροπία
μεταξύ της διαχείρισης με τις
παραδοσιακές τεχνικές διαχείρισης και
της δημιουργίας και διατήρησης του
περιβάλλοντος συνεργασίας που
απαιτείται για την εμφάνιση.
65
Crystal Software Development -
Learn
●
Το τμήμα μάθησης του κύκλου ζωής
είναι ζωτικής σημασίας για την
επιτυχία του έργου. Η ομάδα πρέπει
να βελτιώσει συνεχώς τις γνώσεις της,
χρησιμοποιώντας πρακτικές όπως:
– Τεχνικές αξιολογήσεις
– Ρεπορτάζ έργου
– Ομάδες εστίασης πελατών
66
Είναι για μένα;
Περιλαμβάνει
το λογισμικό
Επιχειρησιακές
απαιτήσεις;
Περιλαμβάνει η
ανάπτυξη του
λογισμικού
προσαρμοσμένο
λογισμικό;
Υπάρχει έλλειψη
περιγραφής και
είναι απίθανο να
υπάρξει;
Είναι ο πελάτης
πρόθυμος και ικανός να
προσφέρει ευελιξία στο
πεδίο εφαρμογής;
Να μην
γίνει χρήσει
του Agile.
Να γίνει
χρήσει του
Agile.
Να μην γίνει χρήσει
του Agile εκτός αν
γίνει χρήση
schedule-buffered
προσέγγισης όπως
το Ultimate Scrum.
67
Ευχαριστούμε για
την προσοχή σας
68
Πηγές
●
Agile Manifesto - pdf
https://assets.uits.iu.edu/pdf/Agile-Manifesto.pdf
●
Agile Manifesto
http://agilemanifesto.org/iso/el/manifesto.html
●
Manifesto for Agile Software Development
https://www.agilealliance.org/agile101/the-agile-manifesto/
●
10 reasons you should be using agile
https://www.cio.com/article/3078178/agile-development/10-re
asons-you-should-be-using-agile.html
●
When Not to Use Agile
https://hygger.io/blog/when-not-to-use-agile/
●
When to Use Agile, and When Not to
http://www.fortezzaconsulting.com/blog/when-to-use-agile/
69
Πηγές
●
Comprehensive Guide to the Agile Manifesto
https://www.smartsheet.com/comprehensive-guide-values-pri
nciples-agile-manifesto
●
What is Scrum?
https://www.scrum.org/resources/what-is-scrum/
●
What is Kanban? https://www.versionone.com/what-is-
kanban/
●
What Is Agile Methodology?
https://www.versionone.com/agile-101/agile-methodologies/
●
The Disciplined Agile (DA) Framework
http://www.disciplinedagiledelivery.com/lean-principles/
●
Adaptive Software Development – Lifecycle
https://www.tutorialspoint.com/adaptive_software_developm
ent/adaptive_software_development_lifecycle.htm
70
Πηγές
●
What is DSDM https://www.agilebusiness.org/what-is-dsdm
●
An Introduction to Feature-Driven Development
https://dzone.com/articles/introduction-feature-driven
●
Feature Driven Development (FDD) and Agile Modeling
http://www.agilemodeling.com/essays/fdd.htm
●
Feature Driven Development
http://www.featuredrivendevelopment.com/
●
What is Extreme Programming?
https://ronjeffries.com/xprog/what-is-extreme-programming/
●
Extreme Programming: A gentle introduction
http://www.extremeprogramming.org/
71
Πηγές
●
What is Agile Methodology? How It Works, Best Practices,
Tools https://stackify.com/agile-methodology/
●
Agile Model & Methodology: Guide for Developers and
Testers
https://www.guru99.com/agile-scrum-extreme-testing.html
●
A Beginners Guide To Understanding The Agile Method
https://linchpinseo.com/the-agile-method/
●
Waterfall vs. Agile: Which is the Right Development
Methodology for Your Project?
https://www.seguetech.com/waterfall-vs-agile-methodology/
●
What is agile methodology? Modern software development
explained https://www.infoworld.com/article/3237508/agile-
development/what-is-agile-methodology-modern-software-
development-explained.html
72
Πηγές
●
What is Agile Methodology? - Overview, Definition & Steps
https://study.com/academy/lesson/what-is-agile-methodology
-overview-definition-steps.html
●
Project Management Guide
https://www.wrike.com/project-management-guide/faq/what-i
s-agile-methodology-in-project-management/
●
Agile software development methodologies and how to apply
them
https://www.codeproject.com/articles/604417/agile-software-
development-methodologies-and-how-t
●
Why Agile Is NOT a Methodology
https://www.pmi.org/agile-pmbok/approaches/agile-not-meth
odology
●
Agile Methodology: The Complete Guide to Understanding
Agile Testing
https://www.qasymphony.com/blog/agile-methodology-guide-
agile-testing/

More Related Content

Similar to Flexible software development methodologies

The software crisis and its evolution
The software crisis and its evolutionThe software crisis and its evolution
The software crisis and its evolution
George Kara
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
George Kara
 
Σχεδιάζοντας τον Χρυσό Οδηγό με Design System
Σχεδιάζοντας τον Χρυσό Οδηγό με Design SystemΣχεδιάζοντας τον Χρυσό Οδηγό με Design System
Σχεδιάζοντας τον Χρυσό Οδηγό με Design System
Panos Koutsodimitropoulos
 
User experience: UCD for the Web
User experience: UCD for the WebUser experience: UCD for the Web
User experience: UCD for the Web
Panos Koutsodimitropoulos
 
IT management principles - Prince 2 and ITIL Frameworks (Greek)
IT  management principles - Prince 2 and ITIL Frameworks (Greek)IT  management principles - Prince 2 and ITIL Frameworks (Greek)
IT management principles - Prince 2 and ITIL Frameworks (Greek)
George Koulogiannis
 
3D4AUTO_R4_Virtual Seminars GREEK.pptx
3D4AUTO_R4_Virtual Seminars GREEK.pptx3D4AUTO_R4_Virtual Seminars GREEK.pptx
3D4AUTO_R4_Virtual Seminars GREEK.pptx
3d4auto
 
PRJ3A
PRJ3APRJ3A
PRJ3A
lyckera
 
Μodel of maturity and capacity integration
Μodel of maturity and capacity integrationΜodel of maturity and capacity integration
Μodel of maturity and capacity integration
George Kara
 
Olympiacos MS CRM 3 Microsoft EMEA Case Study
Olympiacos MS CRM 3 Microsoft EMEA Case StudyOlympiacos MS CRM 3 Microsoft EMEA Case Study
Olympiacos MS CRM 3 Microsoft EMEA Case Study
Dimitris Vayenas
 
Εφαρμογές Ανοιχτού Κώδικα για τη Διδασκαλία Προγραμματισμού με την LOGO
Εφαρμογές Ανοιχτού Κώδικα για τη Διδασκαλία Προγραμματισμού με την LOGOΕφαρμογές Ανοιχτού Κώδικα για τη Διδασκαλία Προγραμματισμού με την LOGO
Εφαρμογές Ανοιχτού Κώδικα για τη Διδασκαλία Προγραμματισμού με την LOGO
Iraklis Markelis
 

Similar to Flexible software development methodologies (11)

PRINCE2 introduction
PRINCE2 introductionPRINCE2 introduction
PRINCE2 introduction
 
The software crisis and its evolution
The software crisis and its evolutionThe software crisis and its evolution
The software crisis and its evolution
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
Σχεδιάζοντας τον Χρυσό Οδηγό με Design System
Σχεδιάζοντας τον Χρυσό Οδηγό με Design SystemΣχεδιάζοντας τον Χρυσό Οδηγό με Design System
Σχεδιάζοντας τον Χρυσό Οδηγό με Design System
 
User experience: UCD for the Web
User experience: UCD for the WebUser experience: UCD for the Web
User experience: UCD for the Web
 
IT management principles - Prince 2 and ITIL Frameworks (Greek)
IT  management principles - Prince 2 and ITIL Frameworks (Greek)IT  management principles - Prince 2 and ITIL Frameworks (Greek)
IT management principles - Prince 2 and ITIL Frameworks (Greek)
 
3D4AUTO_R4_Virtual Seminars GREEK.pptx
3D4AUTO_R4_Virtual Seminars GREEK.pptx3D4AUTO_R4_Virtual Seminars GREEK.pptx
3D4AUTO_R4_Virtual Seminars GREEK.pptx
 
PRJ3A
PRJ3APRJ3A
PRJ3A
 
Μodel of maturity and capacity integration
Μodel of maturity and capacity integrationΜodel of maturity and capacity integration
Μodel of maturity and capacity integration
 
Olympiacos MS CRM 3 Microsoft EMEA Case Study
Olympiacos MS CRM 3 Microsoft EMEA Case StudyOlympiacos MS CRM 3 Microsoft EMEA Case Study
Olympiacos MS CRM 3 Microsoft EMEA Case Study
 
Εφαρμογές Ανοιχτού Κώδικα για τη Διδασκαλία Προγραμματισμού με την LOGO
Εφαρμογές Ανοιχτού Κώδικα για τη Διδασκαλία Προγραμματισμού με την LOGOΕφαρμογές Ανοιχτού Κώδικα για τη Διδασκαλία Προγραμματισμού με την LOGO
Εφαρμογές Ανοιχτού Κώδικα για τη Διδασκαλία Προγραμματισμού με την LOGO
 

Flexible software development methodologies

  • 1. Αλεξάνδρειο ΤΕΙ Θεσσαλονίκης Πληροφοριακά Συστήματα 1 – 8η Παρουσίαση 2017 - 2018 Agile
  • 2. 2 Περιεχόμενα ● Τι είναι το Μανιφέστο για την ευέλικτη ανάπτυξη λογισμικού ● Αρχές που διέπουν το ευέλικτο μανιφέστο ● Η ιστορία του Agile
  • 3. 3 Περιεχόμενα ● Agile μεθοδολογίες – Scrum – Kanban – eXtreme Programming – Feature Driven Development – Dynamic Systems Development Method – Adaptive Software Development – Crystal Software Development
  • 4. 4 Τι είναι η Ευέλικτη μεθοδολογία ● Δεν είναι συγκεκριμένος τρόπος δημιουργίας λογισμικού ● Δεν είναι framework ● Δεν είναι μεθοδολογία ● Είναι μανιφέστο
  • 5. 5 Τι είναι η Ευέλικτη μεθοδολογία ● Δεν είναι συγκεκριμένος τρόπος δημιουργίας λογισμικού ● Δεν είναι framework ● Δεν είναι μεθοδολογία ● Είναι μανιφέστο
  • 6. 6 Τι είναι το Μανιφέστο για την ευέλικτη ανάπτυξη λογισμικού ● Μανιφέστο: φανερώνω, καθιστώ κάτι φανερό, εκδηλώνω και σημαίνει τη γραπτή διακήρυξη πολιτικού, κοινωνικού ή καλλιτεχνικού περιεχομένου, όπου αναφέρονται οι βασικές αρχές ενός κινήματος ή εκφράζονται διαμαρτυρίες για μια δύσκολη κατάσταση που έχει δημιουργηθεί.
  • 7. 7 Τι είναι το Μανιφέστο για την ευέλικτη ανάπτυξη λογισμικού Ανακαλύπτουμε καλύτερους τρόπους ανάπτυξης λογισμικού στην πράξη και βοηθάμε τους άλλους να κάνουν το ίδιο. Αυτή η δραστηριότητα μας έχει οδηγήσει στο να αξιολογούμε: By agilemanifesto.org
  • 8. 8 Τι είναι το Μανιφέστο για την ευέλικτη ανάπτυξη λογισμικού Tα άτομα και τις α άτομα και τις αλληλεπιδράσεις πάνω από τις διαδικασίες και τα εργαλεία Tο λογισμικό που ο λογισμικό που λειτουργεί πάνω από την εκτενή τεκμηρίωση Tο λογισμικό που ην συνεργασία με τον πελάτη πάνω από τις συμβατικές διαπραγματεύσεις Την ανταπόκριση στην αλλαγή πάνω από την τήρηση ενός προδιαγεγραμμένου σχεδίου
  • 9. 9 Αρχές που διέπουν το ευέλικτο μανιφέστο ● Πρώτη μας προτεραιότητα είναι η ικανοποίηση του πελάτη μέσω της έγκαιρης και συνεχούς παράδοσης χρήσιμου λογισμικού. ● Οι αλλαγές στις απαιτήσεις είναι ευπρόσδεκτες, ακόμα και σε προχωρημένα στάδια της ανάπτυξης. Οι ευέλικτες διαδικασίες δαμάζουν τις αλλαγές με στόχο την ενίσχυση του ανταγωνιστικού πλεονεκτήματος του πελάτη.
  • 10. 10 Αρχές που διέπουν το ευέλικτο μανιφέστο ● Παραδίδουμε συχνά λογισμικό που λειτουργεί, σε διαστήματα μερικών εβδομάδων ή μηνών, με προτίμηση στη συντομότερη χρονική κλίμακα. ● Οι προγραμματιστές και οι ειδικοί της αγοράς πρέπει να συνεργάζονται καθημερινά καθ' όλη τη διάρκεια του έργου.
  • 11. 11 Αρχές που διέπουν το ευέλικτο μανιφέστο ● Θεμελιώνουμε τα έργα γύρω από άτομα με πάθος και ενδιαφέρον. Διαμορφώνουμε το κατάλληλο περιβάλλον, τους παρέχουμε την αναγκαία υποστήριξη, και εμπιστευόμαστε την ικανότητά τους να φέρουν σε πέρας την αποστολή τους.
  • 12. 12 Αρχές που διέπουν το ευέλικτο μανιφέστο ● Η πιο αποδοτική και αποτελεσματική μέθοδος για τη μετάδοση πληροφορίας προς και εντός της ομάδας ανάπτυξης λογισμικού είναι η συνομιλία πρόσωπο με πρόσωπο. ● Το λογισμικό που λειτουργεί είναι το κύριο μέτρο προόδου.
  • 13. 13 Αρχές που διέπουν το ευέλικτο μανιφέστο ● Οι ευέλικτες διαδικασίες προάγουν την αειφόρο ανάπτυξη. Οι χορηγοί, η ομάδα ανάπτυξης λογισμικού και οι χρήστες θα πρέπει να είναι σε θέση να διατηρούν ένα σταθερό ρυθμό επ' αόριστον. ● Η διαρκής έμφαση στην τεχνική αρτιότητα και στην εύρυθμη σχεδίαση ενισχύουν την ευελιξία.
  • 14. 14 Αρχές που διέπουν το ευέλικτο μανιφέστο ● Η απλότητα -- η τέχνη της μεγιστοποίησης του όγκου της δουλειάς που δεν χρειάζεται να γίνει -- είναι ουσιώδης. ● Οι καλύτερες αρχιτεκτονικές, απαιτήσεις και σχέδια προκύπτουν από ομάδες πού οργανώνονται μόνες τους.
  • 15. 15 Αρχές που διέπουν το ευέλικτο μανιφέστο ● Σε τακτά χρονικά διαστήματα, η ομάδα συλλογίζεται για το πώς θα γίνει πιο αποτελεσματική, ρυθμίζοντας και προσαρμόζοντας τη συμπεριφορά της αναλόγως.
  • 18. 18 Η ιστορία του Agile ● Στα τέλη της δεκαετίας του 1990, αρκετές μεθοδολογίες άρχισαν να αυξάνουν σε δημοσιότητα, καθένα με διαφορετικό συνδυασμό παλιών και νέων ιδεών.
  • 19. 19 Η ιστορία του Agile ● Αυτές οι μεθοδολογίες δημιούργησαν τη στενή συνεργασία μεταξύ της ομάδας ανάπτυξης και των επιχειρηματικών φορέων. Με τη συχνή παράδοση επιχειρηματικής αξίας, αυτορρυθμιζόμενες ομάδες και έξυπνοι τρόποι να δημιουργήσουν, να επιβεβαιώσουν και να παραδώσουν κώδικα.
  • 20. 20 Η ιστορία του Agile ● Ο όρος "Agile" εφαρμόστηκε σε αυτή Agile"Agile" εφαρμόστηκε σε αυτή εφαρμόστηκε σε αυτή τη συλλογή μεθοδολογιών στις αρχές του 2001, όταν 17 σύμβουλοι ανάπτυξης λογισμικού συγκεντρώθηκαν στο Snowbird της Γιούτα για να συζητήσουν τις κοινές ιδέες τους και τις διάφορες προσεγγίσεις στην ανάπτυξη λογισμικού.
  • 21. 21 Η ιστορία του Agile ● Αυτή η κοινή συλλογή αξιών και αρχών εκφράστηκε στο Μανιφέστο για την Ανάπτυξη Λογισμικού και των δώδεκα αρχών.
  • 22. 22 ● Scrum ● Kanban ● eXtreme Programming ● Feature Driven Development ● Dynamic Systems Development Method ● Adaptive Software Development ● Crystal Software Development ● Lean Software Development Agile μεθοδολογίες
  • 23. 23 Scrum Sprint 1 ● Plan ● Build ● Tα άτομα και τις est ● Review Sprint 2 ● Plan ● Build ● Tα άτομα και τις est ● Review Sprint 3 ● Plan ● Build ● Tα άτομα και τις est ● Review Sprint 4 ● Plan ● Build ● Tα άτομα και τις est ● Review
  • 24. 24 Scrum Tα άτομα και τις eamProduct Owner Scrum Master Key Roles
  • 28. 28 Scrum Key Artifacts Product Backlog Sprint Backlog Burndown Chart
  • 30. 30 Scrum General Product Backlog Sprint Planning Sprint Backlog 1 με 3 βδομάδες Daily Scrum Sprint Ptentialy Shippable Product Sprint Review Retrospective
  • 31. 31 Scrum M TM T W Th F S S M TM T W Th F Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις RELEASE BackLog Done Pile Agile Board Sprint
  • 32. 32 Scrum M TM T W Th F S S M TM T W Th F Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις RELEASE BackLog Done Pile Agile Board Sprint
  • 33. 33 Scrum M TM T W Th F S S M TM T W Th F Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις RELEASE BackLog Done Pile Agile Board Sprint
  • 34. 34 Scrum M TM T W Th F S S M TM T W Th F Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις RELEASE BackLog Done Pile Agile Board Sprint
  • 35. 35 Scrum M TM T W Th F S S M TM T W Th F Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις RELEASE BackLog Done Pile Agile Board Sprint
  • 36. 36 Scrum M TM T W Th F S S M TM T W Th F Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις RELEASE BackLog Done Pile Agile Board Sprint
  • 37. 37 Scrum M TM T W Th F S S M TM T W Th F Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις RELEASE BackLog Done Pile Agile Board Sprint
  • 38. 38 Scrum M TM T W Th F S S M TM T W Th F Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις RELEASE BackLog Done Pile Agile Board Sprint
  • 39. 39 Scrum M TM T W Th F S S M TM T W Th F Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις RELEASE BackLog Done Pile Agile Board Sprint
  • 40. 40 Scrum M TM T W Th F S S M TM T W Th F Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις RELEASE BackLog Done Pile Agile Board Sprint
  • 41. 41 Scrum M TM T W Th F S S M TM T W Th F Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις RELEASE BackLog Done Pile Agile Board Sprint
  • 42. 42 Scrum M TM T W Th F S S M TM T W Th F Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις RELEASE BackLog Done Pile Agile Board Sprint
  • 43. 43 Kanban ● 3 basic principles – Visualize what you do today – Limit the amount of work in progress – Enhance flow
  • 44. 44 Kanban Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις RELEASE BackLog Done Pile Kanban Board
  • 45. 45 Kanban Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις RELEASE BackLog Done Pile Kanban Board
  • 46. 46 Kanban Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις RELEASE BackLog Done Pile Kanban Board
  • 47. 47 Kanban Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις RELEASE BackLog Done Pile Kanban Board
  • 48. 48 Kanban Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις RELEASE BackLog Done Pile Kanban Board
  • 49. 49 Kanban Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις RELEASE BackLog Done Pile Kanban Board
  • 50. 50 Kanban Tα άτομα και τις O DO DEV Tα άτομα και τις ESTα άτομα και τις RELEASE BackLog Done Pile Kanban Board
  • 51. 51
  • 53. 53 eXtreme Programming ● Το XP είναι μια ελαφριά μεθοδολογία για ομάδες μικρού και μεσαίου μεγέθους που αναπτύσσουν λογισμικό ενάντια σε ασαφείς ή μεταβαλλόμενες απαιτήσεις -Kent Beck
  • 54. 54 eXtreme Programming ● XP - αξίες και αρχές – Επικοινωνία – Απλότητα – Αναπληροφόρηση – Κουράγιο
  • 55. 55 eXtreme Programming ● XP – πρακτικές – Σχεδίαση – Κυκλοφορίες – Απλό σχεδιασμό – Πρώτα έλεγχο – Ανακατασκευή – Ομαδικός προγραμματισμός – Συνεχή ενσωμάτωση – Με τη μεριά του μελάτη
  • 56. 56 Feature Driven Development ● Είναι μια από τις ευέλικτες μεθοδολογίες που δεν μιλάν ούτε γράφουν πολλά άτομα για αυτή. Συνήθως αναφέρονται σε αυτή σε βιβλία που αναφέρονται σε ευέλικτες μεθοδολογίες όμως είναι λίγα τα άτομα που γνωρίζουν για αυτή.
  • 57. 57 Feature Driven Development ● Στάδια – Δημιουργία ενός γενικού μοντέλου – Δημιουργία μιας λίστας με λειτουργίες – Οργάνωση βάση λειτουργιών
  • 58. 58 Dynamic Systems Development Method ● Οι οκτώ αρχές της DSDM – Εστίαση στην επιχειρησιακή ανάγκη – Παράδοση έγκαιρα – Συνεργάζομαι – Ποτέ μην συμβιβάζετε την ποιότητα – Δημιουργήστε σταδιακά από σταθερά θεμέλια – Ανάπτυξη επαναληπτικά – Επικοινωνήστε συνεχώς και με σαφήνεια – Επιδείξτε τον έλεγχο
  • 59. 59 Adaptive Software Development ● Στάδια – Σκέπτομαι – Συνεργάζομαι – Μαθαίνω ● Αυτές οι τρεις φάσεις αντικατοπτρίζουν τη δυναμική φύση της Προσαρμοστικής Ανάπτυξης Λογισμικού. ● Η Προσαρμοσμένη Ανάπτυξη Λογισμικού έχει έναν δυναμικό Κύκλο Ζωής Speculate-Collaborate-Learn.
  • 61. 61 Adaptive Software Development - Speculate ● Ο όρος plan είναι υπερβολικά ντετερμινιστικός και δείχνει έναν αρκετά υψηλό βαθμό βεβαιότητας για το επιθυμητό αποτέλεσμα. Ο έμμεσος και σαφής στόχος της συμμόρφωσης με το σχέδιο περιορίζει την ικανότητα του διαχειριστή να κατευθύνει το έργο σε καινοτόμες κατευθύνσεις.
  • 62. 62 Adaptive Software Development - Speculate ● Στην Προσαρμοσμένη Ανάπτυξη Λογισμικού, ο όρος plan αντικαθίσταται από τον όρο "Agile" εφαρμόστηκε σε αυτή speculate"Agile" εφαρμόστηκε σε αυτή . Ενώ speculate, η ομάδα δεν εγκαταλείπει τον προγραμματισμό, αλλά αναγνωρίζει την πραγματικότητα της αβεβαιότητας σε σύνθετα προβλήματα. Το Speculate ενθαρρύνει την εξερεύνηση και τον πειραματισμό. Οι επαναλήψεις με μικρούς κύκλους ενθαρρύνονται.
  • 63. 63 Adaptive Software Development - Collaborate ● Οι σύνθετες εφαρμογές δεν κατασκευάζονται, αλλά εξελίσσονται. Οι σύνθετες εφαρμογές απαιτούν τη συλλογή, ανάλυση και εφαρμογή μεγάλου όγκου πληροφοριών για το πρόβλημα. Τα ταραχώδη περιβάλλοντα έχουν υψηλούς ρυθμούς ροής πληροφοριών. Ως εκ τούτου, πολύπλοκες εφαρμογές απαιτούν τη συλλογή, ανάλυση και εφαρμογή μεγάλου όγκου πληροφοριών για το πρόβλημα. Αυτό έχει ως αποτέλεσμα ποικίλες απαιτήσεις γνώσης που μπορούν να αντιμετωπιστούν μόνο με ομαδική συνεργασία.
  • 64. 64 Adaptive Software Development - Collaborate ● Η συνεργασία απαιτεί την ικανότητα να εργάζονται από κοινού για να παράγουν αποτελέσματα, να μοιράζονται τη γνώση ή να λαμβάνουν αποφάσεις. ● Στο πλαίσιο της διαχείρισης έργων, η συνεργασία παρουσιάζει μια ισορροπία μεταξύ της διαχείρισης με τις παραδοσιακές τεχνικές διαχείρισης και της δημιουργίας και διατήρησης του περιβάλλοντος συνεργασίας που απαιτείται για την εμφάνιση.
  • 65. 65 Crystal Software Development - Learn ● Το τμήμα μάθησης του κύκλου ζωής είναι ζωτικής σημασίας για την επιτυχία του έργου. Η ομάδα πρέπει να βελτιώσει συνεχώς τις γνώσεις της, χρησιμοποιώντας πρακτικές όπως: – Τεχνικές αξιολογήσεις – Ρεπορτάζ έργου – Ομάδες εστίασης πελατών
  • 66. 66 Είναι για μένα; Περιλαμβάνει το λογισμικό Επιχειρησιακές απαιτήσεις; Περιλαμβάνει η ανάπτυξη του λογισμικού προσαρμοσμένο λογισμικό; Υπάρχει έλλειψη περιγραφής και είναι απίθανο να υπάρξει; Είναι ο πελάτης πρόθυμος και ικανός να προσφέρει ευελιξία στο πεδίο εφαρμογής; Να μην γίνει χρήσει του Agile. Να γίνει χρήσει του Agile. Να μην γίνει χρήσει του Agile εκτός αν γίνει χρήση schedule-buffered προσέγγισης όπως το Ultimate Scrum.
  • 68. 68 Πηγές ● Agile Manifesto - pdf https://assets.uits.iu.edu/pdf/Agile-Manifesto.pdf ● Agile Manifesto http://agilemanifesto.org/iso/el/manifesto.html ● Manifesto for Agile Software Development https://www.agilealliance.org/agile101/the-agile-manifesto/ ● 10 reasons you should be using agile https://www.cio.com/article/3078178/agile-development/10-re asons-you-should-be-using-agile.html ● When Not to Use Agile https://hygger.io/blog/when-not-to-use-agile/ ● When to Use Agile, and When Not to http://www.fortezzaconsulting.com/blog/when-to-use-agile/
  • 69. 69 Πηγές ● Comprehensive Guide to the Agile Manifesto https://www.smartsheet.com/comprehensive-guide-values-pri nciples-agile-manifesto ● What is Scrum? https://www.scrum.org/resources/what-is-scrum/ ● What is Kanban? https://www.versionone.com/what-is- kanban/ ● What Is Agile Methodology? https://www.versionone.com/agile-101/agile-methodologies/ ● The Disciplined Agile (DA) Framework http://www.disciplinedagiledelivery.com/lean-principles/ ● Adaptive Software Development – Lifecycle https://www.tutorialspoint.com/adaptive_software_developm ent/adaptive_software_development_lifecycle.htm
  • 70. 70 Πηγές ● What is DSDM https://www.agilebusiness.org/what-is-dsdm ● An Introduction to Feature-Driven Development https://dzone.com/articles/introduction-feature-driven ● Feature Driven Development (FDD) and Agile Modeling http://www.agilemodeling.com/essays/fdd.htm ● Feature Driven Development http://www.featuredrivendevelopment.com/ ● What is Extreme Programming? https://ronjeffries.com/xprog/what-is-extreme-programming/ ● Extreme Programming: A gentle introduction http://www.extremeprogramming.org/
  • 71. 71 Πηγές ● What is Agile Methodology? How It Works, Best Practices, Tools https://stackify.com/agile-methodology/ ● Agile Model & Methodology: Guide for Developers and Testers https://www.guru99.com/agile-scrum-extreme-testing.html ● A Beginners Guide To Understanding The Agile Method https://linchpinseo.com/the-agile-method/ ● Waterfall vs. Agile: Which is the Right Development Methodology for Your Project? https://www.seguetech.com/waterfall-vs-agile-methodology/ ● What is agile methodology? Modern software development explained https://www.infoworld.com/article/3237508/agile- development/what-is-agile-methodology-modern-software- development-explained.html
  • 72. 72 Πηγές ● What is Agile Methodology? - Overview, Definition & Steps https://study.com/academy/lesson/what-is-agile-methodology -overview-definition-steps.html ● Project Management Guide https://www.wrike.com/project-management-guide/faq/what-i s-agile-methodology-in-project-management/ ● Agile software development methodologies and how to apply them https://www.codeproject.com/articles/604417/agile-software- development-methodologies-and-how-t ● Why Agile Is NOT a Methodology https://www.pmi.org/agile-pmbok/approaches/agile-not-meth odology ● Agile Methodology: The Complete Guide to Understanding Agile Testing https://www.qasymphony.com/blog/agile-methodology-guide- agile-testing/