27
La metodologia Agile: alcune considerazioni ed applicazioni

Agile for Genio

Embed Size (px)

Citation preview

La metodologia Agile: alcune considerazioni ed applicazioni

__ 2

Le società sono organizzazioni complesse composte da persone

Secondo alcuni pensatori contemporanei, le organizzazioni complesse sono paragonabili, per diversi aspetti, alle entità biologiche.

Le organizzazioni, come le e. biologiche, evolvono (e in alcuni casi involvono)

Società ed evoluzione

La maturità aziendale: un modello, il CMMI

Il CMMILivello 1: InitialRappresenta processi con risultati non prevedibili. I processi di produzione sono instabili e

disorganizzati, implicitamente definiti di volta in volta da chi li realizza; il flusso delle attività è caotico. Il successo in questo caso è affidato solo alle competenze delle persone che lavorano nell’azienda e non all’uso comprovato di processi. A questo livello, anche se si producono prodotti e servizi che funzionano, spesso si supera il budget e non si rispetta il programma (schedule).

Livello 2: ManagedA questo livello i progetti dell’organizzazione hanno l’assicurazione che i processi siano pianificati e

gestiti secondo regole stabilite. I progetti impiegano persone competenti che hanno risorse adeguate per produrre output controllati; coinvolgono gli stakeholder ; sono monitorati, controllati e revisionati. Questo livello di maturity aiuta ad assicurare che le pratiche esistenti siano mantenute nel tempo. I progetti saranno eseguiti e gestiti secondo i piani documentati e gli impegni stabiliti con gli stakeholder.

__ 5

Il 70.5% delle società con meno di 25 dipendenti si colloca al livello 2, mentre il 52.8% di quelle che hanno fra i 1000 e i 2000 dipendenti, si collochi al livello più alto (livello 5: ottimizzato).

Secondo il Software Engineering Institute (SEI, 2008), il CMMI aiuta a "integrare funzioni organizzative che tradizionalmente erano separate, definire obiettivi e priorità per il miglioramento dei processi, fornire una guida per la qualità dei processi e fornire un punto di riferimento per la valutazione dei processi attuali."[1]

Il SEI ha constatato che le società campionate hanno misurato miglioramenti delle loro prestazioni in termini di costi, qualità, produttività e soddisfazione del cliente[2] con miglioramenti compresi fra il 14% della soddisfazione del cliente al 62% di incremento della produttività.

Il CMMI

Vantaggi e limiti di un modello come il CMMI

Senza un modello relativo al funzionamento delle organizzazioni, alle funzioni necessarie e alle modalità di interazione di tali funzioni, è difficile indirizzare le attività verso il miglioramento. Un modello consente la comprensione di elementi discreti nelle organizzazioni e aiuta a sviluppare un linguaggio e discussioni su cosa deve essere migliorato e sul modo in cui ottenere tale miglioramento.

Un modello offre i vantaggi seguenti: • fornisce un framework e un linguaggio comuni per agevolare la

comunicazione • si basa su anni di esperienza • aiuta gli utenti non perdere di vista il quadro generale concentrando al

contempo l'attenzione in modo specifico sul miglioramento • è spesso supportato da istruttori e consulenti • può fornire uno standard per consentire di risolvere i disaccordi E’ meno adeguato alle piccole organizzazioni

__ 7

II prodotti giapponesi, negli anni cinquanta, erano percepiti dal mercato come scadenti e grossolane imitazioni dei prodotti americani.

II Kaizen è un processo quotidiano che ha migliorato sensibilmente l’efficienza produttiva giapponese soprattutto attraverso l’ umanizzazione del posto di lavoro:

•Disegnando i processi seguendo le esigenze dei collaboratori; •La progressiva eliminazione del lavoro pesante e/o ripetitivo con ampio ricorso a processi automatizzati; •La formazione continua dei collaboratori attraverso processi di riqualificazione tecnologica e stages di apprendimento dedicati; •L’addestramento dei collaboratori per trovare ed eliminare gli sprechi •Il coinvolgimento e l’identificazione dei collaboratori con la Vision aziendale.

Un modello per migliorare: la storia e principi del Kaizen

__ 8

1. Seiri – Ordine. Il primo passo che devi fare quando sei all’inizio è mettere ordine.

2. Seiton – Mantieni l’ordine. “Ogni cosa al suo posto e un posto per ogni cosa”.

3. Seiso – Pulizia. Un ambiente pulito, che sia il posto di lavoro, la casa, la macchina stimola la tua attenzione al mondo che ti circonda.

4. Seiketsu – Definisci degli standard (di pulizia, di ordine, ...).5. Shitsuke – Disciplina. Tutti i passaggi descritti sopra si mantengono con

la disciplina e la verifica continua.

I piccoli passi del Kaizen: le cinque S

__ 9

Obiettivi del miglioramento: che cosa è il successo?

Per le società

__ 10

Obiettivi del miglioramento: che cosa è il successo?

Per i Clienti

__ 11

Obiettivi del miglioramento: che cosa è il successo?

Per qualcuno….

__ 12

1. Lavorare meno e meglio. 2. Produrre di più e con maggiore qualità. 3. Acquisire nuovi clienti e seguire meglio i vecchi. 4. Arricchirsi attraverso incarichi nuovi, stimolanti e meno ripetitivi.5. Espandersi sul territorio.6. Aumentare il fatturato in quanto espressione del lavoro effettuato.7. Condividere strumenti di reporting e gestione delle attività.8. Raccogliere suggerimenti da tutti per il miglioramento. 9. .......

Obiettivi del miglioramento presso Genio, proposte

__ 13

•Gestione delle risorse

•Gestione della comunicazione

•Definizione di metodologie e processi per lo sviluppo del software, per la gestione dei sistemi e della telefonia

•Supporto clienti (tickets, reporting )

•Contratti e fatturazione

Le possibili aree di miglioramento presso Genio SA

__ 14

•Pulizia ed inventario del “magazzino”

•Inventario del software ad uso interno

•Inventario del sw installato presso i clienti* (con l’indicazione delle versioni di Logico, causa di diversi problemi di incompatibilità)

•Sistemazione delle infrastrutture (telefoni, videoconferenza, ..)

•Identificazione dei sostituti

•…..

* Sostituzione degli attuali fogli Excel

Miglioramento per la gestione delle risorse, es. di proposte

__ 15

•Brevi riunioni giornaliere/settimanali di gruppo, dalle 8,30 (15 min. max)

•Comunicazioni esterne per fare conoscere i prodotti, per prodotto (lettere e tele-marketing)

•Comunicazione aziendale esterna, per fare conoscere l’azienda (monitor all’ingresso, miglioramento SEO sito internet,..)

•……..

Miglioramento della comunicazione, esempi di proposte

__ 16

Metodologie per lo sviluppo del software

• Waterfall• Prototype model• V-Model• Spiral• Scrum• Cleanroom• RAD

• DSDM• RUP• XP• Agile• Lean• Dual Vee Model• TDD• FDD

__ 17

Metodologie incrementali vs. iterative

__ 18

Metodologia incrementali AND iterativa

__ 19

Agile

• Group of software development methods

• Based on iterative and incremental development

• Most important phrases

–self-organizing, cross-functional teams–adaptive planning, –evolutionary development

and delivery, –a time-boxed iterative

approach,–rapid and flexible response

to change.

• A conceptual framework• The Agile Manifesto in 2001.

Agile for Genio

• Già utilizzato de facto presso Genio, ma non formalizzato

• Agile é flessibile per la gestione del supporto clienti

• Agile é compatibile con CMMI

• Applicabile a tutte le aree (sviluppo, supporto, gestione sistemi)

• Adattabile all’organizzazione

• Introduzione del Kanban

Agile CMMI Performance Analysis

__ 21

10%

20%

30%

50%

40%

60%

CMMI 1 CMMI 5

AGILE

70%

80%

90%

100%

CMMI 5

AGILESCRUM

Project effortRework

Work

Process focus

CMMI

Adding

SCRUM

50 %

50 %

50 %

10 %

9 %

6 %

25 %

4 %

100 %

69 %

35 %

Source: Systematic A/S

Kanban history

• 看板 – kanban literally means “visual card,” “signboard,” or “billboard.”

• Toyota originally used Kanban cards to limit the amount of inventory tied up in “work in progress” on a manufacturing floor

• kanban cards act as a form of “currency” representing how WIP is allowed in a system.

• Kanban is an emerging process framework that is growing in popularity since it was first discussed at Agile 2007 in Washington D.C.

Kanban pros

• “Visual Card”

• Reduce waste

• Reduce software inventory (Work in progress)

• Utilize pull system and only produce what is needed• (“Pull” system – like supermarket)

• Make software development process more efficient

Kanban board

Uses Kanban cards – similar to Agile story cards.

Use Kanban board to track task and project progress.

Kanban basic rules

• Visualize the workflow

• Limit Work In Progress (WIP)

• Measure and manage flow

• Make process policies explicit

• Improve Collaboratively (using models/scientific method)

study implement integrate test done

2 4 1 3

Lead time until done

Cycle time of impl.

backlog

Measuring velocity by counting cards

Release planning using a burnup chart