La mia risposta:
Penso che la risposta si trovi da qualche parte tra "Internet TV" e "Cloud Computing" sulla spalla crescente del "picco delle aspettative gonfiate" (anche se penso che entrambi si siano spostati in qualche modo rapidamente negli ultimi due anni).
Natura del ciclo pubblicitario:
A quanto ho capito, la progressione attraverso il ciclo di campagna pubblicitaria è caratterizzata da una consapevolezza in evoluzione sui pro e contro di una particolare tecnologia, piuttosto che da qualsiasi misura oggettiva di "maturità" (qualunque cosa significhi).
Prima di aver accumulato un insieme sufficientemente diversificato di esperienze per costruire opinioni equilibrate (e indipendenti ), le dinamiche della folla (naturalmente) dominano, con opinioni altamente correlate con poca diversità, sottigliezza o profondità di analisi.
Questo è vero nel "trogolo della delusione" come lo è nel "picco delle aspettative gonfiate"
Se la comunità dovesse produrre una vasta e diversificata gamma di opinioni diverse, con un'analisi approfondita su dove e quando è appropriato distribuire DVCS e dove e quando non lo è, allora possiamo dedurre che siamo nel "Plateau of Productivity" (O almeno in qualche modo su per il "Pendio dell'Illuminismo").
Se, d'altra parte, il discorso è focalizzato sulla superiorità (o in altro modo) di una tecnologia senza tener conto degli avvallamenti e delle pieghe del panorama competitivo su cui si regge, allora potremmo dedurre che siamo sul "Picco di Aspettative gonfiate "o il" trogolo della delusione ". Potremmo anche essere in entrambe le fasi contemporaneamente, se la comunità fosse divisa in campi da una guerra di fiamma.
:-)
Valutazione del DVCS secondo questi criteri:
Dall'analisi relativamente superficiale che ho visto finora nel discorso e dalla relativa assenza di commenti negativi, stimerei che stiamo attualmente salendo il "Picco delle aspettative gonfiate", con domande (come questa) che indicano che lì sono alcuni che stanno preparando la pendenza dall'altra parte.
Penso che un forte indicatore della maturità della tecnologia DVCS (dal punto di vista aziendale) sarà quando il dibattito si sposta dal chiedere semplicemente "Perché DVCS?" a "Come possiamo strutturare al meglio il nostro flusso di lavoro e i nostri processi attorno al DVCS per massimizzare i benefici per l'organizzazione?".
Da quello che ho visto, non siamo ancora tutti lì. (Sebbene alcuni dei nostri connazionali più sofisticati stiano aprendo la strada)
Il ruolo del ciclo Hype nel processo decisionale:
Il modello "Hype Cycle" è un modello di distorsione comportamentale e ci aiuta a comprendere il nostro stato mentale. Se siamo in grado di determinare che una tecnologia è sostenuta da altri, ciò potrebbe influire sulla nostra posizione mentale e (a rischio di qualche ripensamento) potremmo dover compensare di conseguenza e forzarci a comportarci razionalmente nella scelta dei nostri criteri di selezione.
Criteri di selezione:
Inutile dire che le scelte dei criteri di selezione dipendono fortemente dal contesto.
Personalmente farei (come una sorta di esercizio di brainstorming) una breve analisi SWOT (15 minuti) di ogni opzione che stai prendendo in considerazione, insieme a (seriamente) un'analisi PEST della situazione per assicurarti di portare più ampio (non tecnologico) fattori nella tua analisi.
SWOT per VCS distribuito
Punti di forza:
- Flessibilità: maggiore libertà nella scelta di diversi flussi di lavoro.
- Migliori prestazioni su connessioni di rete a bassa larghezza di banda / alta latenza - migliori per team distribuiti e lavoratori fuori sede.
- Funzionalità di unione più sofisticate, che consentono di ramificarsi più spesso. (Non sono sicuro che questa sia una buona cosa).
- Il codice sorgente viene "sottoposto a backup" su ogni macchina degli sviluppatori. (piuttosto fasullo, questo, in quanto potrebbe interferire con un'adeguata pianificazione del ripristino di emergenza)
Punti di debolezza:
- Flessibilità: poiché abbiamo più libertà nella scelta di diversi flussi di lavoro, dobbiamo fare un lavoro aggiuntivo per definire quale flusso di lavoro stiamo usando e per applicarlo.
- Complessità e difficoltà concettuali (specialmente per i membri del team di sviluppatori non software).
Opportunità:
- Forse la flessibilità può essere utilizzata per progettare un flusso di lavoro più adatto alle esigenze aziendali?
Minacce:
- Forse passeremo così tanto tempo a riprogettare il nostro flusso di lavoro da perdere la concentrazione sul nostro prodotto principale?
- Può essere difficile convincere alcune persone a usare anche strumenti semplici, specialmente se non credono di essere necessari o altrimenti non sono motivati.
SWOT per VCS centralizzato
Punti di forza:
- Fornisce un canale di comunicazione implicito in banda per l'organizzazione e il processo aziendale.
- Limita i possibili flussi di lavoro a un sottoinsieme (in molti casi ragionevole).
- Semplifica la configurazione di CI e altri strumenti di automazione dello sviluppo.
- (Specifico per SVN) Supporta enormi repository.
- (Specifico per SVN) Molto stabile, utilizzato da molte grandi organizzazioni conservatrici.
- Politicamente più accettabile in un'organizzazione di comando e controllo dall'alto verso il basso?
Punti di debolezza:
- Inflessibile.
- Scarse prestazioni su connessioni a bassa larghezza di banda / alta latenza, rendendo più difficile l'utilizzo per team distribuiti e lavoratori fuori sede (soprattutto se il repository diventa grande)
Opportunità:
- Forse possiamo usare la natura monolitica del repository per aiutare gli sviluppatori a navigare nel prodotto e riutilizzare il codice dell'altro?
Minacce:
- Se il progetto diventa improvvisamente iper-importante e dobbiamo coinvolgere altri sviluppatori che lavorano su altri siti, possono effettivamente lavorare con un repository SVN ospitato (per loro) fuori sede?
- Se l'insieme di sviluppatori diventa così grande che diventa difficile coordinarli, il singolo repository centralizzato diventerà un collo di bottiglia? (Possiamo aggirare questo in qualsiasi altro modo?)
Conclusione:
Quale VCS usare dipende dalle circostanze individuali. Per molte delle situazioni in cui ho lavorato, un DVCS con un flusso di lavoro centralizzato avrebbe funzionato perfettamente, ma avrei dovuto giustificare il tempo e gli sforzi per costruire un meccanismo per supportare e applicare il flusso di lavoro, che sarebbe stato (ancora è difficile.
In definitiva, penso che la discussione dovrebbe essere incentrata sulla domanda: quale flusso di lavoro si adatta meglio alla nostra attività? Lo strumento migliore da usare dovrebbe seguire naturalmente dalla risposta a quella domanda.