Quando è necessario applicare una metodologia di sviluppo del software?

5

Esistono molte metodologie di sviluppo del software - SCRUM, agile, XP, ecc. - e tutte hanno vantaggi e svantaggi, suppongo.

Ma quando abbiamo davvero bisogno di applicarli? Sicuramente non sono necessari per i piccoli progetti di 1 uomo, ma per le grandi squadre con più di 50 persone non si può sicuramente andare su ad-hoc: il tutto.

Quindi qual è la linea per quando usare e quando non usare una tale metodologia, se ce n'è davvero una?

    
posta gablin 31.10.2010 - 20:56
fonte

5 risposte

10

Anche in un progetto rigorosamente a 1 uomo (il software di codifica per te senza pianificazione) devi:

  1. Scopri cosa vuoi / hai bisogno.
  2. Scopri come può essere fatto (diversi approcci).
  3. Implementalo.
  4. Guarda cosa hai ottenuto e torna a 1), perfezionando i requisiti.

Potresti farlo in modo informale (cowboy), ma dato che il progetto 1-man è un caso limite (di solito c'è almeno tu e qualcun altro per cui lavori), farlo con un formalismo leggero ben fondato è praticamente sempre preferibile. Tieni presente che il nucleo del Agile Manifesto è in realtà solo alcuni principi. Le metodologie formali (ad esempio Scrum) volte a raggiungere tali principi possono e devono essere adattate in base alle dimensioni del team, ecc.

    
risposta data 01.11.2010 - 08:29
fonte
2

Sempre

"nessuna metodologia" è ancora una metodologia, solo non molto buona (ripetibile, prevedibile, migliorabile)

    
risposta data 02.11.2010 - 02:43
fonte
1

La domanda in realtà non ha senso. Non importa quello che fai, stai applicando una qualche forma di approccio SDLC. Questo approccio potrebbe essere codifica da cowboy o cascata, ma è un approccio. Una domanda migliore è quali progetti e dimensioni della squadra sono più adatti a quali approcci.

    
risposta data 31.10.2010 - 22:14
fonte
1

Le metodologie software sono puramente un mezzo per ridurre il rischio del progetto.

È abbastanza risaputo che se si prende un team di sviluppatori che pratica una certa metodologia e si dice loro che non devono più seguirlo e può lavorare come vogliono, la loro produttività aumenterà, ma il rischio che costruiranno il la cosa sbagliata al prezzo sbagliato nel tempo sbagliato aumenterà notevolmente.

Quindi, per scegliere una metodologia appropriata, devi prima determinare quali sono i rischi se il progetto fallisce.

Se l'unica cosa da perdere è un paio di settimane delle tue serate, allora alcuni schizzi in un taccuino e nessuna misurazione dei progressi o dei risultati finali va bene.

Se la vita di sette astronauti e miliardi di dollari è il prezzo del fallimento del software, allora è meglio avere una pianificazione di livello mondiale, un processo di sviluppo, una gestione dei progetti e dei test in atto.

    
risposta data 02.11.2010 - 03:05
fonte
0

L'approccio allo sviluppo che fai deve massimizzare il ROI del progetto. A seconda della natura del progetto e delle risorse disponibili, la giusta direzione da prendere potrebbe essere diversa.

Però ci sono due regole ovvie, comuni alla progettazione di qualsiasi sistema funzionante

  • le prestazioni e i consegne devono essere quantitativamente misurabile, metrica deve essere come simpe e come non ambiguo il più possibile (rispecchiando il commento di Graham Lee :) Poiché non è sempre possibile impostare metriche adeguate all'inizio, le metriche dovrebbero evolversi man mano che il progetto va avanti per riflettere la crescente esperienza della gestione nel dominio problematico
  • la valutazione dei rischi procedure (parzialmente basate su sopra metriche) deve essere impostato prima del il progetto inizia e in modo dinamico aggiornato come il progetto si evolve. Il piano di mitigazione deve esistere per tutti tipo di rischio potenziale identificato e essere attivato di conseguenza

La necessità di controllo della versione del codice asource, backup di sistema, procedure di controllo qualità e molti altri bit essenziali è solo un'altra parte della gestione del rischio del progetto.

Un'ultima considerazione: più grande è l'azienda e più i dipartimenti come il tuo sono tanto più desiderati è avere alcune pratiche convergenti utilizzate a livello globale per assicurare un sovraccarico minimo sul trasferimento delle risorse da progetto a progetto e anche un minimo di costi generali per senior gestione necessaria per comprendere i dettagli dei progetti nei reparti che gestiscono.

    
risposta data 01.11.2010 - 09:52
fonte

Leggi altre domande sui tag