Summary

This document details various project management concepts, including feature creep, Fibonacci sequence, impediments, iterations, and iterative development. It also describes “kanban” as a project management framework and discusses its advantages.

Full Transcript

***Feature Creep*** **Definizione**: Feature creep è la tendenza ad aggiungere requisiti o funzionalità aggiuntive a un progetto dopo che lo sviluppo è già in corso. Il feature creep può verificarsi a livello di progetto o di sprint. **Noto anche come**: Requirements creep, scope creep **Come...

***Feature Creep*** **Definizione**: Feature creep è la tendenza ad aggiungere requisiti o funzionalità aggiuntive a un progetto dopo che lo sviluppo è già in corso. Il feature creep può verificarsi a livello di progetto o di sprint. **Noto anche come**: Requirements creep, scope creep **Come viene utilizzato**: in un progetto sono previste modifiche e requisiti aggiuntivi. Tutte le modifiche richieste dopo l\'inizio di un progetto o di uno sprint devono essere aggiunte al backlog e prioritarie in base al valore. Ciò garantisce che il feature creep non avrà un impatto negativo sulla tempistica o sui costi del progetto. **Problemi di Project Management**: Mette a rischio la pianificazione, la qualità e i costi del progetto. Riduce la produttività. Impedisce ai team di raggiungere gli obiettivi di iterazione. Riduce il valore del prodotto o del risultato finale. ***Sequenza di Fibonacci*** **Definizione**: Originariamente derivata nel XII secolo da Leonardo Pisano, la sequenza di Fibonacci è una sequenza matematica in cui ogni numero successivo è determinato dalla somma dei due numeri precedenti, ovvero: 1, 2, 3, 5, 8, 13, 21... Ogni intervallo diventa più grande all\'aumentare dei numeri: **Come viene utilizzata**: I team utilizzano spesso la sequenza di Fibonacci quando giocano a Planning Poker per stimare il carico di lavoro. I numeri sono relativi e non hanno unità di misura assegnate. **Vantaggi del Project Management**: Stabilisce una scala o uno standard di confronto per la stima. Aumenta l\'accuratezza delle stime. ***Impediment*** **Definizione**: Un impedimento è qualsiasi ostacolo che impedisce a un individuo o a un team di completare un\'attività o un progetto. Riunioni non programmate, problemi tecnici, mancanza di conoscenza o competenza, un ambiente di lavoro distratto e conflitti in ufficio sono tutti esempi di impedimenti. **Come viene utilizzato**: il team potrebbe voler creare un elenco di impedimenti chiamato Impediment Backlog e mostrarlo in modo visibile nell\'area in cui il team si incontra per i Daily Scrum. Gli impedimenti dovrebbero essere elencati in base alla gravità del loro impatto sulla produttività del team. Se gli impedimenti sono a livello aziendale, è responsabilità dello Scrum Master rimuoverli. Se si verificano a livello di team, è responsabilità del team risolverli o rimuoverli. **Problemi di Project Management**: Risulta in una riduzione della produttività del team. Ha un impatto negativo sulla tempistica e sui costi del progetto. Deve essere affrontato il prima possibile. ***Iteration*** **Definizione**: un\'iterazione è un periodo di tempo fisso o con limiti di tempo, generalmente compreso tra due e quattro settimane, durante il quale un team Agile sviluppa un prodotto consegnabile e potenzialmente consegnabile. Un tipico progetto Agile consiste in una serie di iterazioni, insieme a una riunione di pianificazione prima dello sviluppo e una riunione retrospettiva alla fine dell\'iterazione. Le iterazioni sono chiamate sprint in Scrum. **Noto anche come**: Sprint, Timebox **Come viene utilizzato**: all\'inizio di un\'iterazione o sprint, il product owner e il team decidono quali requisiti completare durante l\'iterazione. La durata di un\'iterazione può variare da progetto a progetto. Vantaggi del Project Management: Consente ai team di lavorare in modo efficace con i clienti. Incoraggia il feedback durante l\'iterazione. Aiuta a prevenire il feature creep. Riduce il rischio di slittamento delle tempistiche. ***Iterative Development*** **Definizione**: lo sviluppo iterativo è il processo di suddivisione dei progetti in componenti più gestibili, note come iterazioni. Le iterazioni sono essenziali nelle metodologie Agile per produrre un prodotto o un prodotto potenzialmente consegnabile. **Noto anche come**: sviluppo incrementale **Come viene utilizzato**: nello sviluppo iterativo, i team Agile progettano, sviluppano e testano il codice in cicli ripetuti. Dopo il completamento di ogni iterazione, il team raccoglie il feedback degli utenti e quindi utilizza tali informazioni per creare la successiva iterazione del prodotto. Lo sviluppo iterativo consente ai team di valutare e adattare i propri processi, il che porta a un miglioramento continuo. **Vantaggi del Project Management**: Migliora la soddisfazione del cliente. Aggiunge valore al prodotto. Consente una consegna più rapida di software o prodotto funzionante. Porta a un miglioramento continuo. ***Kanban*** **Definizione**: Kanban è un framework altamente visivo che rientra nell\'ombrello Agile. Il processo Kanban utilizza un flusso di lavoro continuo anziché iterazioni fisse per produrre prodotti consegnati. Quando applicato a un processo esistente, Kanban incoraggia piccole modifiche incrementali al processo corrente e non richiede una configurazione o una procedura specifica. Kanban si concentra sul completamento di interi progetti anziché di sprint. **Come viene utilizzato**: anziché ricevere attività assegnate, i membri del team estraggono il lavoro dal backlog del prodotto. L\'unica limitazione in Kanban sono i limiti (limiti WIP) imposti alla quantità di lavoro presente nella pipeline in un dato momento. Kanban aiuta i team a ridurre i tempi di ciclo, ottimizzare il flusso di lavoro e aumentare la produttività, portando a un miglioramento continuo. Kanban è un tipo di metodologia Agile. Viene utilizzato principalmente nello sviluppo software, ma può essere utilizzato in qualsiasi tipo di progetto in qualsiasi settore. **Vantaggi del Project Management**: Aumenta l\'efficienza del team. Consente flessibilità e si adatta facilmente al cambiamento. Riduce i tempi di ciclo. Migliora il flusso di lavoro. Porta a un miglioramento continuo. Aumenta la capacità del team di prevedere il lavoro futuro. ***Lean Software Development (LSD)*** **Definizione**: Lean Software Development è un esempio di metodologia Agile leggera applicata allo sviluppo di progetti. Lean Software Development combina l\'approccio Lean Manufacturing avviato da Toyota negli anni \'50 (noto anche come produzione just-in-time) e i principi Lean IT, e li applica al software. LSD pone una forte enfasi sulle persone e sulla comunicazione efficace. **LSD è definito da sette principi**: Eliminare gli sprechi Creare conoscenza Costruire qualità in Rinviare l\'impegno Ottimizzare il tutto Consegnare rapidamente Rispettare le persone **Come viene utilizzato**: L\'obiettivo principale di Lean Software Development è ridurre o eliminare gli sprechi e, pertanto, si concentra sulla semplificazione dei prodotti per includere solo le funzionalità più preziose e fornirle in incrementi. La definizione delle priorità del backlog, brevi cicli di feedback, test unitari frequenti ed efficienza del team sono tutti componenti di Lean Software Development. dLSD impiega l\'approccio Kanban per estrarre il lavoro dal backlog e migliorare la velocità e l\'efficienza del flusso di lavoro. **Vantaggi del Project Management**: Riduce i costi complessivi del progetto. Aumenta l\'efficienza e la velocità del flusso di lavoro. Consente una consegna più rapida di software funzionante. Aumenta la motivazione del team grazie all\'empowerment decisionale. ***Pair Programming*** **Definizione**: La programmazione in coppia è uno scenario in cui due programmatori condividono una singola postazione di lavoro e lavorano insieme per sviluppare una singola funzionalità. **Noto anche come**: accoppiamento, programmazione in coppia, programmazione in coppia **Come viene utilizzato**: Un programmatore, il driver, scrive il codice, mentre l\'altro, il navigatore, rivede il codice mentre viene scritto e fornisce una direzione strategica. I due programmatori cambiano ruolo periodicamente durante l\'attività. Uno o entrambi i programmatori tengono un commento continuo durante il processo di sviluppo. Affinché l\'accoppiamento sia efficace, la postazione di lavoro deve essere in grado di ospitare entrambi i programmatori: come minimo, la scrivania dovrebbe avere abbastanza spazio per ospitare facilmente due sedie. Il livello di rumore della stanza dovrebbe essere controllato e non dovrebbe essere più forte della conversazione attutita della singola coppia o di più coppie. **Vantaggi del Project Management**: Risulta in un codice di qualità superiore. Aumenta il trasferimento delle competenze. Consente la formazione incrociata tra i membri del team. Incoraggia la comunicazione. Chiarisce i problemi e velocizza il processo decisionale.

Use Quizgecko on...
Browser
Browser