Non riesco a capire un certo punto in Agile Manifesto Principles

23

Leggevo Principi del Manifesto Agile . Tutto sembra chiaro e ragionevole tranne per un punto:

Simplicity--the art of maximizing the amount of work not done--is essential.

Non lo capisco. Questo significa che il lavoro che non è stato fatto dovrebbe essere in qualche modo esagerato? Se è così, in realtà non è così.

    
posta superM 14.07.2012 - 13:14
fonte

4 risposte

30

Rimuovi il commento parentetico. Ciò che rimane è "La semplicità è essenziale", che tra l'altro è un'applicazione del principio alla sua stessa espressione.

La semplicità è essenziale, perché hai distillato ciò di cui hai veramente bisogno, rimuovendo ciò che sta rendendo il compito più pesante, meno elegante: complesso.

Ho sempre interpretato nel senso di Pascal su brevity : " Avrei scritto un breve lettera, ma non ho avuto il tempo. "Devi evitare ciò che non è necessario (dalla lettera, dal codice) e questo è un compito attivo , e non è facile . Non è qualcosa che accade da solo.

    
risposta data 14.07.2012 - 20:20
fonte
35

L'idea è di evitare di fare un lavoro che non è necessario, ad esempio "massimizzare la quantità di lavoro non fatto".

Quindi, se in un progetto tradizionale pianifichi e costruisci un sistema di base astratto per tener conto di tutti i tuoi possibili bisogni dopo, saltaci e costruisci la cosa più semplice che possa funzionare per la corrente requisiti. Non costruire cose che non ti servono.

YAGNI è un concetto correlato.

    
risposta data 14.07.2012 - 13:21
fonte
4

Questa idea è molto simile a un concetto dal Toyota Production System (TPS) , che ha portato al più generico Lean Manufacturing e poi l'applicazione di tali tecniche a Lean Software Development . Il TPS anticipa in modo significativo il movimento agile, con le sue radici nella produzione verso la fine degli anni '50.

Il concetto di massimizzare la quantità di lavoro non svolto è simile all'eliminazione degli sprechi. Nell'ambiente di produzione, i rifiuti includono cose come la sovrapproduzione di beni, l'attesa di risorse, lo spostamento non necessario di persone o prodotti, troppe scorte e prodotti difettosi. In Lean Software Development, questi rifiuti sono stati tradotti in funzionalità non necessarie, ritardi nel processo di sviluppo, requisiti non chiari che rallentano la produzione di software, mancanza di test e ritardi nella comunicazione.

L'idea generale di entrambi i concetti è la stessa: le cose che non aggiungono valore sono dispendiose e dovrebbero essere ridotte al minimo. L'obiettivo finale è aumentare la qualità riducendo tempi e costi di produzione.

    
risposta data 14.07.2012 - 19:38
fonte
4

Si chiamava questa "doratura". Il requisito per un martello è che può colpire un chiodo in un pezzo di legno. Non fa meglio il lavoro per essere un martello placcato in oro.

Molte volte uno sviluppatore suggerisce di utilizzare un nuovo framework interessante o di aggiungere funzionalità che, sebbene non siano necessarie. Prenderemo nota di questa idea, ma per questa versione non lo faremo. Massimizzeremo il lavoro non fatto. È abbastanza difficile consegnare il software in tempo, quindi non consegnare più codice di quello che è necessario. Se è necessario, alla fine entrerà nel piano e sarà fatto al momento opportuno.

    
risposta data 19.07.2012 - 15:04
fonte

Leggi altre domande sui tag