Questo è un sito di contenuti disponibili anche in formato

eBook

Benvenuto

  Avvio Progetto

1.0 Definizione del Lavoro

2.0 Sviluppo Schedulazione e Budget

3.0 Gestione Schedulazione e Budget

4.0 Gestione Problemi

5.0 Gestione Modifiche

6.0 Gestione Comunicazione

7.0 Gestione Rischio

8.0 Gestione Risorse Umane

9.0 Gestione Qualità

10.0 Gestione Metriche

  Chiusura Progetto

    Estensione per Acquisti

Glossario TenStep

PMP-Prep Online

L'esame di certificazione in  meno di 100 giorni

White Paper 

Se trovi utili questi contenuti, sostienici con una donazione

 

0.8.5 Confronto TenStep e Sviluppo Software Agile

 0.0.8.5.P1 Elementi dello Sviluppo Agile

Negli ultimi anni , sono state pubblicate numerose idee sul modo di rendere lo sviluppo software più semplice, più facile e più rispondente ai bisogni del Cliente.  Alcuni esempi sono Extreme programming, Scrum e crystal methodologies.

Diciassette persone impegnate  su questa idea si sono incontrate in  Utah l'11, 12 e 13 Febbraio 2001 per trovare una linea comune sullo sviluppo software. Il risultato fu il seguente manifesto di principi e filosofie.

Mentre la maggior parte della filosofia tratta  i reali processi di sviluppo software, pochi punti toccano il project management. In generale,  il Processo TenStep, in molte aree  è abbastanza complementare a questo processo di sviluppo. In alcune aree, c'è divergenza di opinioni. Di seguito puoi leggere il manifesto, insieme ai commenti dell'autore su come il manifesto si correla con il Processo TenStep.

Il Manifesto per lo Sviluppo Software Agile
Concordato da diciassette anarchici:

Scopriamo i modi migliori per sviluppare software facendolo ed aiutando altri a farlo. Con questo lavoro siamo arrivati al valore:

Processo di  Project Management TenStep®

Individui ed interazioni  più che processi e strumenti.

Sviluppare il software più che documentazione comprensiva.

Collaborare con il cliente più che negoziare un contratto.

Rispondere ai cambiamenti più che seguire un piano.

L'esperienza dell'autore è che l'esecuzione di più progetti in  una organizzazione  ha più possibilità di riuscita con un insieme di processi consistenti, flessibili e scalabili. Se questi processi sono stati utilizzati con successo precedentemente, c'è maggiore probabilità  che anche i tuoi progetti abbiano successo.

Ciò vuol dire che mentre valutiamo gli argomenti con la destra, li valutiamo anche con la sinistra.

Noi seguiamo i seguenti principi:

 

La nostra più alta priorità è soddisfare il cliente attraverso il rilascio di software di valore, veloce e costante.

La filosofia Agile è per lo sviluppo iterativo, con requisiti iniziali seguiti da codifica, da ulteriori requisiti e ulteriore codifica. Ciò è bello, ma lo sviluppo iterativo non è il migliore approccio  per tutti i progetti software. Comunque, dove può essere implementato, dovrebbe essere tentato.

Ben vengano le modifiche ai requisiti, anche tardi nello sviluppo. I processi Agile sfruttano le modifiche per il vantaggio competitivo del cliente.

 

Con lo sviluppo iterativo generale, i requisiti non devono essere fissati inizialmente. Però, anche con lo sviluppo iterativo tradizionale, ad un certo punto, bisogna congelare i requisiti  per rilasciare qualcosa. A questo punto, entra in gioco la gestione delle modifiche al contenuto.

I requisiti nello Sviluppo  Agile possono cambiare in qualsiasi momento del progetto. L’idea è che il cliente può continuare a richiedere modifiche, in base alle sue priorità stabilite nelle appropriate iterazioni. Per esempio, se il cliente aveva chiesto tre report e successivamente ne vuole quattro, il quarto report può essere aggiunto alla lista dei requisiti senza nessun problema.

Ad un certo punto, il cliente dovrà indicare una priorità per questo nuovo report, e il nuovo report viene prodotto quando lo vuole il cliente. Se il budget del cliente è aperto, allora non c’è bisogno di nessun processo formale di  modifica al contenuto – Il report sarà realizzato in qualunque momento il cliente lo richieda. Se, invece, il cliente ha un budget fisso, allora, dare priorità ad una modifica significa, in definitiva, che qualche altro pezzo di lavoro sarà rinviato. In questo scenario, il cliente sta rinforzando la gestione delle modifiche al contenuto per assicurarsi che solo le modifiche che sono di più alta priorità per lui vengano prese in considerazione.

L’approccio TenStep sostiene che quando ci sono modifiche di business, il team di progetto deve essere preparato a rispondere. Però, le modifiche ai requisiti hanno conseguenze in termini di budget e date di consegna, e queste devono essere approvate dallo sponsor. Se il team lo fa, vuol dire che sta effettuando la gestione delle modifiche al contenuto.

Consegnare lavoro software frequentemente, da poche settimane a pochi mesi, con preferenza per periodi più brevi.

Il processo TenStep raccomanda di dividere i grandi progetti  in una serie di progetti più piccoli, in modo che possano essere rilasciati più velocemente  e con continuità.  Non tutti i progetti hanno questa flessibilità, ma la preferenza è per i progetti più piccoli, quando è possibile.

Il Processo Agile considera estremo il ciclo di consegna breve. Alcuni progetti di programmazione estrema  rilasciano in un ciclo veramente breve, anche di una settimana.  Sebbene ciò sia difficile da gestire, non c'è niente di sbagliato con questo modo di fare. 

Utenti e sviluppatori lavorano quotidianamente insieme nel corso del progetto.

Questo è il migliore approccio per stare in contatto con le necessità del cliente.

Costruire progetti intorno ad individui motivati. Concedi loro l'ambiente ed il supporto che serve,  e responsabilizzali sulla realizzazione del lavoro.

A volte, persone molto motivate finiscono nei guai, anche se  rilasciano i progetti in tempo (Deming riconobbe questo fenomeno già mezzo secolo fa). Esse pongono troppa attenzione ai dettagli dello sviluppo e non abbastanza alla gestione di budget e scadenze. Se le persone motivate realizzassero i loro progetti sempre in tempo, ci dovrebbe essere una più alta percentuale di progetti finiti bene. A volte bisogna metter persone motivate in un ambiente più strutturato dove possano avere successo. L'autore crede che il migliore approccio è sviluppare i progetti con persone motivate, e poi assicurarsi che abbiano strumenti, processi e competenze giuste per realizzare il lavoro.

Il metodo più efficiente ed  efficace di  trasmettere informazioni con il team di sviluppo è la conversazione faccia a faccia.

Non c'è dubbio che la comunicazione personale è la migliore scelta in molte circostanze. Però, ci sono volte in cui altri strumenti di comunicazione sono validi, per esempio, quando si invia lo stato di aggiornamento a 20 persone. Anche certa documentazione rilevante deve essere scritta - non  necessariamente per l'ultimo giorno del progetto, ma per dopo, quando tutti gli sviluppatori  sono andati via. Solo che la documentazione dovrebbe essere un’informazione importante. La documentazione raramente viene fornita in tempo per il team di supporto, e così acquista minor valore nel tempo.

Il software codificato  è la principale misura dell'avanzamento.

Nello sviluppo iterativo, producendo codice software alla fine di ogni iterazione è una buona misura dell'avanzamento. Però, non tutti i progetti possono essere realizzati utilizzando lo sviluppo iterativo, per esempio, l'implementazione di pacchetti. Perciò, in molti progetti, bisogna continuare a controllare e verificare se il progetto è in piano attraverso le milestone.

I processi Agile promuovono lo sviluppo sostenibile. Gli sponsor, gli sviluppatori e gli utenti dovrebbero essere in grado di mantenere  la pace a tempo indeterminato.

Lo sviluppo Agile prevede che si lavori 40 ore per settimana e che non vi siano conflitti a tempo indeterminato. Naturalmente, con l'appropriata pianificazione e gestione, questo è il migliore approccio.

Una costane attenzione alle tecniche ottime ed al buon disegno migliorano l'agilità.

Ottime tecniche e buon disegno sono essenziali. Però, se viene modificato frequentemente il disegno per produrre codice software velocemente, in modo stravagante,  ciò può diventare problematico.

La semplicità - l'arte di massimizzare l'ammontare di lavoro non fatto - è essenziale.

Concordiamo. Gli sviluppatori e gli utenti dovrebbero porre attenzione nel rilasciare prima i requisiti essenziali. Ciò "massimizza il lavoro non fatto". Permette anche di rilasciare il software più velocemente.

Le migliori architetture, requisiti e disegni emergono dai team auto organizzati.

Se ogni team fosse molto performante e tecnicamente eccellente, sarebbe più facile  concordare con questo punto. Invece, la maggior parte dei team di progetto non sono maturi abbastanza e non hanno il  giusto livello di  competenza per sviluppare il miglior disegno e architettura. Specialmente le architetture devono essere sviluppate a livello di organizzazione o azienda. Se questi vengono lasciati ai singoli team, il risultato  sarà una sovrapposizione di tecnologie ed il caos a livello azienda.

Ad intervalli regolari, il team riflette su come diventare più efficiente, poi, sintonizza e aggiusta il comportamento di conseguenza.

Concordiamo. I team dovrebbero costantemente  sforzarsi di comprendere i loro punti di forza e di debolezza e come i processi di  project management possano essere migliorati. TenStep crede anche  che queste modifiche consigliate dovrebbero essere portate anche a livello di organizzazione in modo che l'idea di miglioramento possa essere  adattata dall'intero staff.

Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas
www.agileAlliance.org

 

 

English Spanish Dutch Portuguese Bulgarian English Spanish Croatian Spanish French German Greek Hungarian Indian English Hebrew Italian Macedonian Malay/English Spanish Polish Portuguese Romanian and Moldavian Russian Spanish Caribbean Dutch Swedish Ukrainian English

Condizioni Generali            |        Mappa del sito principale              |        Cerca nel sito            |          Informativa sulla Privacy          |         Contattaci        |   

TenStep Italia di Vito Madaio - Via Orazio Console 140 -  00128 Roma  -  tel. 39-348-3974474 - 39-06-5088134 - P. IVA 07627281004 - Copyright ©2004 - 2010


Ecco cosa possiamo offrirti immediatamente:

Gestione Progetti

Project Management Office

Portfolio

Metodologia

Formazione

PMBoK

Consulenza

   Registrati al nostro sito  e consulta le ultime novità in materia di Project Management  

Aggiornato a Tuesday, 20 July 2010 00.12