Processo di sviluppo software per un part time Progetto universitario per 1 sviluppatore?

5

Farò presto un progetto universitario part time e il periodo di tempo per esso è di circa 8 mesi con circa 10-15 ore a settimana trascorse lavorando su di esso, con una revisione da parte di un tutor ogni trimestre.

La mia domanda è: quale processo di sviluppo software suggeriresti di utilizzare quando il corso richiede di lavorare da solo per gestire te stesso e il progetto?

Volevo utilizzare un approccio iterativo settimanale o bisettimanale al mio lavoro, ma molti processi sembrano personalizzati per gruppi di persone.

Sto guardando XP (Extreme Programming) o Scrum come qualcosa che è meno della norma per il lavoro universitario, ma ancora una volta Scrum non ne so molto, e una domanda che ho è; puoi dire che stai facendo XP senza programmazione a coppie? perché il mio tutor sembra pensare che devo attenermi a tutte le pratiche altrimenti non posso farlo (non importa se sto lavorando da solo).

Possiamo avere anche input dell'utente esterno, ma a causa dei tempi ridotti con il lavoro part time potrebbe essere più utile per me stesso essere l'utente, il che non è ciò che preferisco considerando come posso perdersi nel design .

    
posta Pricey 18.01.2011 - 14:35
fonte

3 risposte

4

Il primo principio del Agile Manifesto è di avere una preferenza per la collaborazione della squadra sui processi. Ciò che questo significa per te è non farsi prendere con XP o Scrum o qualche altro processo con nome, ma fare qualcosa per le tue esigenze specifiche. Alcuni approcci che possono davvero aiutare:

  • User story per tenere traccia di requisiti / caratteristiche e stima (punti della storia). Fornisce una struttura sufficiente per capire il design di alto livello senza impantanarsi nei dettagli.
  • BDD o TDD , tanto più importante perché lavori da solo. Senza un apposito testatore, hai due cappelli da indossare. Se codifichi i tuoi test, ti aiuteranno a scoprire quando per errore interrompi qualcosa.
  • Controllo della versione. Usalo, salverà la tua pelle, anche se sei una sola persona. Meglio ancora, utilizzare una soluzione ospitata esternamente con backup regolari. Esistono diverse opzioni come GitHub o alcuni equivalenti che ti consentono di avere repository privati. Niente di peggio della sensazione di affondamento prima del d-day (giorno di consegna) e ti sei appena reso conto che sei caduto in un buco di rabbia che aveva un pozzo senza fondo. Il repository ti consentirà di tornare a una versione sana e scegliere un percorso diverso.
  • iterazioni brevi. Non più spesso di una volta alla settimana, ma non meno di una volta ogni due settimane. Hai bisogno di feedback costanti e l'iterazione settimanale può funzionare davvero bene. Ad ogni iterazione dovresti avere qualcosa che funzioni, anche se con più funzioni. Se continui a scorrere troppo spesso farai girare le ruote e non farai abbastanza. Se non lo fai scorrere abbastanza spesso sarà troppo lungo senza feedback (cioè il tuo ciclo di test) e i problemi diventano più problematici da risolvere.
risposta data 18.01.2011 - 14:53
fonte
0

Non c'è niente che ti impedisca di utilizzare un processo agile con un solo sviluppatore, anche se alcuni come XP richiedono la programmazione delle coppie, quindi dovresti utilizzare una metodologia diversa.

È stato sostenuto che XP è una forma particolarmente fragile di sviluppo Agile. In XP Refactored gli autori sottolineano che se non si adotta solo una delle funzionalità di XP, l'intera cosa può fallire abbastanza male.

Non puoi fare saldi quotidiani, a meno che il tuo tutor / supervisore sia disponibile tutti i giorni alla stessa ora. Quindi dovrai scegliere le funzioni che usi.

I brevi cicli di iterazione ti aiuteranno e potrai utilizzare i tuoi tutorial settimanali (?) per discutere i progressi compiuti nell'ultima settimana e ciò che speri di ottenere nella prossima settimana.

    
risposta data 18.01.2011 - 14:44
fonte
0

Per i miei progetti personali utilizzo Kanban personale per la visualizzazione complessiva del processo.

...Unlike other personal productivity tools, Personal Kanban is a pattern – it is not an edict. You can mold it into whatever shape or form works best for you at the time. Personal Kanban is also scalable – it can work with just you, or with your family, or even with work groups.

There are only two real rules with Personal Kanban:

  1. Visualize your work
  2. Limit your work-in-progress

It’s just that simple. After you’ve used this “introductory’ kanban for a little while, your understanding of the nature of your work will evolve. As it does, your kanban will likewise evolve...

http://personalkanban.com/wp-content/uploads/2009/08/whiteboards-050-300x225.jpg

    
risposta data 18.01.2011 - 18:35
fonte