Adaptive Software Development

È una metodologia agile ideata da Jim Highsmith, direttore del Cutter Consortium's Agile Project Management Advisory Service.

È una metodologia agile ideata da Jim Highsmith, direttore del Cutter Consortium's Agile Project Management Advisory Service.

Questa metodologia è composta da un insieme di regole di sviluppo software inserite in un sistema complessivo detto Agile Project Management i cui concetti base sono tre:

Leadership-Collaboration Management - Uno stile di gestione misto fra gerarchico e collaborativo;

From Processes to Pattern - Passaggio dall'idea di processo definito e misurabile a quella di processo non perfettamente definito, quasi un processo fuzzy;

Peering into the Future - Osservazione del futuro per capire come l'idea che produrrà un affare di successo debba essere legata al momento in cui diventerà una forma di business.

Jim Highsmith e Ken Orr affermano che Adaptive Software Development può funzionare solo ed esclusivamente se l'intero team è consapevole dell'importanza del lavoro di gruppo e spiegano come si discosti, ad esempio, da Extreme Programming su punti essenziali (cliente presente, Pair Programming, test automatizzati) concentrandosi sulla strategia della Leadership-Collaboration Management e sull'adattamento totale al progetto in lavorazione.

Condizioni ottimali di utilizzo

Esistono tre situazioni esemplari che suggeriscono di utilizzare Agile Project Management:

per progetti ad alto valore esplorativo (nel senso di sperimentazione);

per progetti in cui il feedback del cliente è di capitale importanza;

per organizzazioni che apportino innovazioni estreme.

Le fasi del ciclo di vita

La formalizzazione di un sistema complessivo costruito intorno ad Adaptive Software Development porta a considerare Agile Project Management come un nuovo framework.

Le cinque fasi del ciclo di vita sono generalizzate per permettere di utilizzarle con qualunque metodologia agile:

prevedere (definire una vision del prodotto finale, decidere chi farà cosa, scegliere come il gruppo di lavoro lavorerà insieme);

ipotizzare (sviluppare una versione basata solo sulle caratteristiche, decidere delle milestones ed un interation plan);

esaminare (cioè consegnare spesso versioni con nuove caratteristiche testate, e che il cliente testerà anche meglio con l'utilizzo);

adattare (verificare i risultati delle versioni consegnate, ricontrollare l'ambiente reale di utilizzo, testare così le prestazioni del gruppo di lavoro; adattare e riadattare se necessario);

chiudere (concludere il progetto, affrontare gli ultimi dettagli in sospeso e festeggiare).

Principi base

sviluppare qualcosa di utile;

coltivare la fiducia degli stakeholders;

utilizzare Leadership-Collaboration Management come stile gestionale;

costituire gruppi di lavoro competenti e collaborativi;

far sì che il team abbia la possibilità e sia in grado di prendere decisioni;

consegnare spesso nuove versioni all'aggiunta di nuove funzionalità;

incoraggiare l'adattabilità;

cercare di ottenere l'eccellenza tecnica;

quando possibile, aumentare il volume di dati immessi.

Servizi correlati

Altre voci

S

SAP ERP

L'applicazione SAP ERP è un sistema Enterprise Resource Planning (ERP) prodotto dalla SAP AG. Negli anni 90 e inizio 2000 grazie a SAP molte aziende di grande dimensione si sono dotate di un software ERP. Tuttavia SAP (considerato troppo rigido) non si è mai affermato nel mondo delle piccola…

Leggi la voce →
Q

Qualità del software

Per qualità del software si intende la misura in cui un prodotto software soddisfa un certo numero di aspettative rispetto sia al suo funzionamento sia alla sua struttura interna. Gran parte della ricerca nel campo dell'ingegneria del software è dedicata, direttamente o indirettamente, al tema…

Leggi la voce →
A

Application service provider

L'application service provider (ASP) è un modello architetturale per l'erogazione di servizi informatici che prevede una spinta remotizzazione elaborativa ed applicativa. Spesso il termine è usato indicando l'erogazione di servizi informatici in "modalità ASP".

Leggi la voce →
Applicazione (informatica)A

Applicazione (informatica)

Una applicazione, in informatica, è un software (installato oppure erogato in SaaS) o una serie di software, in fase di esecuzione, che ha lo scopo e il risultato di rendere possibili funzionalità, servizi o strumenti utili e selezionabili su richiesta dall'utente tramite interfaccia utente,…

Leggi la voce →
F

Fidelizzazione

La fidelizzazione indica l'insieme delle azioni di marketing volte al mantenimento della clientela già esistente e si realizza principalmente attraverso una serie di strategie consone a creare il più elevato grado di soddisfazione del cliente.

Leggi la voce →
E

Epicor

Epicor è un'azienda statunitense attiva nello sviluppo, commercializzazione ed implementazione di soluzioni software Enterprise Resource Planning, gestione delle relazioni con la clientela, gestione della catena di distribuzione, servizi professionali di automazione e per la vendita al dettaglio.

Leggi la voce →