In che modo qualcuno implementerebbe i concetti di processo Agile come sviluppatore solista? Agile sembra utile per sviluppare applicazioni ad un ritmo più veloce, ma sembra anche molto orientato al team ...
In che modo qualcuno implementerebbe i concetti di processo Agile come sviluppatore solista? Agile sembra utile per sviluppare applicazioni ad un ritmo più veloce, ma sembra anche molto orientato al team ...
Risposte:
Ricordo di aver letto una tesi su Cowboy Development, che è essenzialmente Agile per sviluppatori solisti, ma non ricordo dove l'ho trovata.
Oltre alla risposta di Klez (tutti i buoni suggerimenti), suggerirei quanto segue:
Queste cose si applicano probabilmente a situazioni sia da soli che in piccoli team (2 o 3 sviluppatori).
AGGIUNTO: poco dopo aver scritto questa risposta, ho trovato questa conferenza e sono rimasto molto colpito: Kanban personale: ottimizzazione del codificatore individuale
In definitiva, definisco Agile davvero come "fare ciò che ha senso per il tuo team e il tuo cliente e non aderire alle vecchie pratiche perché sembra che abbiano funzionato in passato".
Agile funziona altrettanto bene per gli individui come per i team. Si tratta di trovare un processo che funzioni per te e di permetterti di adattarti alle mutevoli circostanze una volta che il tuo progetto è già iniziato. Si tratta anche di fornire regolarmente valore al cliente, indipendentemente dal fatto che il software sia effettivamente "finito".
I processi agili sono altamente iterativi. Il lavoro viene svolto in brevi TimeBox / sprint / cicli / iterazioni. Alcuni lavori di progettazione possono essere richiesti in anticipo, ma possono essere sottoposti a refactoring man mano che apprendi di più su ciò che ti serve un sistema. Il test unitario è la spina dorsale di quasi tutti i metodi di sviluppo Agile, dandoti un'indicazione del funzionamento del tuo software e se aggiunte / modifiche al tuo software spezzeranno la base di codice esistente.
Se aderisci a BDD / TDD, consenti alle tue esigenze di cambiare con il vento e puoi adattare di conseguenza le priorità delle tue funzioni, se costruisci l'intero sistema ed esegui spesso tutti i test e se consegni il codice di lavoro alla fine di ogni sprint , sei già agile.
Wow. Proverei a tenere un amico all'amo che potrei chiamare quando ero nei guai - e parlare attraverso il problema di codifica. Sai cosa intendo ... solo l'atto di spiegare ad alta voce un problema mi fa venire in mente una soluzione il 90% delle volte.