<br><br><div class="gmail_quote">Il giorno 04 settembre 2012 11:53, Simone Federici <span dir="ltr"><<a href="mailto:s.federici@gmail.com" target="_blank">s.federici@gmail.com</a>></span> ha scritto:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>direi che se vuoi parlare di django, la cosa sarà molto gradita</div><div>fammi sapere se vuoi una mano per l'abstract</div></blockquote><div><br>verifico in azienda se si può parlare di argomenti che sono legati a business interno<br>
<br>mi piacerebbe fare non tanto una presentazione super tecnica quanto piuttosto un caso d'uso in cui django (e python) hanno decisamente semplificato la vita ad un intero gruppo di persone con conseguente tempestività con il cliente finale, etc etc.<br>
... con gran gioia di lean-manager e compagnia cantante<br><br>Chiarisco che il mio ruolo in azienda non è quello di fare sw per il cliente finale bensì per db aziendali e/o a supporto dei workflow interni di r&d e produzione<br>
<br>In un progetto recente in particolare, visto la rapidità di sviluppo con django, si è potuto fare un prototipo funzionante in giorni<br><br>Il bello è che poi il prototipo è stato usato per generare i primi dati da condividere con il cliente. Quindi è stato usato, praticamente, in produzione.<br>
<br>Il bello è che rispetto ad altri prodotti da ufficio (Access!) c'è comunque l'enorme vantaggio che gli utenti non si trovano a scambiare file (orrendi mdb!) ma si può partire da subito a lavorare su un db condiviso via http<br>
(Visto che poi con l'admin di django si riesce a dargli un editing decente con poche righe di codice, grande!)<br><br>Allo stato attuale ci mi trovo che il prototipo andrà completato in modo da centralizzare una serie di procedure semi-automatiche con micro-tool vari<br>
<br>Il problema è che il prototipo andrà buttato via<br><br>E' risultato che il workflow usato in questa fase iniziale non è adeguato al ciclo di lavoro "vero" che si dovrà adottare a regime.<br><br>Come dire che un po' per l'emergenza e un po' per recuperare lo storico si è seguito un modo di lavorare che ha solo in piccola parte a che fare con il flusso di lavoro che si seguirà a regime per la produzione futura.<br>
<br>Niente paura! Butto via il prototipo e rifaccio il sistema da zero usando tutto il know-how accumulato ed eventuali procedurine critiche che sono state messe a punto in questa prima fase<br><br>... ma non si sarebbe potuto fare bene le cose da subito e definire correttament eil workflow già dall'inizio?!?<br>
No!! Sappiamo benissimo che quando si comincia a lavorare sul prototipo<br>1) non sono ancora chiusi gli accordi commerciali con il cliente finale<br>2) in azienda non è ancora chiaro nei dettagli cosa e come bisognerà prdurre<br>
3) agli utenti se parli di un ciclo futuro senza avere davanti dati concreti, si perdono. O meglio li perdi dopo 5 minuti perché non riescono ancora a concepire un sistema che in effetti dovrebbe essere a supporto di un modo di lavorare che ancora non è chiaro neppure a loro<br>
<br>Per tutti questi motivi quello che abbiamo fatto è stato iniziare a buttare su tabelle recuperando dati da vari excel, xml, mdb, etc. e dargli un posto centralizzato in cui tutti potessero editare (grande django-admin! con 3 righe gli dai un editing più che decente)<br>
<br>In questa fase è necessario un po' turarsi il naso perché si ha a che fare con tabelle de-normalizzate e inconsistenze varie<br>Però:<br>1) si ha un prototipo funzionante che serve per la pre-produzione che dicevo prima<br>
2) gli utenti hanno capito cosa gli serve e come lo devono fare<br>3) io ho capito che dati vanno salvati e quali sono le funzioni base del sistema<br><br>a quel punto si inizia a sviluppare il sistema vero con le tabelle fatte come si deve e e con tutte le regole di consistenza corrette sui dati<br>
<br>Ok, mi sono dilungato un po'... spero di non essere troppo OT<br><br>Vi dico l'ultima, che fa un po' sorridere: ho fatto il "prototipo del prototipo".<br>In pratica mentre lavoravo al prototipo "ufficiale" ossia quello che usano i miei utenti, mi sono creato un altra app django con l'abbozzo di quello che capivo essere il funzionamento reale futuro ("a regime" come dicevo prima).<br>
La nuova app è dentro lo stesso progetto per cui posso portare avanti gli sviluppi dell'uno o dell'altro facendo convivere il tutto nello stesso repo mercurial/svn/trac [1] e sulle stesse directory/host (di sviluppo e di test)<br>
<br>Scusare la lunghezza, ciao<br>Marco<br><br>[1] ...il motivo per cui ci sono sia mercurial che svn potrebbe essere oggetto di un altra storia :)</div></div><br>