Ολίγες ενστάσεις: modelling **δεν** είναι δουλειά των business/system analysts. Η UML και το BPMN **δεν** δημιουργήθηκαν από αυτούς που αυτοαποκαλούνται business analysts ενώ στην ουσία κάνουν first level requirements engineering.
Δημιουργήθηκαν από Software Engineers, για να διευκολύνουν τη σχεδίαση. Αντιγράφηκαν από business consultants των οποίων τα καρτελάκια γράφουν business analysts. Υπάρχουν οι *ρόλοι* αυτοί, αλλά τα *άτομα* που τους καλύπτουν αλλάζουν σε ένα έργο.
Ένας business analyst δεν έχει (ίσως καθόλου) το θεωρητικό ή πρακτικό υπόβαθρο που απαιτούνται για να σχεδιάσει ένα σύστημα πληροφορικής (πολύπλοκο ή μη). Μπορεί να σχεδιάσει τον τρόπο εργασίας *της επιχείρισης*, δεν έχει ιδέα όμως πως αυτό θα σχεδιασθεί, υλοποιηθεί, συντηρηθεί. Γι αυτό και βλέπεις συχνά "απαιτήσεις έργου" μερικών σελίδων bullets, οι οποίες αλλάζουν εντελώς όταν ασχοληθεί με το θέμα ο architect.
Οι Requirements engineers εν τω μεταξύ χρησιμοποιούν διάφορες μεθοδολογίες, διαγράμματα αλλά και κείμενα, πρώτον για να βρουν και δεύτερον για να αναπαραστήσουν τις απαιτήσεις και τις διασυνδέσεις μεταξύ τους. Το οβάλ της UML μπορεί να είναι ένα πολυσέλιδο use case στο οποίο καταλήγει κανείς με αρκετό κόπο, χρησιμοποιώντας συνδυασμό μεθόδων όπως τη Unified Process (η οποία είναι κάτι πολύ διαφορετικό από τη UML).
Το ξέρω γιατί ήμουν στα βαφτίσια
Ένσταση #2 - η διαφοροποίηση μεταξύ γλωσσών προγραμματισμού και επεξεργασίας δεδομένων (C vs SQL) είναι εντελώς λάθος. Πολύ απλά, όλοι οι senior προγραμματιστές χρησιμοποιούν SQL. Δεν έχει νόημα να πεις "ποιά χρησιμοποιείς κυρίως" γιατί το 80% των εφαρμογών μιλάει με βάσεις δεδομένων.
#3 - Φυσικά και **όλα** τα project είναι πολύ περίπλοκα, και το δικό μου περισσότερο απ' όλα! Δεν υπάρχει προγραμματιστής που θα πει ότι το σύστημα του είναι "λίγο" περίπλοκο. Φυσικά και υπάρχουν και πιο περίπλοκα από το δικό του αλλά αυτά είναι "ειδικές περιπτώσεις" που δεν μετράνε, οπότε το δικό μου είναι πάντα το πιο περίπλοκο.
Πρέπει οπωσδήποτε να υπάρχει μία εξήγηση τί σημαίνει περίπλοκο, αν και υπάρχουν διάφορα είδη περιπλοκότητας.
Πρόκειται για αυτόνομη εφαρμογή ή συνδυασμό συστημάτων? Σε ένα e-shop συνδυάζονται πάρα πολλά συστήματα μαζί, από το site στις πληρωμές, το ERP, το CRM κλπ.
Πόσα άτομα συμμετέχουν σε αυτό? Άλλο αν όλη η δουλειά γίνεται από 1 άτομο, άλλο αν υπάρχουν 5 ομάδες των 4 ατόμων η κάθε μία (χώρια τους admins)
Σύνδεση με άλλα συστήματα? Το integration είναι μανίκι. Άλλο το app που μιλάει με το δικό του server, άλλο να μιλάς με 3 εξωτερικά συστήματα
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos