Recentemente mi è stato assegnato un nuovo progetto per iniziare a progettare e visualizzare i processi di business. Sfortunatamente non riesco a spiegarmelo, capisco cosa vuole il cliente, ma non capisco come tradurlo in un progetto adeguato, ciò che è tecnicamente corretto ha senso.
La pianificazione che ho elaborato fino ad ora è:
- Estrai i casi d'uso del briefing.
- Progetta un diagramma dei casi d'uso per questi casi d'uso.
- Scrivi tutte le specifiche del caso d'uso.
- Mappare il dominio del sistema in un modello di dominio.
- Traduci il modello di dominio in un diagramma di relazioni di entità.
- Progetta diagrammi di sequenze e / o componenti per tutti i casi d'uso complessi.
- Progetta un diagramma di classe.
- Progetta un diagramma di distribuzione e / o pacchetto quando necessario.
- Progetta i frame Wire.
Naturalmente comincerò con lo sketch di tutti i documenti prima di finalizzare uno specifico. Ma prima di iniziare a progettare questo progetto devo assicurarmi che ci sia qualche tipo di controllo su ciò che dimostra che sono sulla strada giusta. So che ci sono parti interessate e sviluppatori che possono aiutarmi a verificare i progetti quando li ho realizzati o posso fare domande, ma in realtà non c'è nessuno che conosca chi può aiutarmi a iniziare bene.
Lascia che ti spieghi alcuni dei contesti con i quali sono sfidato, per aiutarti a capire e forse a chiarire lo scenario di cui sto parlando:
- Il progetto è già in fase di sviluppo, anche se non sono favorevole a questa decisione.
- Il progetto dovrebbe essere separato in più sistemi. Che sono parzialmente accessibili attraverso il modello di gateway. Attualmente c'è uno di quei sistemi in sviluppo. Quello che capisco è che ci sono più applicazioni aziendali (software di fatturazione, CMS, API .. con forse anche più avanti).
- Il pubblico di destinazione è enorme e quindi il software deve essere in grado di funzionare senza problemi quando 1000 o più utenti lo utilizzano contemporaneamente. Per facilitare lo sviluppo di quella parte, la decisione è già stata presa per ospitare il nostro software con Amazon i loro servizi Web, per esternalizzare i processi che devono essere eseguiti in determinate circostanze.
- L'applicazione che si sta sviluppando in questo momento doveva già essere costruita a causa di scadenze rigorose e del breve lasso di tempo. Ho parlato con lo sviluppatore principale che mi ha detto che ci sono molti "micro servizi" che hanno determinati lavori o soddisfano i requisiti di una particolare caratteristica. Tuttavia, poiché non esiste una progettazione software e non è nemmeno chiara la visione di ciò che verrà aggiunto o modificato in futuro, lo sviluppatore ha deciso di mantenere una struttura piuttosto piatta e semplice.
- La documentazione su ciò che è stato scritto adesso preferisco chiamare una lista gigante di caratteristiche / requisiti o un briefing.
- Inoltre, ritengo sia poco importante notare che il sistema dovrebbe essere in grado di analizzare un'ampia varietà di dati generati dal sistema e, forse, anche sistemi esterni, che alla fine verranno utilizzati per scopi di marketing. Pertanto devo mappare i processi di elaborazione dei dati per migliorare ad es. data warehousing.
Beh, una conclusione sarebbe bella ora :) non credi?
Quasi tutto ciò che so di questo progetto è spiegato sopra eccetto il dominio e il processo aziendale (a causa di una NDA). Ma come faccio a sapere / convalidare o sono sulla buona strada? Ho chiesto informazioni sufficienti o hai qualche consiglio o feedback? Per favore fatemi sapere.