2009-06-12 17 views

risposta

12

Anche come sviluppatore singolo è possibile utilizzare le metodologie applicate ai grandi team di sviluppo.

  • Scrivere una specifica.
  • Layout a UML.
  • Realizza design UI a matita e carta.
  • Test di corridoio: se ti aspetti una grande folla, chiedi a mamma se è facile da usare.
  • Revisione tra pari: è possibile creare team di revisione ad hoc con altri sviluppatori solisti.
  • Mantieni un programma aggiornato.
  • e così via ...

ho solista sviluppare tutto il tempo, e queste pratiche mi tengo in linea con il mio lavoro e dare il mio boss una grande risorsa per sapere quello che ho fatto e in che misura lungo io sono. E mi tengono in pista, per l'avvio!

24

Quasi tutte le metodologie di sviluppo funzioneranno in un ambiente solo, ad eccezione di quelli che richiedono esplicitamente un team (come la programmazione side-by-side). Ma anche in quel caso potresti aggirare il problema creando semplicemente amici immaginari/compagni di squadra o sviluppando un disturbo di personalità multipla.

+10

+1 per il fattore lol. –

+0

Il disturbo della personalità multipla non sarebbe il più efficiente perché non saresti mai in grado di sederti e lavorare davvero con i tuoi compagni di squadra. Dovresti inviare continuamente email agli altri membri del team o lasciare messaggi vocali. Sarebbe come comunicare con membri del team tutti in fusi orari diversi. – TheTXI

+0

Non so dopo aver visto Jekyll sulla BBC, penso che avrei potuto fare un po 'di merda se avessi avuto quello. Dove devo firmare? –

1

La questione è più una questione di ciò che hai dimestichezza con e quali problemi speri di risolvere. La maggior parte delle metodologie sono utilizzate da uno sviluppatore solista ad un certo punto (la programmazione delle coppie è un'eccezione degna di nota). Il problema è che sei veramente solo o semplicemente lavori da solo? Ho scoperto che è inestimabile avere persone con cui posso rimbalzare idee. Inoltre, avere qualcun altro a guardare il tuo codice (peer review) è un ottimo modo per trovare problemi che non puoi "vedere". Quindi, sono d'accordo con Aiden Bell "Programmare sul tuo forno non è cool." Vorrei provare a connettermi a una comunità (come SO) in cui è possibile far rimbalzare le idee dagli altri. Quindi devi costruire la tua metodologia in modo tale da consentire interruzioni quando invii un'idea.

Ha senso? Perché stai programmando da solo?

Pat O

1
Non

davvero una metodologia ufficiale, ma ho fatto un sacco di sviluppo da solista (consulente indipendente e ISV), e qui ci sono le cose che ho trovato per essere importante:

  • Trova un'organizzazione online (come oisv.com) per condividere pensieri e idee
  • Assicurati di prendere il tempo di interagire con persone reali nel mondo reale
  • obiettivi
  • Set di progetto, scadenze e milestones tempo
  • Prendere da fare appropriata up-front design e progetto di pianificazione
  • impostare le ore di lavoro sono parte bastone a loro
  • non funzionano troppo e scottarsi out
  • Niente è mai perfetto, in modo da lottare per una buona codice che funziona, non perfezione
  • Ottenere alcuni hobby non-programmazione
9

Molte tecniche agili grande lavoro da solista:

  • interviste utente e storie: Se non si conosce ciò che gli utenti vogliono, perché sarebbe il software utile?
  • Una semplice specifica: O anche solo una dichiarazione di intenti. "Lascia che le persone trasmettano brevi messaggi ai propri elenchi di abbonati." "Utilizza in-degree per ordinare i risultati di ricerca su Internet." "Consenti alle persone di rispondere in modo collaborativo alle domande di programmazione." Qualunque cosa.
  • Un elenco di cose da fare rigorosamente ordinato: Utile per impedirti di affogare nei tuoi pensieri.
  • Registro tangenti: Una buona lista di cose da fare ha una componente "da non donare", quindi non ti ossessionare con le cose che non hai intenzione di fare (ancora).
  • YAGNI: Rimanere sul bersaglio. Questo è molto importante quando lavori da solo, perché non c'è nessuno che ti dica "No! Non reinventare la digitazione dinamica in Java! Ritorna al progetto." Gli elenchi dei To-Do non aiutano con questo.
  • Sviluppo basato su test: I test di scrittura ti costringono a pensare al risultato finale, anziché impantanarti nei dettagli di implementazione. Ti impantanerai abbastanza comunque; non c'è bisogno di peggiorare le cose.
  • Versioni frequenti: Fatti rispettare le scadenze. "Avremo una versione di funzionalità completo che comprende le storie degli utenti 1-4 da Venerdì Non si collegherà alla rete o salvare i dati su disco, ma XYZ ...".
  • test Utente: Invita i tuoi amici a guardare quello che stai facendo in base a un programma decentemente frequente - forse una volta al mese, forse ogni settimana, a seconda del numero di amici che hai e di quanto birra/pizza vuoi nutrirli. Presta molta attenzione a quello che dicono e fanno e pensano quando usano il software.

e altre cose che sembrano solo come hanno senso in grandi progetti può aiutare molto:

  • controllo Fonte: Installare git. È semplice come l'osso. Usalo. Non ossessionarti.
  • Backup off-site: Sai. In caso di incendi domestici o alluvioni.
  • Un blog: Ma è possibile scrivere solo quando viene rilasciato un rilascio. ;) Inoltre ti aiuta a creare un pubblico per il tuo prodotto prima ancora che venga spedito.

Spero che questo aiuti! Programmare da solo su un grande progetto può essere molto scoraggiante.

+0

lmao YAGNI ... È iniziato con un regexp ... then Bison ... quindi una macchina virtuale ... Non stavo semplicemente scrivendo una semplice webapp ?? –

+0

+1 per TDD e l'elenco delle cose da fare. –

1

Questo è più di un trucco che una metodologia. Quando esegui il debug, spiega i bug a voce alta come se stessi cercando di spiegarlo a un collega. È stupido, ma costringersi ad articolare il problema a voce alta spesso rivela quale sia il problema.

Problemi correlati