Η σημαντικότητα της ανάλυσης σε ένα έργο λογισμικού

  • Προβολές130
  • Argyrispro
  • 2020-04-11
  • Αρχική
  • Η σημαντικότητα της ανάλυσης σε ένα έργο λογισμικού
Η σημαντικότητα της ανάλυσης σε ένα έργο λογισμικού

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

Την φάση της ανάλυσης. Μια απαραίτητη διαδικασία, η οποία πρέπει να ολοκληρώνεται προτού ξεκινήσει η ανάπτυξη ενός project.

Δυστυχώς συχνά βλέπουμε μεγάλα έργα να ξεκινούν είτε χωρίς ανάλυση – πλάνο είτε με εντελώς επιφανειακή ανάλυση.

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

Οι λόγοι που συμβαίνει αυτό, είναι αρκετοί. Αρχικά αρκετός κόσμος , ο οποίος δεν έχει κάποιο σχετικό τεχνικό background, είναι οπαδός της λογικής βλέποντας ( το feedback της αγοράς ) και κάνοντας. Αυτό δυστυχώς δεν μπορεί να υποστηριχθεί σε επίπεδο λογισμικού με την ταχύτητα που θα απαιτηθεί στην πράξη ώστε να γίνουν οι προσαρμογές – νέες υλοποιήσεις.

Το να λάβεις το feedback της αγοράς, είναι βέβαια εξαιρετικά σημαντικό για να το παραβλέψουμε, διότι η ιδέα σου μπορεί να μην βρει ανταπόκριση, οπότε να μην αξίζει να επενδύσεις πάνω της.

Γι αυτό ακριβώς σχεδιάζουμε πάντα ένα prototype – demo το οποίο και παρουσιάζουμε ή τουλάχιστον φτιάχνουμε το πλάνο της πρώτης έκδοσης με τις ελάχιστες επιλογές σε επίπεδο μηχανισμών και βγαίνουμε στην αγορά με ολοκληρωμένο αρχικό προϊόν.

Πάντοτε άλλωστε στο λογισμικό θα χρειαστεί να κάνουμε refactor, διότι οι αρχικές εκτιμήσεις είτε πλέον έχουν αλλάξει, είτε τις είχαμε φανταστεί διαφορετικές, είτε υλοποιήθηκαν βιαστικά με κακό σχεδιασμό ή/και κώδικα.

Αυτά όλα είναι θεμιτά και συμβαίνουν και στις καλύτερες οικογένειες. Ιδανικές καταστάσεις δεν υπάρχουν στην πράξη. Το θέμα όμως είναι να υπάρχει ένα πλάνο Α-Ζ, να ξέρουμε τι φτιάχνουμε, να ξέρουμε την μορφή του προϊόντος μας και να μην κινούμαστε στα τυφλά.

Δεν υπάρχει χειρότερο πράγμα για έναν προγραμματιστή, το να μην γνωρίζει τι ακριβώς υλοποιεί και μετά να πρέπει να αλλάζει συνεχώς το data structure, την λογική ,  τους κανόνες και τις εξαιρέσεις μιας εφαρμογής.

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

Η ανάλυση και η κατάρτιση ενός τεχνικού πλάνου λοιπόν είναι εξαιρετικά ζωτικής σημασίας για την επιτυχή ανάπτυξη ενός λογισμικού.

Θα κλείσω το άρθρο αυτό, με  ένα από τα αγαπημένα μου μότο.

«Ένας στόχος χωρίς πλάνο, είναι απλά μια ευχή!».

Προσίλης Αργύρης

Backend - Web Developer

Επικοινωνήστε μαζί μου

Έχετε κάποια ιδέα ή επαγγελματική πρόταση; Θα χαρώ πολύ να σας ακούσω!

Messenger

Argyris Prosilis

Τοποθεσία

Ελλάδα, Αθήνα, Ερμιονίδα, Worldwide