Perché la programmazione estrema (XP) è scaduta a favore di Agile, Kanban ecc.?


15

Mi piace XP (programmazione estrema), in particolare la parte in cui ci sono 2 programmatori nella stessa schermata, poiché la soluzione di un problema si trova spesso più rapidamente se solo spieghi cosa stai facendo e accoppiando la programmazione ti costringe a spiegare cosa stai facendo.

Negli ultimi 10 anni circa, lo stile di lavoro di XP sembra essere obsoleto a favore delle metodologie di lavoro: Agile e / o Kanban. Perché? Dal momento che XP mi sembra essere un ottimo modo di lavorare e riguarda molto la programmazione, mentre Agile e Kanban sono più incentrati sui processi.


28
XP è un approccio agile . Quindi "Agile" non può davvero sostituire XP.
Joachim Sauer,

1
Stavo per pubblicare una risposta, quando ho notato che Volker sta dicendo lo stesso. I processi agili sono per natura adattivi, non esiste Kanban, Scrum, XP "perfetto / puro", è più un mix and match. XP, in questo senso, sta ancora andando forte, dato che molti dei concetti che ha introdotto sono stati adottati da quasi tutti gli altri approcci.
yannis,

3
C'è un interessante elenco di critiche su XP su Wikipedia , ma se lo scannerizzi, la maggior parte si applica ad Agile in generale.
yannis,

3
Non credo che XP sia andato da nessuna parte. Gran parte di esso è assunto come parte dello sviluppo agile. Penso che ciò che è andato fuori moda è stato usando il termine "estremo". Mi ha sempre dato l'immagine di un programmatore saltato su sul Monte. La rugiada con uno snowboard si sporse sulla scrivania.
JimmyJames,

L'intera cosa "Pair Programming" non ha funzionato, IMO. È ottimo per risolvere determinati problemi isolati, ma la stragrande maggioranza dei problemi di programmazione (interfacce utente, architetture, regole aziendali) non giustifica il costo di avere due sviluppatori di software seduti sullo stesso schermo.
Robert Harvey,

Risposte:


21

Ci sono molti stili, metodi e mentalità differenti legati allo sviluppo dell'intero campo e ogni cosa ha il suo nome brillante.

Agile è solo una mentalità che si allontana dai soliti modelli di programmazione statica (come le cascate) - il suo obiettivo principale è quello di ottenere uno sviluppo più flessibile e (alla fine) un software migliore e clienti soddisfatti. Sotto agili, ci sono molti modelli diversi come Scrum, Kanban, XP.

Soprattutto Kanban non proviene originariamente dallo sviluppo del software, ha origine nella costruzione di automobili (ricordo che Toyota lo ha introdotto per la costruzione di automobili e alcuni sviluppatori di software lo hanno adottato e ampliato)

La programmazione delle coppie, le revisioni del codice e roba del genere sono solo strumenti: puoi (e dovresti) farlo sempre durante un progetto, indipendentemente dal metodo che usi. È solo che questa roba è più nativa per agile che statica.

XP più o meno ha introdotto queste cose (o almeno ha dato loro un nome brillante) e tutte le seguenti cose le hanno adottate perché funzionavano semplicemente bene.


3
Come anche menzionato @refro, Scrum e Kanban non includono la programmazione di coppie o le revisioni del codice (ma nemmeno le escludono). Entrambi sono più una metodologia di gestione del progetto che un processo di sviluppo del software. E come tali, sono applicabili a una vasta gamma di settori al di fuori dello sviluppo del software. Considerando che XP è specificamente un approccio di sviluppo software. Questi possono coesistere: puoi gestire il tuo team XP nel modo Scrum.
Péter Török,

16

Dal mio punto di vista XP è una pratica di programmazione, Scrum e kanban sono pratiche di gestione dei progetti. Hanno una relazione ma non si sostituiscono.

Nel nostro progetto kanban utilizziamo la programmazione in coppia (principalmente per sezioni complesse e debug), TDD, CI. Quindi è ancora usato, ma il management sta spingendo più forte il lato del project management.


1
La programmazione delle coppie è come un disturbo nelle pratiche dei musicisti. Funziona a volte e a volte non funziona affatto. In rari casi potrebbe essere adottato come un modo generale di giocare e in casi molto rari come modo di comporre .
Alex Yu

0

La programmazione estrema riguarda la meccanica dello sviluppo, mentre Agile riguarda l'SDLC (ciclo di vita dello sviluppo del software).

Il motivo principale per cui non si sente più parlare di "Programmazione estrema" per nome è l'uso del termine "Estremo" come aggettivo positivo è una cosa obsoleta tra gli anni 90 e l'inizio degli anni 00 che ora è considerata banale. È principalmente solo una vittima del marketing. Ecco perché lo ascolti quasi esclusivamente come "XP", anche verbalmente.


0

Ho qualche idea sulla programmazione di coppia.

Per me questo è qualcosa che fai quando sei bloccato con qualcosa. In quei momenti può essere molto efficace, può farti uscire da una carreggiata. Ma è anche stancante e un modo di lavorare che al programmatore di tipo stereo non piace fare più di tanto in tanto.

Se stai scavando una buca, poche persone si preoccuperebbero di ottenere aiuto da un collega. Ma non appena viene coinvolta la creatività, le persone preferiscono fare le cose a modo loro piuttosto che a qualcun altro. Quindi la tensione è sempre vicina a meno che uno non si interessi in un modo o nell'altro o se il proprio ruolo sia chiaramente da suggerire solo.

Dove lavoro La programmazione in coppia non è formalizzata ma abbiamo sessioni ad hoc e sono in genere brevi. Non sarà come "Ehi collega, che ne dici di una programmazione estrema?" Più spesso inizierebbe con "Puoi dare un'occhiata al mio schermo?" e tirando su una sedia per loro.

Quindi non penso che la programmazione delle coppie sia morta o meno popolare, è solo uno di quegli strumenti che non usi molto spesso perché è costoso e non principalmente perché hai due persone pagate che lavorano su una cosa.


0

Agile è più commercializzabile perché coinvolge diversi stakeholder con ruoli e responsabilità diversi legati al processo di creazione del software.

Quando nella sua seconda edizione Kent Beck ampliava la portata dei partecipanti all'interno di XP, era tardi: le persone avevano già abbracciato altre metodologie perché la prima versione di XP si rivolge ai creatori del codice, ed è quello che il pubblico ricorda ancora inconsciamente o no. XP non era commerciabile alla nascita.


0

Ho sempre pensato che Scrum fosse la versione di Agile più facile da vendere al management: le stime deterministiche, la sua natura un po 'dottrinale, ben definita ("non stai davvero facendo Scrum - sentiti in colpa!") ...

Allunga i tuoi sprint abbastanza a lungo e prendi quelle piccole "carte da poker" abbastanza sul serio, e Scrum può davvero solleticare lo stesso prurito che hanno fatto i metodi Waterfall. Questo non è necessariamente negativo, ma non nascondiamoci dietro il fumo e gli specchi qui.

Per quanto riguarda XP, la programmazione delle coppie non fa generalmente appello alla gestione, in particolare alla gestione non tecnica.

Per dirla in formato analogico SAT, Scrum: XP :: The Monkees: The Beatles

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.