in

DotNetMarche

.NET Framework User Group delle Marche

Recensioni

Steve McConnell - Rapid Developement

Dedicato in particolar modo ai project manager, questo libro è una preziosa collezione di best practices per lo sviluppo software, scritto naturalmente con la solita maestria di McConnell che rende la lettura piacevole e divertente.

Autore:Steve McConnell (Construx)
Editore: Microsoft Press
ISBN: 1-55615-900-5
Pagine: 680
Lingua: Inglese
Anno: 1996
Categoria: Best Practices, progettazione software
Online: Amazon

Steve McConnell è autore di libri di grande successo ed ha scritto negli anni opere che sono ora considerate dei classici imperdibili del genere, trattando in particolare gli aspetti della progettazione e della gestione del ciclo di vita del software.

Rapid Developement è nelle intenzioni dell’autore un insieme di validi consigli per riuscire a sviluppare in modo efficace, impiegando il tempo a disposizione nella maniera più produttiva possibile. L’unica pecca è che il testo, essendo pubblicato nel 1996, non tratta nessuno dei moderni cicli di vita agili di sviluppo, come l’extreme programming o lo scrum, ma molti dei consigli che vengono dati possono comunque essere applicati anche negli ambienti agili senza problemi. Questo libro non include al suo interno pratiche rivoluzionarie o tecniche sofisticate e soprattutto non promette miracoli, ma vuole solamente racchiudere una serie di concetti basilari che ogni progettista software dovrebbe possedere. Il risultato è che secondo McConnell lo sviluppo rapido si ottiene solamente quando si è in grado di monitorare il ciclo di vita di un progetto, dalla gestione dei requisiti alle fasi di test, seguendo contemporaneamente alcune pratiche regole fondamentali che permettono di mantenere il ciclo di vita sotto controllo.

Il libro è suddiviso in tre parti principali, nella prima si esaminano i fondamenti della progettazione e della realizzazione di un software. Particolarmente interessante è la sezione dei Classic Mistakes, che mostra i più comuni errori che portano a ritardi nei tempi di consegna, e la sezione Risk Management in cui si fa una breve panoramica sulla gestione dei rischi, pratica indispensabile per evitare che problemi imprevisti facciano slittare i tempi di sviluppo e mancare le date di consegna.

La seconda parte è dedicata ad una trattazione dettagliata degli aspetti più importanti dello sviluppo software, in questa parte riveste una particolare importanza il capitolo sette, in cui l’autore da una panoramica sui principali cicli di vita di un progetto, spiegando in maniera coincisa ma chiara i vari waterfall, spiral, Evolutionary prototyping, etc. Al termine del capitolo è anche riportata una tabella riassuntiva dei punti di forza e debolezza di ogni ciclo di vita, questi dati sono particolarmente utili ai Project Manager che potranno così valutare in base al proprio ambiente il ciclo di vita più adatto. Si ricordi che come detto precedentemente il libro non tratta metodologie agili e la loro applicablità deve essere quindi considerata separatamente. Un altro capitolo di grande importanza è quello destinato alla stima del progetto, in cui viene spiegato come effettuare considerazioni efficaci per determinare stime realistiche che possono quindi essere mantenute senza troppe difficoltà. Il concetto chiave che l’autore da in questo capitolo è che un errore di stima provoca danni ingenti ai propri progetti. Se ad esempio un progetto richiede dieci mesi per essere completato, effettuare una stima di sei è disastroso e porta spesso a consegnare il prodotto in un tempo anche superiore ai dieci mesi che sarebbero stati necessari con una stima corretta. Per chi fosse interessato ad approfondimenti su questo argomento è disponibile un ulteriore testo di McConnel dedicato interamente alle pratiche di stima dei progetti.

L’ultima parte del libro contiene infine una lista di Best Practices da seguire per raggiungere l’obiettivo del Rapid Developement. Ogni pratica inizia con una scheda in cui l’autore riporta: una breve descrizione, gli effetti sui propri progetti, i rischi e le interazioni con le altre pratiche. Ogni scheda è comunque seguita da una descrizione dettagliata che tratta in maniera più approfondita la pratica descritta.

Il libro è ben scritto e la lettura scorre velocemente, soprattutto grazie a piccole storie di esempio tratte da situazioni reali. Nel corso del libro si leggeranno le avventure di Jill, Bill ed i loro colleghi alle prese con i vari prodotti: Square Calc, Giga Quote, etc. Sicuramente molte delle letture vi faranno tornare alla mente situazioni vissute in prima persona, storie di ritardi di consegna causati dall’inserimento di features nelle fasi di test, difficoltà di integrazione dovuta alla mancanza di daily build sono problemi che sicuramente molti di noi hanno vissuto. Il ritrovare in queste storie le proprie esperienze è una dimostrazione che il testo tratta di problematiche concrete e non è sicuramente un testo accademico di pura teoria.

Come per tutti i libri di McConnel, anche in Rapid Developement la bibliografia di riferimento è vastissima, al termine di ogni capitolo l’autore inserisce infatti molti titoli di opere di approfondimento, in questo modo è possibile utilizzare il libro anche come catalogo, se ad esempio si vuole acquistare un testo di progettazione si può andare nell’apposito capitolo e leggerne semplicemente la bibliografia.

La lettura di questo testo è consigliata particolarmente a chi svolge il ruolo di Project Manager, ma anche gli sviluppatori troveranno informazioni utilissime, in particolar modo nella terza parte dedicata alle best practices.

Rapid Developement è un libro che non dovrebbe quindi mancare nella vostra libreria.

Published Oct 24 2006, 09:16 AM by Alkampfer
Filed under:

Comments

No Comments

About Alkampfer

Chi sono

Mi chiamo Gian Maria Ricci, sono nato il 18/08/1974 e il fatto che mi troviate qui in dotnetmarche significa che per passione e per lavoro mi occupo di .NET.

Sono laureato in Ingegneria Elettronica con specializzazione in Microelettronica, ma la mia passione è sempre stata la programmazione, che coltivo da quando mi fu regalato il mitico Vic20 un paio di decadi fa. Passato per il Basic, alle superiori ho programmato in Pascal e Prolog con qualche deviazione in Fortran e Cobol, fino ad approdare al C/C++. Per lavoro ho poi conosciuto il VB6 ed ho iniziato ad apprezzare il .NET fin dalle beta, tanto da utilizzare .NET come ambiente di sviluppo per la mia tesi.

Oltre che di dotnetmarche faccio parte del gruppo nablasoft, formato da miei ex colleghi di università con cui ho condiviso e condivido ancora la passione per la computer graphics. Tra i lavori prodotti per nablasoft, sicuramente quello di cui vado più orgoglioso è un tutorial in lingua inglese sulla programmazione della Playstation2 tramite il linux kit che ancora oggi ci da una visibilità al primo posto in alcune ricerche di google. Nel sito trovate inoltre altri lavori miei e dei miei colleghi che spaziano dalla matematica, all’elettronica e naturalmente anche al .NET.

Tra le mie altre partecipazioni a gruppi web posso citare GPI (game programming italia) per il quale ricopro il ruolo di responsabile della sezione playstation2, anche se la mia attività è sicuramente stata molto breve ed è molto che non contribuisco più in maniera attiva.

Le mie pubblicazioni

Nel corso degli anni oltre a pubblicare materiale nel sito nablasoft, ho collaborato con altre realtà come www.programmazione.it, il gruppo playstation2linux ed il gruppo infomedia di cui sono articolista principalmente per la rivista dev.

  • "Funzionali ed adattatori nella STL"- Computer Programming (aprile 2004).
  • "Esportare il contenuto di una DataGrid in Microsoft Excel" –Computer Programming (maggio 2004)
  • "Garbage Collection in ambiente .NET" – Computer Programming (luglio 2004)
  • "Serializzazione e persistenza in database" –DEV (Luglio 2004)
  • "Programmare la PS2 tramite il Linux kit. Introduzione" - DEV (settembre 2004)
  • "Utilizzare la libreria zlib in C# o VB.NET" - DEV (agosto 2004)
  • "Programmare la PS2 tramite il Linux kit. Renderizzare un cubo" – DEV (ottobre 2004)
  • "Utilizzo di puntatori per elaborare immagini in C#" - DEV (novembre 2004)
  • "Programmare la PS2 tramite il Linux kit. Utilizzare il joypad" - DEV (novembre 2004)
  • "Personalizzare l'aspetto dei menu con GDI+" - DEV (dicembre 2004)
  • "Utilizzare MSDE in applicazioni desktop. Installazione e gestione" – DEV (dicembre 2004)
  • "Utilizzare MSDE in applicazioni desktop. Deployment" – DEV (gennaio 2005)
  • "PC o console, tecniche di sviluppo a confronto" – DEV (gennaio 2004)
  • "CLR Profiler per .NET - Stringhe e finalizzazione" – Computer Programming (gennaio 2005)
  • "Utilizzare MSDE in applicazioni desktop. Distribuire la struttura di database" – DEV (febbraio 2005)
  • "Comunicare in rete tramite C#" – DEV (febbraio 2004)
  • "CLR Profiler per .NET – Pool di oggetti" – Computer Programming (febbraio 2005)
  • "Amministrare le politiche in Active Directory" – Login (marzo/aprile 2005)
  • "Spedire mail in C#" – DEV (aprile 2005)
  • "Utilizzare API di shell in C#" – DEV (maggio 2005)
  • ".NET e remoting" – DEV (Maggio 2005)
  • "Utilizzare Dll C++ in Visual Basic 6" – DEV (Maggio 2005)
  • "Sql Server 2005 - Scrivere un aggregatore custom in Visual Basic" – DEV (Giugno 2005)
  • "Utilizzare le API di shell in C# - 2a parte" – DEV (Giugno 2005)
  • "Utilizzare le API di shell in C# - 3a parte" – DEV (Settembre 2005)
  • "Trasferire una sessione da ASP ad ASP.NET " – DEV (Settembre 2005)
  • "Unit testing in .NET 2.0" – DEV (Ottobre 2005)
  • "Visual Studio 2005 Class diagram" – DEV (Ottobre 2005)
  • "Nullable Types in .NET 2.0", DEV (Novembre 2005)
  • "Creare Una trial in C#", DEV (Dicembre 2005)
  • "Linguaggi ed evoluzione di sintassi", DEV (Gennaio 2006)
  • "C# 2.0 Evoluzioni sintattiche”, DEV (Gennaio 2006)
  • "Office Web Components - Realizzare un report in Excel", DEV (Gennaio 2006)
  • "VB.NET e Sql Server 2005 - Scrivere stored procedures in VB.NET", DEV (Febbraio 2006)
  • "Persistence Frameworks in C#”, DEV (Maggio 2006)
  • "Persistenza con serializzazione XML in .NET 2.0", DEV (Maggio 2006)
  • ".NET 2.0 – Enterprise Library 2.0, logging", DEV (Maggio 2006)
  • "Database - XML e SQL Server 2005", DEV(Giugno 2006)
  • "Enterprise Library 2.0 Logging - Seconda parte", DEV (Giugno 2006)
  • "ASP.NET 2.0 e AJAX", DE (Luglio 2006)

  • PS2 3D programming Tutorial - Tutorial sulla programmazione 3D per la console Playstation 2 Pubblicato nel sito ufficiale Sony per il kit PS2 linux.

Powered by Community Server (Commercial Edition), by Telligent Systems