Η έννοια της «ανάλυσης αναγκών» είναι κάτι πολύ περισσότερο από μια απλή αρχική συζήτηση με τον πελάτη. Στην πράξη, ειδικά στις custom εφαρμογές, η ανάλυση αναγκών δεν τελειώνει ποτέ πραγματικά. Εξελίσσεται μαζί με την εφαρμογή. Συχνά οι εργοδότες ή οι πελάτες πιστεύουν ότι «γράφουμε τις ανάγκες στην αρχή και μετά απλώς προγραμματίζουμε». Στην πραγματικότητα όμως, η ανάπτυξη λογισμικού λειτουργεί σε στάδια.Θα μπορούσαμε να το πούμε σαν επίπεδα ωρίμανσης της κατανόησης των αναγκών.
1. Αρχική Ανάλυση – Η Θεωρητική Εικόνα
Στην αρχή, οι ανάγκες περιγράφονται θεωρητικά.Ο χρήστης λέει:
- τι πιστεύει ότι χρειάζεται
- ποιο πρόβλημα θέλει να λύσει
- ποια διαδικασία θέλει να οργανώσει
Όμως στην πραγματικότητα σε αυτό το στάδιο πολλές λεπτομέρειες λείπουν , αρκετές διαδικασίες θεωρούνται «αυτονόητες» , υπάρχουν κρυφές εξαρτήσεις που δεν έχουν φανεί ακόμη. Άρα η αρχική ανάλυση είναι περισσότερο ένας χάρτης κατεύθυνσης και όχι η πλήρης πραγματικότητα
2. Η Εφαρμογή Αρχίζει να “Ζει”
Μόλις δημιουργηθεί ένα πρώτο λειτουργικό draft, συμβαίνει κάτι πολύ σημαντικό ,οι χρήστες αρχίζουν να βλέπουν τη διαδικασία μπροστά τους και τότε εμφανίζονται σχόλια όπως:
- «Α εδώ χρειαζόμαστε άλλο πεδίο»
- «Αυτό τελικά το χειρίζεται άλλο τμήμα»
- «Αυτή η πληροφορία πρέπει να συνδέεται με εκείνη»
- «Η πραγματική ροή είναι διαφορετική»
Δηλαδή η πραγματική ανάλυση αναγκών ξεκινά να αποκαλύπτεται στους χρήση.
3. Η Ανακάλυψη Κρυφών Διαδικασιών
Σε πολλά projects, η επιχείρηση λειτουργεί επί χρόνια με προφορικές διαδικασίες , εμπειρικούς κανόνες , προσωπικές συνήθειες εργαζομένων, εγγραφα (όπως excel) που “κρατάνε το σύστημα ζωντανό”. Όταν όμως πάμε να τα μεταφέρουμε σε εφαρμογή, αποκαλύπτονται:
- εξαιρέσεις
- ειδικές περιπτώσεις
- άτυποι κανόνες
- πραγματικές ροές εργασίας
Αυτό είναι ίσως το πιο δύσκολο κομμάτι της ανάπτυξης custom εφαρμογών , ουσιαστικά δεν αναπτύσεται απλά ένα software αλλά ταυτόχρονα γίνεται κάτι πολύ σημαντικό που πολλές φορες περνάει απαρατήρητο. Ταυτόχρονα με την ανάπτυξη γίνεται χαρτογράφηση της ίδιας της λειτουργίας της επιχείρησης.
4. Η Ανάλυση Μετατρέπεται σε Συνεργασία
Σε αυτό το σημείο, η ανάπτυξη παύει να είναι «ο προγραμματιστής γράφει κώδικα» και γίνεται συνεχής συνεργασία μεταξύ χρηστών και ανάπτυξης. Και σε αυτό το σημείο συμβαίνει κάτι σχεδόν μαγικό , η εφαρμογή λειτουργεί σαν «καθρέφτης» της επιχείρησης καί όσο οι χρήστες έρχονται σε επαφή και την χρησιμοποιούν καταλαβαίνουν καλύτερα τις ανάγκες τους , εντοπίζουν ασυνέπειες , βλέπουν τι πραγματικά τους καθυστερεί , ανακαλύπτουν δυνατότητες αυτοματοποίησης και με αυτο τον τρόπο η ίδια η εφαρμογή βοηθά την επιχείρηση να κατανοήσει βαθύτερα τον εαυτό της.
5. Η Φάση Ωρίμανσης
Σε ώριμες εφαρμογές, πολλές από τις πιο σημαντικές λειτουργίες δεν είχαν προβλεφθεί στην αρχική ανάλυση.Προέκυψαν μέσα από την πραγματική χρήση. Μετά την παραγωγική χρήση, ξεκινά η πιο ουσιαστική περίοδος: η ωρίμανση. Αυτή ειναι η στιγμή που:
- σταθεροποιούνται οι διαδικασίες
- βελτιώνονται οι ροές
- μειώνονται τα περιττά βήματα
- αυτοματοποιούνται επαναλαμβανόμενες εργασίες
- δημιουργούνται νέες ανάγκες που πριν δεν ήταν ορατές
Ένα σημαντικό συμπέρασμα
Η ανάπτυξη custom λογισμικού δεν είναι μια γραμμική διαδικασία όπου γράφουμε τις ανάγκες / απαιτήσεις μετα γράφουμε κώδικα και τελειώσαμε.Στην πράξη είναι ένας συνεχής κύκλος ανάλυσης , υλοποίησης , παρατήρησης και ανατροφοδότησης με σκοπό την βελτίωση αλλά και το επανασχεδιασμό όπου χριεάζεται. Και αυτός ακριβώς είναι ο λόγος που οι μεγάλες custom εφαρμογές ωριμάζουν πραγματικά μόνο μέσα από τη μακροχρόνια χρήση τους και την καταλληλη σχέση μεταξύ του τμήματος ανάπτυξης και των χρηστών.