Extreme Programming (XP) è incompatibile con le idee espresse in Peopleware?


16

Ho appena finito di leggere Peopleware (DeMarco, Lister) e ho fatto ricerche su Extreme Programming (XP) un po 'prima. Per come la vedo ora, i due approcci sono quasi esclusivi.

Peopleware suggerisce di isolare i programmatori da qualsiasi disturbo e pone la priorità sul lavoro ininterrotto al fine di aiutare i programmatori a raggiungere il flusso. XP, d'altra parte, propone di assicurare quante più comunicazioni possibili, anche suggerendo ai programmatori di "sedersi insieme", programmare in coppia e generalmente lavorare nella stessa stanza (generando molto rumore).

Sono queste due scuole di pensiero in competizione, forse una di esse è dimostrata giusta / sbagliata o esiste un compromesso efficace? Vedo i punti espressi da entrambe le parti, ma non vedo alcun compromesso ragionevole.

Sono molto nuovo nello studio della gestione dello sviluppo del software, quindi è possibile che abbia frainteso qualcosa. Tutti i commenti sono benvenuti.

PS Come mini-domanda aggiunta, come programmatore, quale troveresti più produttivo?


4
Non sono esclusivi. Gli sviluppatori di coppie dovrebbero funzionare senza interruzioni.
Lukasz Madon,

@lukas: anche considerando questo, che dire di "stare seduti insieme"?
Aleksandrs Ulme,

Risposte:


12

Hai perso il punto con Peopleware. In nessun luogo il libro suggerisce di isolare i programmatori nei singoli uffici, ma di raggrupparli in 2-4 persone per ufficio.

Il motivo principale è quello di isolare i programmatori dal rumore non legato alla programmazione, come l'addetto alle vendite che urla al telefono, chiacchiere tra il manager e il segretario, rumore generato da persone che si muovono, squillo del telefono, schiaffi delle porte e altro ancora.

Extreme Programming è pienamente compatibile con un ufficio da 2 a 4. Per eseguire la programmazione in coppia, hai 2 o 3 max.


Sì, rivedendo la cosa ho notato l'osservazione che i programmatori dovrebbero essere isolati "dal rumore molto diverso da quelli che producono", cioè dai non programmatori. Grazie!
Aleksandrs Ulme,

Ho avuto il lusso di lavorare in un ufficio di 3 persone per circa 5 anni. Funziona davvero bene - se le persone lavorano insieme.
quick_now

@quickly_now: lavori in uno spazio aperto adesso?

1
Lavoro in un ufficio di una persona adesso. Lavoravo in un ufficio di 3 persone, e prima ancora in un piano aperto. (E prima ancora ... piano più aperto ... e prima ancora, un ufficio con una porta che potevo chiudere). La mia preferenza dopo tutto questo è un ufficio di una persona. Se non riesci a ottenere quel lusso, allora 2-3 persone vanno bene. Più di questo è solo un maiale gigante.
quick_now

11

Penso che entrambi gli approcci descrivano una strategia di lavoro generale ma non necessariamente ogni minuto di lavoro in un giorno. Deve esistere un equilibrio.

Siate abbastanza vicini da consentire una comunicazione rapida ma ritiratevi in ​​un'area appartata quando la discussione è terminata e il lavoro effettivo deve seguire.

Personalmente trovo che "stare insieme" e "generare molto rumore" per tutto il tempo non funziona. C'è tempo per parlare per discutere dei problemi, decidere i passi successivi e così via e poi c'è tempo per programmare e le persone devono avere aree tranquille per farlo.


4

La chiave è la frase "isolare i programmatori da qualsiasi disturbo e imposta la priorità sul lavoro ininterrotto". La cosa prioritaria è chiara in XP quando le Storie sono selezionate ogni iterazione per essere la più preziosa. I clienti devono sforzarsi di avere una serie di storie "stabili", senza cambiare idea troppo a metà iterazione (può succedere, ma dovrebbero essere casi speciali, non la norma).

La parte "isolare programmatori" è la più complicata. Significa che i programmatori dovrebbero fare ciò che fanno meglio: Programma. Perché XP funzioni, i programmatori devono trovarsi in un ambiente in cui si concentrano esclusivamente sul completamento delle storie, senza alcun sovraccarico esterno come riunioni, telefonate, piccoli favori e così via. Questo può essere realizzato sia mettendo ogni coppia di programmatori nel proprio ufficio, sia avendo tutti i programmatori in una sala di guerra in cui nessun altro può entrare se non assolutamente necessario.


1

Personalmente, trovo IMPOSSIBILE lavorare in coppia con qualcuno, anche se sto imparando da quella persona. Forse è solo così che alcune persone (cioè io) lavorano meglio nei modi più "classici" (entrando nella zona, silenzio, ecc ...).

O forse è il fatto che XP è principalmente implementato nei negozi di sviluppo web in cui le persone indossano molti cappelli e invece di risolvere problemi difficili in un dominio (ad esempio ottimizzando un pezzo di codice), passano il tempo a trovare una soluzione già esistente per un problema non molto duro intellettualmente (es. integrare un carrello della spesa nella pagina ecc.).

Per qualcosa del genere, lavorare in coppia, molte comunicazioni ecc. Potrebbe essere l'unico modo per andare avanti in modo efficace (non trascorrerai X ore solo per trovare quel modulo di invio di e-mail Joomla! / Droopal bug, vero? ?)


-2

Sì, XP è completamente incompatibile con Peopleware e le buone pratiche di sviluppo software all'interno. Forse devi rinfrescarti con la sezione prima di continuare?

http://code.scottshipp.com/2017/03/22/open-office-plans-excerpt-from-peopleware/

La tabella 8-1 in fondo la descrive in modo chiaro, con l'entrata finale che è il siluro finale.

  1. Le persone ti interrompono spesso inutilmente? 38% sì 76% sì

In un ufficio per più persone non c'è fisicamente alcun modo per evitarlo. L'unità sponsale di qualcuno li chiama e anche se la persona esce dopo aver risposto, si viene comunque interrotti dalla risposta. Qualcuno cerca di essere educato, andare a prendere un caffè e chiama per vedere se qualcuno vuole qualcosa.

Non dimentichiamo il programmatore che mette le cuffie e alza il volume in modo da poterlo ancora sentire a 6 piedi di distanza o peggio ancora, si sente obbligato a usare una penna / matita per suonare con una sezione di una "grande melodia". Oh, e se sei abbastanza sfortunato da avere un appassionato di sport che lavora nell'IT, arrivano tutti pompati.

"Oh! Hai visto la partita di ieri sera? !!!! E quella CHIAMATA !!!! Erano ciechi ?? !!"

Bene, ottieni l'immagine.

XP per definizione iniziale è 2 programmatori e una tastiera. È una metodologia davvero adatta solo per immersioni profonde su bug difficili da trovare, non per lo sviluppo di software su larga scala. Entrambi i concetti Open Plan e Team Room violano la ricerca svolta in Peopleware.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.