Consigli / linee guida per la gestione di un team di sviluppo distribuito [duplicato]

21

Quali sono alcune strategie, metodologie e best practice per la gestione di un team distribuito?

  • Cosa si può fare per incoraggiare e rafforzare la comunicazione tra i vari membri del team?

  • È possibile adattare / implementare metodologie di sviluppo agili esistenti su un team distribuito?

Correlati ma non identici:

posta Ami 03.10.2010 - 17:29
fonte

3 risposte

12

La presentazione di Andrew Kazyrevich è un'ottima guida per lo sviluppo agile nei team di sviluppo distribuiti.

I suggerimenti principali sono:

  • Chat di gruppo e amp; chiamate frequenti
  • Condivisione desktop, abbina programmazione
  • Integrazione continua
  • Test di unità
  • Monitoraggio degli oggetti di lavoro (TFS, JIRA, ecc.)
  • iterazioni brevi
  • Sincronizzazione giornaliera tra team tramite standup ecc.
  • In viaggio
  • Organizzazione dei team per funzionalità
risposta data 03.10.2010 - 18:44
fonte
8

Leggi questo eccellente articolo di Martin Fowler : Utilizzo di un processo software agile con lo sviluppo offshore .

For the last four years ThoughtWorks has operated a lab in Bangalore India to support our software development projects in North America and Europe. Traditional approaches to offshore development are based on plan-driven methodologies, but we are very firmly in the agile camp. Here I discuss our experiences and lessons learned in doing offshore agile development. So far we've discovered that we can make it work, although the benefits are still open to debate.

L'articolo è molto vecchio, ma da allora non è cambiato nulla.

  • Presenta un'introduzione fondamentale all'impostazione della comunicazione del team distribuito:
    Use Continuous Integration to Avoid Integration Headaches
    Have Each Site Send Ambassadors to the Other Sites
    Use Contact Visits to build trust
    Don't Underestimate the Culture Change
    Use wikis to contain common information
    Use Test Scripts to Help Understand the Requirements
    Use Regular Builds to Get Feedback on Functionality
    Use Regular Short Status Meetings
    Use Short Iterations
    Use an Iteration Planning Meeting that's Tailored for Remote Sites
    When Moving a Code Base, Bug Fixing Makes a Good Start
    Separate teams by functionality not activity
    Expect to need more documents.
    Get multiple communication modes working early</li>
    

  Anche se decidi di saltare alcuni dei suggerimenti e trucchi menzionati, potrebbe essere davvero utile come lista di controllo - solo per essere sicuro che non fosse mancato nulla di importante.     
risposta data 03.10.2010 - 19:28
fonte
2

I ragazzi di Stack Overflow sono un ottimo esempio di società distribuita e Jeff Atwood offre alcuni ottimi consigli - link

Sulla domanda riguardante l'implementazione di metodologie di sviluppo agili esistenti su un team distribuito - considero lo sviluppo distribuito come un approccio di sviluppo che tenta di sfruttare i progressi tecnologici nella connettività Internet e strumenti di comunicazione migliori per cercare di minimizzare la disconnessione introdotta lavorando in remoto nel software squadre.

Lo sviluppo distribuito pone l'accento sulla comunicazione e l'interazione tra tutti i membri del team virtuale. L'idea è di ridurre la sensazione che stiamo lavorando in diversi spazi fisici e che ognuno di loro non lavori su un compito discreto da solo. Questo tipo di pensiero è in linea con la filosofia agile che enfatizza gli individui e le interazioni su processi e strumenti.

Ho scritto un post su questo blog - link

    
risposta data 04.03.2012 - 07:28
fonte