Come può un gran numero di sviluppatori scrivere software insieme senza neanche un processo ingombrante o un software di scarsa qualità?

StackOverflow https://stackoverflow.com/questions/2866762

Domanda

Io lavoro in una società con centinaia di persone che scrivono software per essenzialmente lo stesso prodotto. La qualità del software deve essere elevato perché così tante persone dipendono da esso (non ultima la sviluppatori stessi). A causa di questo ogni questione importante ha portato a un nuovo controllo -. Sia automatico o manuale

Di conseguenza, il processo di distribuzione del software sta diventando sempre più onerosi. In modo che richiede più sviluppatori che ... beh si può vedere si tratta di un circolo vizioso.

Ora abbiamo un problema con il rilascio di software in modo rapido -. Il tempo di anticipo anche di cambiare una riga di codice per un problema molto serio è di almeno un giorno

Quali tecniche si usa per velocizzare la consegna di software in una grande organizzazione, pur mantenendo la qualità del software?

È stato utile?

Soluzione

Ho anche lavorare in una grande e ingombrante organizzazione. Ho avuto successo attuazione diversi agile di sviluppo software metodologie, ma ci sono due in particolare che mi hanno trovato particolarmente prezioso.

iterativo e incrementale di sviluppo - Tenere il breve ciclo di rilascio e stretto. Attraverso una grande squadra, se vengono apportate numerose modifiche tra release, ci si può trovare in un incubo di integrazione.

Le grandi organizzazioni propendere per grandi piani di progetto con le linee di tempo di sviluppo lunghi. Combattere questo. Pianificazione di un progetto di un intero anno non ha senso, quando tutta la vostra percezione potrebbe cambiare dopo le prime due settimane di sviluppo. Condizione vostri stakeholder per abituarsi all'idea di fare piccoli rilasci incrementali e di adattarsi alle mutevoli esigenze.

unit test automatizzato - Questo è un ottimo modo per assicurare che si stanno rilasciando software di qualità. Gli insetti peggiori sono causati da modifiche al codice apparentemente innocenti che hanno conseguenze non intenzionali altrove. unit test completi sono forse il modo migliore per prendere questo tipo di bug. Se si riesce a passare alla test driven sviluppo o comportamento guidato lo sviluppo , ancora meglio.

Ogni grande organizzazione sta per avere alcuni sviluppatori mediocri. È un fatto della vita. unit testing automatizzato è un ottimo modo per mantenere un occhio su di loro. Avere uno dei vostri migliori sviluppatori di scrivere i loro test di unità per loro. Avrete la garanzia che almeno le loro opere di codice (anche se è brutto).

Altri suggerimenti

Ci sono molti modi per migliorare il processo, ma la componente chiave è modularità . Separando chiaramente le responsabilità (sia in codice e per l'organizzazione) e la definizione di interfacce chiare e coerenti, una grande squadra può funzionare come tanti piccoli team tutto legato insieme.

Wise ma cupe parole:

Una cosa che lavoro potrebbe:

organizzare il progetto in modo che vi sia un'applicazione principale costruito da una o due persone, preferibilmente azionati tramite un linguaggio. Poi lasciare che tutti i programmatori siano effettivamente utenti del nucleo, codificando in quella lingua.

Sto pensando di prodotti basati sulla lingua: SAS , < a href = "http://en.wikipedia.org/wiki/S_%28programming_language%29" rel = "nofollow noreferrer"> S / R , MATLAB , ecc.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top