Definire il cliente.
È un'altra compagnia? Un altro individuo?
È un'altra squadra all'interno della tua azienda?
È un campione di prodotto all'interno della tua azienda?
Sei tu?
Tutto quanto sopra è possibile e abbastanza ragionevole a seconda delle circostanze. Non vuoi dare una sola visione in fondo al tunnel su cosa debba essere Agile, quindi dire che un NO definitivo sarebbe errato. SÌ d'altra parte richiede un po 'di pensiero laterale.
Pensa alla parola Agile per un momento. Il gruppo di persone molto intelligente che ha coniato il termine non avrebbe potuto scegliere una metafora migliore per il concetto che stavano cercando di descrivere. Quando dici Agilità , cosa ti viene in mente? Essere flotta di piede? Veloce a reagire forse? Veloce da adattare?
Ora pensa a tutte le pratiche Agile comunemente accettate e chiediti cosa portano realmente ai metodi di sviluppo del software che sono considerati Agili .
Sono il cliente a tutti gli effetti per i miei progetti da solista. Indosso persino un vero cappello a volte, quando voglio davvero fare un cambiamento mentale distintivo nel mio ruolo di cliente . Questo non mi rende meno agile di quando sono al lavoro. Per quanto mi riguarda, il mio gatto può essere il manager. Si assicura che io faccia una pausa di tanto in tanto ogni tanto, e mi ricorda di evitare di essere troppo ossessionato da ogni singolo compito. Puoi preferire usare la tua "tecnica Pomadoro", ma preferisco il timer "Rascal" !! Il fatto è che lavoro in un processo strettamente Agile ogni volta che scrivo codice per me stesso. Non sono il tipo hacker-come-cowboy, che vive una vita di picchi di sviluppo senza fine e non realizza nulla. Mi piace creare il mio software, pianificare lo sviluppo del mio lavoro e delle mie vite personali e completarlo in un modo che mi aspetterei di fare se stessi lavorando per un vero cliente. Quando le cose interrompono il mio programma, adeguo e stabilisco le priorità del mio progetto di conseguenza. Uso tutte le pratiche e le tecniche Agile standard che posso applicare da solo e "consegno" codice di lavoro per me stesso (o un amico o un collega da testare) il più spesso possibile. Se tutto ciò non è Agile, ti chiedo cos'è?
Quindi la mia risposta è Sì , puoi essere uno sviluppatore di software Agile e puoi applicare una metodologia Agile e non hai necessariamente bisogno del cliente o del manager. Puoi lavorare su un progetto da solo e indossare più cappelli. Tuttavia, potrebbe non essere necessariamente ideale eliminare questi altri ruoli, poiché è molto utile cooperare con gli altri per raggiungere un obiettivo. Agiscono come una cassa di risonanza per le tue idee e ti soddisfano requisiti che potresti trovare difficili da generare in modo sensato da solo. L'altro ruolo molto importante che il cliente e il manager soddisfano è quello di tenervi concentrati sui vostri obiettivi, senza aggiungere infinite funzionalità e perfezionare il codice oltre ciò che potrebbe essere strettamente necessario.
Tuttavia, se lavori in modo disciplinato, aderendo rigorosamente alla tua metodologia di scelta e applichi le pratiche Agile, e se quando verrai indirizzato o cambi idea (quando indossi il cappello del cliente) e il design o la direzione del tuo prodotto fa una svolta, se puoi adattare il tuo programma e adattare le tue priorità proprio come immagineresti che il tuo cliente si aspetterebbe da te, allora sei Agile.