Domanda

Quali sono i miti o fraintendimenti legati alla Agile?

Ci sono molte idee sbagliate legate alla Agile che un nuovo arrivato medio può cadere. Quali sono le idee sbagliate del mondo Agile e come si giustificano che è veramente un equivoco?


Aggiornamento: Riassunto delle Agile Miti

  • Agile non consente la documentazione
  • I metodi agili non scala
  • Agile significa nessun piano
  • TDD copre tutte le esigenze di prova Unità
  • Il pair programming si traduce sempre in codice migliore
  • Agile è una soluzione pallottola d'argento per problemi di ingegneria del software (C'è una soluzione pallottola d'argento)
  • Agile non ha bisogno up design del frontale
  • Stiamo facendo mischia quindi non abbiamo bisogno di fare TDD, Programmazione refactoring coppia, ecc.
  • Si può imparare Agile da un libro
  • Agile funziona solo per i progetti banali
  • Agile utilizza sempre "Storie utente"

Leggi le seguenti risposte per ulteriori informazioni sui miti di cui sopra e per più miti.

È stato utile?

Soluzione

  1. "Stiamo facendo Scrum - quindi non abbiamo bisogno di (coppia | refactoring | fare TDD | ...)" In realtà i fondatori Scrum - Ken e Jeff sono stati dicendo che tutti i team Scrum ad alta produttività implementano l'intera gamma di pratiche Extreme Programming.

  2. Test-driven development non troverà tutti i bug / non è facile da applicare a tutto - quindi non stiamo andando a cercare - L'apprendimento TDD non è un "tutto o niente affare" e si arriva meglio a giudicare cosa prova e come farlo in modo efficiente. Ho fatto per dieci anni e sto ancora trovare il modo migliore per farlo e nuove cose da considerare.

  3. .
  4. posso imparare tutto quello che ho bisogno di applicare metodi agili da un libro - È necessario imparare facendo e che spesso significa coaching e incontrare altre persone che possono aiutare. Un sacco di cose vanno male quando le persone cercano solo di imparare da un libro.

  5. Hysterical (e del tutto reale) "Il candidato deve prendere la direzione da, e sostenere la scrum master" (Da una specifica di lavoro mi è stato inviato la settimana scorsa ...) - La mischia maestro non dovrebbe dire alla gente cosa fare . Lui / Lei è lì per facilitare - vale a dire per aiutare la squadra ad imparare a risolvere le cose stesse. Si tratta di una modalità di guasto enorme - avere un padrone di mischia che "comandi", persone

  6. Parlando "la metodologia agile" - indicatore di grande stupidità. In primo luogo, parlando di "agile" come se fosse una cosa specifica, mentre si tratta di un molto vaghi termini ombrello per molte cose diverse. In secondo luogo, l'uso di "la" metodologia agile - ci sono un sacco di loro, e un sacco di modi diversi di fare molti di loro! In terzo luogo, un sacco di gente nella comunità agile ottenuto qui nella reazione contro le grandi, i metodi UML carichi pesanti degli anni novanta. Queste persone non tendono ad usare la parola "metodologia" ...

  7. Hai bisogno di persone in particolare talento per sviluppare software nel modo agile Jeff Sutherland dice che essi consideravano utilizzando il modello "capo squadra programmatore" per la gestione delle squadre nelle banche -. Ma ha trovato didn' t hanno nulla di simile basta "capi". Scrum è stato progettato per ottenere la migliore produttività fuori da un sacco di programmatori capaci moderatamente. In realtà la rimozione di uno, in modo sproporzionato membro del team produttivo che non vuole aiutare gli altri possono i membri del team mediocri "Sblocca" e portare la loro produttività combinata fino a più che compensare l'ex membro del team di super-produttivo ... Questo è quello che Jeff dice comunque ...

Ci sono un bel paio di altri quelli XP-correlati che ci siamo inventati in un laboratorio spazio aperto che ho condotto recentemente: http://xpday-london.editme.com/WhereHasXpGone

Altri suggerimenti

"Il software funzionante su una documentazione completa" significa che non è necessario una specifica funzionale ...

Sbagliato !!! Significa solo che si possono appianare le rughe in modo iterativo con gli utenti - parlando da un fornitore, è ancora necessario buona documentazione per assistere con il QA e fasi di sign-off ...

Mito: utilizzando pratiche di sviluppo Agile è una soluzione pallottola d'argento ai problemi di ingegneria del software.

Mito: Test-primo sviluppo costringe il progetto di avere un adeguato test di unità

.

Fatto:. Molti sviluppatori ottenere pigro, e il test di unità che scrivono prima che il loro codice sono spesso deboli e inadeguate

Mito:. Pair programming si traduce sempre in codice migliore

Fatto: I programmatori tendono ad essere un po 'anti-sociale e di avere significativamente diversi processi di pensiero l'uno dall'altro. Avere qualcuno fiato sul collo, come si codice è molto sgradevole, e il risultato è spesso un ambiente di lavoro tesa con una riduzione sia la qualità del codice e la quantità.

Mito: Agile significa nessuna documentazione

Fatto: valore di Agile Software lavorare più di una documentazione completa, ma questo non significa alcuna documentazione a tutti. La documentazione dovrebbe essere scritta appena in tempo, e appena sufficiente. E no, Agile non dire uno dovrebbe sempre con le storie degli utenti. Usali se, e solo se sono appropriate!

Mito: Agile significa nessun piano

Fatto: Agile non supporta lo sviluppo senza pianificazione. Agile utilizza la pianificazione continua e la stima per massimizzare il ROI. In realtà, Agile è sulla gestione del campo di applicazione.

Mito: Agile significa nessuna disciplina

Fatto:. Sviluppatori agili devono essere più disciplinato per il successo

Mito: funziona Agile solo per i progetti banali

Fatto: Agile (in realtà Scrum qui) è stato utilizzato per

  • FDA ha approvato, software critico di vita per le radiografie e risonanze magnetiche,
  • applicazioni
  • di pagamento finanziari,
  • 24x7 con le esigenze di uptime 99,99999%,
  • multi-terabyte applicazioni di database,
  • etc

Mito: Agile non scala

Fatto: Sutherland utilizzato Scrum in gruppi di 500+, Cohn utilizzato Scrum in gruppi di 100 +

Mito: "No Big Design Up Front" significa nessun disegno

.

Mito:. Cascata non riesce sempre

Reality: La maggior parte del software che si sta utilizzando il vostro progetto agile è stato sviluppato con cascata. Anche BDUF cascata, in molti casi.

Non c'è nessun vero miti - ma tutto portato all'estremo sarà sbagliato. Un progetto agile che fa il design a zero, nella speranza di "progettazione come va" sarà probabilmente fallire. Un progetto cascata che progetta tutto fino all'ultima virgola probabilmente fallire a causa di budget, tempo o modificati esigenze degli utenti.

E 'stato ripetutamente detto "i metodi di progettazione agili non scala" considerando che lo sviluppo Agile sarà effettivamente portata a qualsiasi dimensione se attuate e pensato in modo corretto.

Mito: È necessario pianificare attentamente e pianificare ogni sprint

.

Questo porta a fare un sacco di pianificazione up-front in modo da poter pianificare completamente ogni sprint.

Questo porta a sconfiggere l'agilità e creare una cascata chiamata "Agile".

Il più grande mito che ho visto è che la gente pensa che sia meglio di altri processi di sviluppo.

E 'il solito silver bullet olio di serpente che abbiamo visto in questo settore da anni.

https://stackoverflow.com/questions/301993/is-agile-development -Dead / 302060 # 302060

Mito:. Agile è sempre una scelta migliore rispetto ad altre alternative

Fatto:. A seconda delle dimensioni del progetto, requisiti (in particolare la flessibilità di tale), pianificazione esterna, e l'atteggiamento cliente, non sempre può essere più produttivo rispetto a metodologia ortodossa

Mito : Agile significa XP e Scrum

Fatto :. Ci sono altre pratiche come Openup, AMDD, etc

E 'facile sapere cosa per caricare il vostro cliente. Questo e' sempre maggiori problemi per noi, perché non conosciamo la portata del progetto non siamo in grado di dare al cliente un prezzo fisso , e la maggior parte dei clienti richiede un prezzo fisso.

Gran thread. Mentre offro nulla di nuovo nel mio post sul blog relativo, io illustrare i primi due motivi per cui Agile fallisce quando lo fa sicuro. 1) Mancanza di esigenze in anticipo (prendendo il 'cominciano codifica con requisiti incompleti' a un estremo) e 2) La mancanza di test di unità adeguate (perché il cambiamento accadrà -. E test di unità sono il modo più rapido di catturare tutti i punti di rottura derivanti dal cambio)

http: //www.anujvarma.com/BlogEngine.net/post/2010/11/03/Agile-versus-Flat-Footed-development.aspx

Hai completamente ragione che ci sono un sacco di miti intorno Agile, alcuni provenienti dall'esterno, e altri dall'interno. Qui ci sono un paio di più ho pensato di aggiungere alla lista:

"Non hai bisogno di responsabili di progetto o gli analisti di business più"

Anche se non stiamo facendo BDUF e le squadre sono auto-regia, come le cose scalare fino v'è ancora una necessità per le persone il cui compito è coordinare quello che sta succedendo. E se si dispone di uno scenario di business molto complesso, si può ben bisogno di qualcuno per aiutare a dare un senso di esso. IME, un sacco di progetti che PM e Bas realmente necessari ancora hanno bisogno di loro (e quelli che non ne hanno bisogno ora, probabilmente non aveva bisogno di loro!). Ma, naturalmente, i ruoli delle POM e Bas tendono ad essere diversi nel mondo Agile, e che può rendere le persone a disagio.

"Agile non può essere utilizzato per i progetti a prezzo fisso"

E 'possibile, ma è piuttosto un po' più difficile. Soprattutto perché sappiamo tutti che "prezzo fisso" in realtà significa "prezzo fisso, la portata e il tempo" ...

"Noi non facciamo BDUF, lo facciamo tutti come andiamo avanti"

L'unico modo per lavorare è JEDUF (Just Enough Design Up Front). A volte avete bisogno di più, a volte si può ottenere con meno, ma non si fa più del necessario a quel punto.

Mito: Agile è anti-thetical alla sicurezza.

Fatto: Questo è vero solo, se si tenta di forzare uno SDL cascata in stile in piena regola (sviluppo della sicurezza del ciclo di vita) su squadre apparentemente Agile. In realtà, ho progettato e realizzato varianti Agile-SDL in numerose organizzazioni, e posso dire che mettere l'Agile in di sicurezza, in realtà può permettersi un livello più robusta di sicurezza superiore. ci vuole solo un cambiamento di mentalità di sicurezza - da di controllo per visibilità e di guida .

Se non si mostra il valore reale con agile, fallirà. E fallire miseramente come in bancarotta una società miseramente. Andando a Agile solo perché è 'agile' ti fa sembrare tanto sciocco quanto il CIO in questo video:

http://www.youtube.com/watch?v=nvks70PD0Rs

Giovanni

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top