Io faccio parte di una piccola squadra di quattro persone, e sono il capo della squadra non ufficiale (sono praticamente in testa tranne il titolo). Siamo stati in gran parte un ambiente "da cowboy", senza architettura o struttura e ognuno ha fatto le proprie cose. In precedenza, le distribuzioni di produzione sarebbero avvenute ogni pochi mesi senza essere programmate, poiché le attività sono state aggiunte / rimosse all'elenco delle attività di ogni sviluppatore. Di recente, il nostro CIO (semi-tecnico ma non proprio un programmatore) ha deciso che avremo implementazioni ogni tre settimane; per questo motivo ho pensato subito che l'adozione di un processo di sviluppo iterativo (non necessariamente in fase di sviluppo Agile / XP, che sarebbe una cosa enorme per convincere tutti gli altri a fare) aiuterebbe a gestire correttamente le aspettative, quindi non c'è questa idea inverosimile che ogni nuova funzionalità verrà eseguita in tre settimane.
IMO il più grande ostacolo è che al momento non abbiamo alcun tipo di approccio allo sviluppo in atto (tra l'altro senza IC o test automatizzati di sorta). Non usiamo nemmeno Waterfall, usiamo "Dì a Developer X di fare un lavoro, aspettiamo che faccia tutto e che lo faccia".
Ci sono dei suggerimenti che potrebbero aiutarmi ad iniziare ad aiutarci verso un approccio iterativo e A) Accogliere gli altri sviluppatori con esso e B) Acquisire la gestione per capire come funziona l'iterativo? Finora la mia idea implica di provare a configurare un server CI e di automatizzare il processo di compilazione (in questo momento occorrono circa 10-20 minuti per creare semplicemente l'applicazione per metterlo sul nostro server di sviluppo), poiché spingere test e / o TDD incontriamo molta resistenza a questo punto e ci costringono costantemente a rompere i progetti più grandi in blocchi più piccoli che potrebbero essere fatti in modo iterativo in un ciclo di tre settimane; la mia unica preoccupazione è che, a meno che non stia fraintendendo, un processo agile / iterativo può o meno rilasciare il software (a seconda dello scopo del progetto si potrebbe avere software "funzionante" dopo tre settimane, ma lì non è abbastanza che funzioni per permettere agli utenti di farne uso), mentre penso che l'aspettativa qui da parte del management sia che ci sarà sempre qualcosa di "pronto all'uso" tra tre settimane, e che la disconnessione potrebbe causare problemi.
Su questa nota, ci sono pubblicazioni o riferimenti che spiegano l'approccio agile / iterativo dal punto di vista del business ? Tutto ciò che ho visto si concentra solo sugli sviluppatori, su come farlo, ma nulla sembra descriverlo dal punto di vista di ottenere effettivamente il buy-in dagli uomini d'affari.