Programmazione estrema per un singolo sviluppatore [chiuso]

10

Ho lavorato con alcuni concetti base di programmazione estrema per le ultime due settimane, per un gioco arcade su piccola scala, for-profit, multiplayer. Ho trascorso una settimana a sviluppare storie di utenti e a determinare i requisiti per creare un piano di rilascio. Ho anche trascorso una settimana a programmare e applicare il primo piano di iterazione che ho elaborato. Ho identificato alcuni dei concetti ovviamente utili per un singolo sviluppatore.

  • Integrazione continua
  • Non aggiungere mai funzionalità in anticipo
  • Test Driven Development
  • Scegli una metafora del sistema
  • Utilizza un singolo punto di integrazione
  • Prova tutti i bug
  • Costantemente refactor
  • Imposta un ritmo sostenibile
  • Semplicità
  • Frequent Releases

Sono curioso di sapere se mi manca qualcosa in particolare che potrebbe essere adatto a lavorare con un singolo progetto per sviluppatori?

Inoltre, in questa luce data l'idea della semplicità e dello sviluppo basato sui test, è meglio usare piattaforme consolidate, ricche di funzionalità e già pronte?

O dovrei lavorare da zero, quando possibile, per evitare di incappare nei problemi presentati con regole come il refactoring costante e non aggiungere mai funzionalità in anticipo?

    
posta Kody Manharth 30.11.2013 - 21:04
fonte

1 risposta

5

In definitiva, Extreme Programming riguarda un insieme di pratiche e metodologie che portano a un miglioramento del valore aziendale. La migliore illustrazione di ciò che ho trovato è da link

TuttoinblufapartedelcorediXP.

Cisonopartialdifuoridiessocheaiutanoadabilitarelecoseall'internodell'areabluefannopartediXPnelsuoinsieme,manonsonocritiche.NotachepersonalmentenonsonounpraticantediXPeholettounabuonadosedicriticheneiconfrontidipersoneche"quasi" seguono XP che diverse persone hanno detto non sono XP. Mettiamo da parte quell'aspetto del dogma di XP e guardiamo quello che abbiamo.

Comprendi che una delle prime e per la maggior parte delle cose è avere un impegno per il processo da parte del cliente. Un componente chiave di XP è il coinvolgimento del cliente. Questo si presenta in una serie di punti come la pianificazione del rilascio, le piccole versioni, la valutazione dei clienti fuori sede. Queste sono cose a cui i tuoi clienti dovranno iscriversi se hai successo con XP come sviluppatore solista. Se chiedono invece un design e quindi un periodo di sviluppo e poi test e così via, non avrai l'impegno da parte loro di andare oltre.

XP non significa nessuna pianificazione. Ci sono diversi punti in questo in cui la pianificazione è parte di esso: definizione delle priorità, stima della storia dell'utente, pianificazione dell'iterazione e definizione delle attività. Anche se sei uno sviluppatore su questo, queste sono cose che dovrai collaborare con i tuoi clienti per la consegna.

Punti come la proprietà collettiva del codice e la programmazione della coppia sono cose che coinvolgono più di uno. Decidere su cose come gli standard di codifica è molto più facile, ma ciò non significa che non devi seguirli. La proprietà collettiva del codice si applica ancora - è solo che la proprietà è anche il prossimo sviluppatore - non scrivere codice che è per te e tu solo. Nota che questo è in un certo grado di conflitto con il 'codice rivela tutte le intenzioni' che è abilitato dalla programmazione della coppia - non hai quella persona per controllare che tu stia scrivendo codice manutenibile, quindi anche la documentazione del codice è critica. p>

Oltre a questi avvertimenti, molti dei principi di progettazione di XP si applicano ancora. Cose come test first design, continuous integration, incontri con il cliente, refactoring, YAGNI, soluzioni spike: quelle call possono essere fatte da soli.

Renditi conto che XP da solista richiede più o più rigore del normale XP. XP è spesso considerata una metodologia ad alta disciplina in quanto richiede alle persone di mantenere una rigorosa adesione alle migliori pratiche che cerca di incarnare . Quando non hai un allenatore o altre persone per supportare quella disciplina necessaria, può cadere in un guazzabuglio di pratiche che assomigliano a XP.

Lettura correlata:

Vorrei estrarre una citazione dal primo dei link c2:

Noted Perl Language luminary, and mad scientist, Damian Conway believes that Extreme Programming is actually a misnomer. Since it embodies many of the good programming practises that programmers are taught but almost certainly ignore, he believes that it should really have been called Ultra Conservative Programming

    
risposta data 04.12.2013 - 04:29
fonte