Πώς να ξεκινήσετε με τα ADR
Για να ξεκινήσετε να χρησιμοποιείτε ADR, συζητήστε με τους συναδέλφους σας τους παρακάτω τομείς.
Εντοπισμός αποφάσεων:
Πόσο επείγουσα και πόσο σημαντική είναι η αρχιτεκτονική απόφαση;
Πρέπει να ληφθεί τώρα ή μπορεί να περιμένει μέχρι να γίνουν γνωστά περισσότερα;
Τόσο η προσωπική και συλλογική εμπειρία όσο και οι αναγνωρισμένες μέθοδοι και πρακτικές σχεδίασης μπορούν να βοηθήσουν στον εντοπισμό αποφάσεων.
Ιδανικά, διατηρήστε μια λίστα αποφάσεων προς λήψη που συμπληρώνει τη λίστα εργασιών του προϊόντος.
Λήψη αποφάσεων:
Υπάρχουν πολλές τεχνικές λήψης αποφάσεων, τόσο γενικές όσο και ειδικές για την αρχιτεκτονική λογισμικού, για παράδειγμα η χαρτογράφηση διαλόγου (dialogue mapping).
Η ομαδική λήψη αποφάσεων είναι ενεργό θέμα έρευνας.
Εφαρμογή και επιβολή αποφάσεων:
Οι αρχιτεκτονικές αποφάσεις χρησιμοποιούνται στη σχεδίαση λογισμικού· γι' αυτό πρέπει να κοινοποιούνται και να γίνονται αποδεκτές από τα ενδιαφερόμενα μέρη του συστήματος που το χρηματοδοτούν, το αναπτύσσουν και το λειτουργούν.
Τα στυλ κωδικοποίησης όπου η αρχιτεκτονική είναι εμφανής και οι αναθεωρήσεις κώδικα που εστιάζουν σε αρχιτεκτονικά ζητήματα και αποφάσεις είναι δύο σχετικές πρακτικές.
Οι αρχιτεκτονικές αποφάσεις πρέπει επίσης να (επανα)εξετάζονται κατά τον εκσυγχρονισμό ενός συστήματος λογισμικού στο πλαίσιο της εξέλιξής του.
Κοινοποίηση αποφάσεων (προαιρετικά):
Πολλές αρχιτεκτονικές αποφάσεις επαναλαμβάνονται σε διαφορετικά έργα.
Συνεπώς, οι εμπειρίες από προηγούμενες αποφάσεις, καλές ή κακές, μπορούν να αποτελέσουν πολύτιμο επαναχρησιμοποιήσιμο κεφάλαιο όταν εφαρμόζεται μια ρητή στρατηγική διαχείρισης γνώσης.
Τεκμηρίωση αποφάσεων:
Υπάρχουν πολλά πρότυπα και εργαλεία για την καταγραφή αποφάσεων.
Δείτε τις ευέλικτες κοινότητες, π.χ. τα ADR του M. Nygard.
Δείτε τις παραδοσιακές διαδικασίες μηχανικής λογισμικού και σχεδίασης αρχιτεκτονικής, π.χ. τις διατάξεις πινάκων που προτείνονται από την IBM UMF και από τους Tyree και Akerman της CapitalOne.
Για περισσότερα:
- Τα παραπάνω βήματα προέρχονται από το λήμμα της Wikipedia Architectural Decision