giovedì 10 febbraio 2011

un progetto da zero, ovvero l'autocoscienza del software architect

Immaginiamo che un azienda che produce oggetti XY, uno diverso dall'altro, a un certo punto dica, "cavoli questi XY stanno diventando tanti, c'è un sacco di gente che ci lavora sopra: io voglio monitorare lo stato di avanzamento di ogni XY e sapere quando è pronto per essere consegnato"
Beh, niente di male: si vuole gestire il flusso di lavoro su ogni XY
Visto che ciascun XY è diverso dall'altro, ciascuno prevederà una fase di analisi, una fase di implementazione, una di test, una di documentazione, etc. etc. fino al rilascio vero e proprio: ad ognuna di queste fasi lavoreranno persone diverse ed alcune fasi potranno essere in parallelo (es. posso iniziare a scrivere la documentazione di un XY anche se il test non è finito)
Cosa significherà implementare il sistema di gestione del flusso di lavoro degli XY?
Prima di tutto sentire i diretti interessati e definire la sequenza di passi che devono essere svolti, e poi capire quali form, report, azioni automatiche, notifiche etc. etc. deve gestire il sistema.
Lasciamo ai signori dell'ISO la documentazione delle procedure ed occupiamoci del software di gestione.

Immaginiamo ora che non ci siano grossi vincoli di deploy o tecnologici: possiamo scegliere ambiente di sviluppo, framework web, workflow engine e perfino il S.O.
Come ci muoviamo? Da dove partiamo?
Un bell'Activity Diagram UML oppure iniziamo da agilisti duri e puri? Andiamo di Django o ci sogniamo di usare J2EE? Valutiamo di utilizzare un workflow engine? Etc. etc.

Ammesso che abbia tempo di scriverli (e non è detto) questo post dovrebbe essere il primo di una serie orientata ad incrementare la consapevolezza software-architetturale :-)
Sono in discussione i metodi, gli strumenti e lo stesso modo di lavorare... oddio, mettere in discussione proprio tutto-tutto è un tantino irrealistico però quante volte ci siamo detti che sarebbe stato bello poterlo fare... :-)
Non credo che questi post saranno granché sistematici, però diciamo che qualche appunto spero di scriverlo :-) Commenti sarebbe grandemente graditi, anzi auspicati, anzi attesi... insomma... fatevi sotto :-D

Nessun commento: