Programmazione estrema in Agile - una guida pratica per i project manager eUDN Task Managerers.
Abbiamo ricevuto tante richieste terribili sulla programmazione estrema nella cascata - e che quella potrebbebeneficia di un project manager. Nel caso in cui non sapessi quale programmazione estrema è, è una forma di framework Agile in cui PMS ottiene il meglio delle risorse disponibili in un ambiente di sviluppo del software.
Programmazione Extreme (XP), un quadro di sviluppo software Agile, è specificamente progettato per migliorare la qualità del software, il processo di lavoro per il team di sviluppo e l'aumento della soddisfazione dei clienti.
È un metodo ideato per un più liscio ed efficienteCiclo di vita dello sviluppo del software (SDLC)Per i tuoi progetti, ed è stato implementato per la prima volta su un progetto il 6 marzo 1996.
La programmazione estrema funziona per fornire software iteratori e ricorrenti rilasciati in tutto il progetto; Invece di tutto insieme dopo un singolo e lungo ciclo di vita del progetto di progetto.
Questicorto cicli iterativiAiuta entrambi i membri del team e i clienti di valutare e rivedere i progressi del progetto per tutto il suo sviluppo.
XP incorpora i seguenti valori 5:
Il nucleo di XP è un set interconnesso di pratiche di sviluppo del software. Mentre è possibile implementare queste pratiche in isolamento, molte squadre hanno scoperto che alcune pratiche rinforzano gli altri e dovrebbero essere fatte in combinazione. Ciò può consentire completamente eliminando i rischi che spesso si devono affrontare nello sviluppo del software.
Le dodici pratiche originali per XP comprendono:
Nel corso degli anni, le squadre hanno scoperto che alcune pratiche rafforzano gli altri. Per eliminare i rischi, questi dovrebbero essere unificati. Le seguenti descrizioni includono alcuni dei perfezionamenti basati sulle esperienze di varie squadre:
Intera squadra: Le squadre dovrebbero comprendere gruppi crociati di persone con diverse abilità. In questo modo, possono completarsi a vicenda per realizzare un risultato specifico.
Siediti insieme:La maggior parte delle persone concordano che le conversazioni faccia a faccia sono la migliore forma di comunicazione. Le squadre dovrebbero sedersi insieme senza barriere alla comunicazione ad es. Pareti del cubicolo.
Spazio di lavoro informativo: Le squadre dovrebbero essere organizzate per sedersi in un modo per rendere il lavoro della squadra trasparente l'uno con l'altro e le persone affiliate al di fuori della squadra.
Lavoro energizzato: Questo significa assicurarsi che una persona sia mentalmente e fisicamente sana per concentrarsi sul lavoro. Ciò implica anche che non ci dovrebbe essere un eccesso di lavoro e rispettare i team per sostenere anche la loro salute mentale e fisica.
Leggi anche:
Come gestire un progetto come un professionista nell'ambiente di lavoro di oggi?
Programmazione delle coppie: L'idea alla base di questa pratica è che 2 cervelli sono migliori di uno. La programmazione delle coppie si riferisce alla produzione di software attraverso 2 persone sedute alla stessa macchina. Con questo, c'è una revisione continua e problemi di lavoro riceve una risposta più rapida. Questo metodo ha dimostrato di migliorare la qualità e rimanere più focalizzati.
Storie: Le storie definiscono le funzionalità che il prodotto dovrebbe essere significativo per i clienti e gli utenti. Queste storie sono utilizzate per la pianificazione e fungono anche da promemoria per ulteriori conversazioni.
Ciclo settimanale: Il primo giorno di ogni settimana, il team si riunisce per riflettere sui progressi fino ad oggi. Le storie che dovrebbero essere consegnate nella settimana sono selezionate dal cliente. Il team determina come avvicinarsi a quelle storie. L'obiettivo alla base di questo è quello di ottenere una funzionalità in esecuzione e verificabile entro la fine della settimana. Il periodo fisso consente la produzione di una funzione che può essere mostrata al cliente per il feedback.
Ciclo trimestrale:Lo scopo del ciclo trimestrale è quello di controllare il lavoro dettagliato di ogni ciclo settimanale nel contesto del progetto generale. Il cliente fornisce il piano generale per il team entro un particolare trimestre. Questo non solo dà al team una visione del progetto, ma aiuta anche il cliente a lavorare con altri soggetti interessati coinvolti.
Allentato: Ciò implica aggiungere alcuni, compiti o storie a bassa priorità o storie nei cicli settimanali e trimestrali. Se il team è in ritardo su compiti più importanti, questi possono essere caduti. Altrimenti, questi saranno anche completati, aumentando le possibilità di soddisfare gli orari stimati.
Build di dieci minuti: L'intero sistema e tutti i test devono essere eseguiti entro 10 minuti. Se il tempo supera questo limite, più rettificatori costano periodi maggiori tra errori. Questa pratica incoraggia l'automazione del processo di costruzione, rendendolo fattibile regolarmente, per eseguire tutti i tuoi test.
Integrazione continua:Questa pratica incoraggia i test immediati del nuovo codice alla base di codici più ampia esistente. Questo aiuta a prendere e correggere i problemi di integrazione prima. Questa pratica richiede la disciplina e dipende dalle pratiche di dieci minuti di costruzione e prova il primo sviluppo.
Prima programmazione di prova: Invece di seguire il modo normale che cioè,
Sviluppare il codice - & GT; Scrivi test - & GT; Esegui test
La pratica della prima programmazione prende il percorso di:
Scrivi fallimento Test automatizzato - & GT; Eseguire il fallimento del test - & GT; Sviluppa il codice per rendere il test del test - & GT; Esegui test - & GT; Ripetere
Anche questa pratica riduce il ciclo di feedback per l'identificazione e la risoluzione del problema. Ciò si traduce in una riduzione del numero di bug che vengono introdotti in produzione.
Design incrementale: Questa pratica ritrae facendo una certa quantità di lavoro in anticipo per comprendere la prospettiva del largo del design del sistema. Successivamente, lavorare ulteriormente sui dettagli di un particolare aspetto del design quando vengono consegnate caratteristiche specifiche. Questo approccio riduce il costo delle modifiche e consente di prendere decisioni di progettazione quando necessario in base alle informazioni più aggiornate disponibili.
XP ha incorporato pratiche particolari per il tuo team da seguire e non stabilisce ruoli specifici per i membri del team. Tuttavia, secondo il requisito, i 4 ruoli più comuni sono:
Il cliente:Il cliente XP dovrebbe partecipare attivamente al progetto. Il cliente fa tutte le decisioni aziendali relative al progetto come:
Lo sviluppatore: Gli sviluppatori realizzano le storie identificate dal cliente, il che significa fornire un progetto con caratteristiche decise.
Il tracker.: Il tracker è un ruolo facoltativo e dipende se il team ne richiede uno. Questo è effettuato da uno degli sviluppatori per tenere traccia dei pertinentiMetriche agili, e questo è Per la valutazione del progresso e l'identificazione delle aree chiave per il miglioramento. Questo è importante per il monitoraggio dei progressi e l'identificazione delle aree chiave per il miglioramento. Alcune di queste metriche possono includere la quantità di tempo lavorato, la quantità di straordinaria, i test di passaggio e fallimento, velocità e ragioni per le variazioni della velocità.
L'allenatore: Questo ruolo è utile in particolare se il team è appena iniziato. L'allenatore può essere un consulente esterno che ha utilizzato XP prima e può aiutare a mentore il team sulle pratiche XP e autodisciplina. L'impiego dell'allenatore aiuta a evitare potenziali errori che nuove squadre possono fare, accelerare il progetto.
Il ciclo di vita XP può essere spiegato riguardante il ciclo settimanale e il ciclo trimestrale.
Per cominciare, il cliente definisce l'insieme di storie. Il team stima la dimensione di ogni storia, che insieme a un vantaggio relativo come stimato dal cliente, indica il valore relativo utilizzato per dare la priorità alle storie.
Nel caso, alcune storie non possono essere stimate dal team a causa delle considerazioni tecniche non chiare coinvolte, possono introdurre un picco. I picchi sono indicati come cornici corti e tempi per la ricerca e possono verificarsi prima che inizino le iterazioni regolari o insieme alle iterazioni in corso.
Il prossimo arriva il piano di rilascio: il piano di rilascio copre le storie che verranno consegnate in un particolare trimestre o rilascio.
A questo punto, inizia i cicli settimanali. L'inizio di ogni ciclo settimanale coinvolge il team e il cliente che si incontra per decidere che la serie di storie da realizzare quella settimana. Queste storie vengono quindi suddivise in compiti da completare in quella settimana.
I fine settimana con una revisione dei progressi fino ad oggi tra la squadra e il cliente. Ciò porta alla decisione se il progetto dovrebbe continuare o se è stato consegnato un valore sufficiente.
XP per il sistema KRIZP
La soluzione Krizp è stata una società di sviluppo, una società di sviluppo basata sul Web in India. Il loro business plan comprendeva la creazione di portali web per altre piccole imprese o istituzioni educative. La società è iniziata come un business part-time, impiegando persone che stavano già lavorando per altre principali organizzazioni IT. Il piano doveva continuare a tempo pieno solo se l'avvio si è avventurato in un successo. Non c'era alcun quadro per i loro processi di sviluppo software in quanto era solo una società di avvio con non molti progetti e alcuni dipendenti.
La società mancava di un approccio strutturato allo sviluppo del software. Con i requisiti iniziali annotati su carta, ulteriori informazioni e chiarimenti sono stati ricevuti dal cliente tramite telefono. Di solito, i principali cambiamenti nei requisiti non sono arrivati fino a quando la revisione del cliente, che era stata sviluppata dalla soluzione.
Diverso da percorrezione del bug, gli sviluppatori avevano poco o nessuna comunicazione l'uno con l'altro. Hanno lavorato separatamente su caratteristiche diverse. Ciò ha portato a diventare una barriera per le discussioni riguardanti il miglioramento dei metodi di lavoro.
Inoltre, i progetti non sono stati documentati. Non c'era alcun project manager per monitorare i progetti o per assicurarsi che i requisiti stabiliti dal cliente siano stati raggiunti. Gli sviluppatori hanno lavorato solo su ciò che è stato chiesto di essere fatto.
Il team di Krizp System è stato introdotto ai concetti dietro i diversi framework Agile. Il metodo XP è stato impiegato su una durata di un mese e i risultati sono stati valutati.
L'amministratore delegato della società ha assunto 2 ruoli: il rappresentante del cliente e il tracker. Per il suo primo ruolo, ha prioritario le storie degli utenti, la delegazioneloro al team di sviluppoe aveva una comunicazione regolare con il cliente. Come tracker, teneva traccia del tempo per completare compiti specifici. L'amministratore delegato ha anche avviato il gioco di pianificazione ogni settimana (o almeno una volta in quattro giorni), poiché il progetto era piccolo e gli sviluppatori potrebbero completare compiti in una storia utente più veloce. Tuttavia, il cliente era disponibile per la comunicazione diretta solo due volte al mese e il resto del tempo in cui era in contatto tramite telefonate e e-mail.
La tecnica di programmazione accoppiata è stata adottata per cui entrambi gli sviluppatori hanno lavorato insieme. Dopo il completamento del compito, entrambi gli sviluppatori hanno rivisto il codice con l'amministratore delegato.
Sono stati introdotti i test del cliente e il team ha lavorato a miglioramenti di design continui, che erano circa 12-15 al mese.
Sommario
L'approccio XP sembrava avere un buon impatto sul ciclo di sviluppo del software per l'azienda. Alcune delle modifiche positive incluse:
Per valutare il praticoApplicazioni della cascataVS. Programmazione estrema, uno studio di ricerca è stato condotto attraverso 2 casi di studio: uno a IBM e l'altro a Sabre Airlines. Ogni caso di studio ha confrontato l'approccio della cascata all'approccio XP.
Nel primo caso, presso IBM, i ricercatori volevano studiare l'impatto di adottare l'approccio XP sulla produttività, la qualità e la soddisfazione del cliente. Uno studio annuale è stato condotto su un team di 7 - 11 membri riguardanti l'adozione di pratiche XP. Il team è stato responsabile dello sviluppo di applicazioni Servlet / XML per un toolkit utilizzato da altri team IBM per creare prodotti per i clienti esterni. Il caso studio ha analizzato 2 approcci su rilasci consecutivi dello stesso prodotto. Il primo era l'approccio tradizionale della cascata e il secondo era XP.
Nel secondo caso di studio, a Sabre Airline Solutions, è stato utilizzato lo stesso metodo I.E. Confronto 2 approcci attraverso diversi rilasci dello stesso prodotto. Il team ha lavorato allo sviluppo di un ambiente GUI scriptable per i clienti esterni per sviluppare un'applicazione personalizzata dell'utente finale e della Business. Il team composto da 6-10 membri. La vecchia versione è stata terminata 3 anni prima (coppia di 18 mesi) utilizzando il metodo della cascata mentre la nuova versione è stata completata di recente (spanning 3,5 mesi), utilizzando XP.
Il primo passo è stato quello di stabilire un quadro di valutazione di programmazione estremo (XP-EF), che comprendeva tre parti: fattori di contesto XP (XP-CF), metriche di aderenza XP (XP-AM) e misure di risultato XP (XP-OM):
Oltre al quadro, le interviste sono state condotte con membri del team e clienti per comprendere l'incorporazione di XP dal team per la soddisfazione del cliente.
Sommario
A IBM, il metodo XP sembrava più produttivo rispetto al metodo della cascata da parte delle seguenti misure:
A Sabre Airlines, sono stati notati risultati simili:
Usa il caso 1:
Dichiarazione problema:Il sito web della società deve essere ridisegnato.
Attori: cliente, sviluppatori, tracker
Usando XP:
Usa Caso 2:
Dichiarazione del problema: un cliente richiede che un gioco sia sviluppato da zero.
Attori: cliente, sviluppatori, tracker
Flusso regolare di eventi:
Usando xp. :
UDN Task Managerè un sistema di gestione dei compiti che supporta ilMetodo agiledi quadro di programmazione estremo. È un'applicazione di gestione delle attività online progettata specificamente per il lavoro di squadra e la consegna del progetto. Indipendentemente dall'industria,UDN Task ManagerFacilita la metodologia XP e contribuisce a un'efficace pianificazione del progetto e allineamento del processo.
I seguenti sono alcuni dei modiUDN Task ManagerPuò aiutarti a pianificare e raggiungere meglio i tuoi obiettivi del progetto, tutto all'interno del quadro XP.
Pianificazione della riunione
Puoi programmare le tue indicazioni, riunioni settimanali e riunioni trimestrali in anticipo. L'agenda e i tempi degli incontri possono essere specificati. È possibile definire un tempo fisso per la riunione o inviare un tempo suggerito per il team, per essere finalizzato dopo la risposta del team.
Questa applicazione consente anche di notare tutti i punti importanti discussi in una riunione. I minuti possono essere quindi rivisti e pubblicati per il resto della squadra.
Assegnazione della squadra
Puoi organizzare la tua squadra e i ruoli che intrapreranno attraverso la sezione di assegnazione del team. Puoi facilmente definire i ruoli per gli sviluppatori, i tracker e il cliente.
Creazione del progetto
Il cliente può creare il progetto e specificare i requisiti. Il cliente può anche definire il budget e la timeline.
Creazione e assegnazione del compito
Il cliente può creare storie creando attività all'interno del progetto. I compiti comprenderanno un elenco di attività da completare sotto una storia. Queste storie possono quindi essere assegnate ai programmatori.
Se le storie sono completate prima del tempo da alcuni dei membri del team, il cliente può assegnarli le attività "allentate" I.e. Attività prioritarie inferiori all'interno della timeline rimanente. Ciò consente di risparmiare tempo a lavorare più velocemente verso il completamento del progetto.
Vedi anche:
IntroduzioneUDN Task Manager2.0 - Il nostro aggiornamento più atteso ancora
Flusso del progetto
Project Manager o Tracker può aiutare a tenere traccia del flusso del progetto attraverso il modulo della scheda attività. Questo modulo consente un monitoraggio efficace e una valutazione dei progressi del progetto. Aiuta a valutare individualmente la timeline per anche diversi compiti e le pietre miliari raggiunte o in sospeso.
Facile collaborazione
A volte non è possibile tenere riunioni faccia a faccia ad es. Quando una certa squadra funziona su un altro sito. In tali casi, gli aggiornamenti automatizzati su progetti, compiti e riunioni possono garantire una collaborazione e una discussione di squadra tempestiva ed efficacia. Ciò evita il tempo sprecato nella disposizione manuale del progetto e del follow-up del compito, comunicazione della riunione dei minuti o dell'aggiornamento del progetto.
I commenti in tempo reale forniscono un modo semplice per comunicare con il team. Se è lo scambio di informazioni o nuove idee, questo rende facile per il team rimanere sulla stessa pagina.
I compiti interdipendenti sono evidenziati e ogni membro del team può controllare gli aggiornamenti istantaneamente come aggiornati dagli altri membri del team. Ciò mantiene il team aggiornato sulle situazioni mutevoli e nella pianificazione del prossimo compito, di conseguenza.
Inoltre, il cliente può collaborare direttamente con il team e aggiornare qualsiasi cambiamento nei requisiti.
Trasparenza
UDN Task ManagerFornisce una visione trasparente di tutti i progetti e le attività corrispondenti e i compiti secondari attraverso il suo tasket. Qualsiasi progetto creato o modificato viene comunicato alla squadra, immediatamente. Non è necessario ricontrollare gli aggiornamenti dei progressi, incontrando gli inviti o i rapporti del progetto.
I compiti aggiornati, modificati o cancellati per l'intera squadra di essere pienamente consapevoli e sapere esattamente cosa viene eseguito quando.
Con la sua opzione di filtro, è possibile scegliere di visualizzare gli aggiornamenti per i progetti selezionati in base alla priorità o all'attività a portata di mano. Con l'opzione Stato, lo stato dell'attività selezionata può essere visto se è iniziato o meno, completato o in corso.
Conclusione
Questo retail dettagli come è possibile beneficiare di XP come lavoratore agile. Inoltre,UDN Task ManagerViene creato per eseguire tali requisiti all'interno del dominio delle tecniche estreme di programmazione e cascata. Pertanto, dargli una lettura e non dimenticare di condividere i tuoi pensieri attraverso la sezione Commenti qui sotto. In alternativa, puoi inviarci un'e-mail a .