Metodologie di Sviluppo Software
L'industria del software differsce da altre in quanto la sua materia prima, e principale fattore di successo, è rappresentata da persone. L'efficienza dei singoli su di un progetto può variare incredibilmente da un contesto all'altro. Tentare di gestire persone in maniera meccanicistica è una strada sicura per privarsi dei talenti ed abbassare l'efficacia del gruppo. Incrementi significativi nella produttività non possono essere raggiunti ignorando le caratteritiche dei singoli, le motivazioni del gruppo e le dinamiche di comunicazione.
Processo di Sviluppo
Processi di sviluppo dichiaratewmente aggressivi, come ad esempio SCRUM, si pongono come obiettivo un fattore x10 di incremento della produttività nello sviluppo sel software. Che questo rappresenti un obiettivo raggiungibile o semplicemente un proclama di marketing, in molti casi il processo di sviluppo è bloccato, a malapena dichiarato, o semplicemente non esiste affatto. Anche dove i progetti vengono rilasciati senza trasformarsi in un bagno di sangue sono possibili significativi miglioramenti. In ogni caso, situazioni differenti richiedono soluzioni differenti: il processo di sviluppo non ha una ricetta valida per tutte le stagioni, è quindi necessario osservare e discernere con attenzione per migliorare continuamente l'efficienza complessiva, scegliendo , fra le molte possibili, quella che meglio si adatta allo specifico contesto.
Software Configuration Management
Unified Modeling Language
UML è uno strumento potente con uno scopo be definito: la capictà di esprimere il modello di un sistema (esistente, oppure da sviluppare) in un linguaggio condiviso con il minimo livello di ambiguità. Può (e probabilmente deve) essere il linguaggio comune tra menbri del tem di sviluppo, ed è la scelta più ovvia (anche se non l'unica possibile) al momento di condividere specifiche di progetto tra team diversi, specialmente in un contesto di sviluppo offshore. E' tuttavia ben lontano dall'essere la scelta migliore per catturare l'informazione dagli esperti di dominio. In queste situazioni è preferibile trovare un terreno comune, per permettere agli esperti di dominio di confividere la loro preziosa conoscenza con la minima interferenza possibile da parte del linguaggio.
Software Project Management
Gestione di progetti
Advisor Indipendente
In molti casi, il gap tra chi richiede un determinato progetto software e chi lo realizza è troppo marcato per garantire risultati soddisfacenti. In situazioni come queste, ricorrere ad un attore indipendente, in grado di garantire la competenza necessaria a verificare il rispetto degli impegni, o a riconoscere e gestire le criticità di progetto prima che oltrepassino il punto di non ritorno può risultare un fattore chiave per il buon esito del progetto.
Architettura Software
Progettazione
Review Architetturali
Offshore Software Development
Web 2.0
Blogging
Pubblicare un blog è qualcosa di radicalmente diverso dal tenere un diario on-line. Le dinamiche del blogging sono legate agli argomenti trattati, agli obiettivi reali, ai flussi di propagazione della comunicazione, ai contenuti multimediali, all'effetto farfalla, alla teoria del caos, a fattori sociali e così via. Per qualcuno, i blog possono essere un modo per fare soldi, o un modo per non perderli per grande aziende, o …viceversa.