Mi respuesta:
Creo que la respuesta se encuentra en algún lugar entre "Internet TV" y "Cloud Computing" en el hombro ascendente del "Pico de las expectativas infladas" (aunque creo que ambos han avanzado un poco rápidamente en los últimos años).
Naturaleza del ciclo de bombo:
Según tengo entendido, la progresión a través del ciclo de bombo se caracteriza por una conciencia evolutiva sobre los pros y los contras de una tecnología en particular, más que por cualquier medida objetiva de "madurez" (lo que sea que eso signifique).
Antes de que hayamos acumulado un conjunto suficientemente diverso de experiencias para construir opiniones equilibradas (e independientes ), la dinámica de masas (naturalmente) prevalece, con opiniones altamente correlacionadas con poca diversidad, sutileza o profundidad de análisis.
Esto es tan cierto en el "Canal de la desilusión" como en el "Pico de las expectativas infladas"
Si la comunidad produjera una amplia y diversa gama de opiniones diferentes, con un análisis en profundidad sobre dónde y cuándo es apropiado implementar DVCS y dónde y cuándo no, entonces podemos inferir que estamos en la "Meseta de la Productividad" (O, al menos, un poco más arriba de la "Pendiente de la Iluminación").
Si, por otro lado, el discurso se centra en la superioridad (o no) de una tecnología sin tener en cuenta las caídas y pliegues del panorama competitivo en el que se encuentra, entonces podríamos inferir que estamos en el "Pico de Expectativas infladas "o el" valle de la desilusión ". Incluso podríamos estar en ambas fases al mismo tiempo, si la comunidad está dividida en campamentos por una guerra de llamas.
:-)
Evaluación de DVCS según estos criterios:
A partir del análisis relativamente superficial que he visto en el discurso hasta ahora, y la relativa ausencia de comentarios negativos, estimaría que actualmente estamos subiendo el "Pico de las expectativas infladas", con preguntas (como esta) que indican que hay Hay algunos que están preparando la pendiente hacia abajo en el otro lado.
Creo que un fuerte indicador de la madurez de la tecnología DVCS (desde el punto de vista corporativo) será cuando el debate pase de preguntar simplemente "¿Por qué DVCS?" a "¿Cómo podemos estructurar mejor nuestro flujo de trabajo y procesos en torno a DVCS para maximizar el beneficio para la organización?".
Por lo que he visto, todavía no estamos todos allí. (Aunque algunos de nuestros compatriotas más sofisticados están liderando el camino)
El papel del ciclo Hype en la toma de decisiones:
El modelo "Hype Cycle" es un modelo de sesgo conductual y nos ayuda a comprender nuestro propio estado mental. Si podemos determinar que una tecnología es promovida por otros, entonces eso puede afectar nuestra propia posición mental y (a riesgo de pensar dos veces) es posible que necesitemos compensar en consecuencia y obligarnos a comportarnos racionalmente al elegir nuestros criterios de selección.
Criteria de selección:
No hace falta decir que las opciones de criterios de selección dependen extremadamente del contexto.
Personalmente, haría (como una especie de ejercicio de lluvia de ideas) un breve análisis FODA (15 minutos) de cada opción que esté considerando, junto con (seriamente) un análisis PEST de la situación para garantizar que brinde una visión más amplia (no tecnológica) factores en tu análisis.
FODA para VCS distribuido
Fortalezas:
- Flexibilidad: más libertad para elegir diferentes flujos de trabajo.
- Mejor rendimiento en conexiones de red de bajo ancho de banda / alta latencia: mejor para equipos distribuidos y trabajadores externos.
- Funcionalidad de fusión más sofisticada, que le permite bifurcar con más frecuencia. (No estoy seguro de que esto sea algo bueno).
- El código fuente está "respaldado" en cada máquina de desarrolladores. (bastante falso, ya que podría interferir con la planificación adecuada de recuperación ante desastres)
Debilidades:
- Flexibilidad: debido a que tenemos más libertad para elegir diferentes flujos de trabajo, necesitamos realizar un trabajo adicional para definir qué flujo de trabajo estamos utilizando y aplicarlo.
- Complejidad y dificultad conceptual (especialmente para miembros del equipo que no son desarrolladores de software).
Oportunidades:
- ¿Quizás se puede utilizar la flexibilidad para diseñar un flujo de trabajo que se adapte mejor a las necesidades del negocio?
Amenazas:
- ¿Quizás pasaremos tanto tiempo rediseñando nuestro flujo de trabajo que perderemos el foco en nuestro producto principal?
- Puede ser difícil lograr que algunas personas utilicen incluso herramientas simples, especialmente si no creen que sean necesarias o no estén motivadas.
FODA para VCS centralizado
Fortalezas:
- Proporciona un canal de comunicación implícito en banda para la organización y el proceso empresarial.
- Restringe los flujos de trabajo posibles a un subconjunto (en muchos casos razonable).
- Facilita la configuración de CI y otras herramientas de automatización de desarrollo.
- (SVN específico) Admite grandes repositorios.
- (Específico de SVN) Muy estable, utilizado por muchas organizaciones grandes y conservadoras.
- ¿Políticamente más aceptable en una organización de mando y control de arriba hacia abajo?
Debilidades:
- Inflexible.
- Bajo rendimiento sobre conexiones de bajo ancho de banda / alta latencia, lo que dificulta su uso para equipos distribuidos y trabajadores fuera del sitio (especialmente si el repositorio se hace grande)
Oportunidades:
- ¿Quizás podamos usar la naturaleza monolítica del repositorio para ayudar a los desarrolladores a navegar por el producto y reutilizar más el código del otro?
Amenazas:
- Si el proyecto de repente se vuelve muy importante y necesitamos traer desarrolladores adicionales que trabajen en otros sitios, ¿pueden trabajar efectivamente con un repositorio SVN alojado (para ellos) fuera del sitio?
- Si el conjunto de desarrolladores crece tanto que coordinarlos se vuelve difícil, ¿el repositorio centralizado único se convertirá en un cuello de botella? (¿Podemos evitar esto de otra manera?)
Conclusión:
Qué VCS usar depende de las circunstancias individuales. Para muchas de las situaciones en las que he trabajado, un DVCS con un flujo de trabajo centralizado hubiera funcionado bien, pero habría tenido que justificar el tiempo y el esfuerzo para desarrollar un mecanismo para apoyar y hacer cumplir el flujo de trabajo, lo que hubiera sido (aún es difícil.
En última instancia, creo que la discusión debería centrarse en la pregunta: ¿Qué flujo de trabajo se adapta mejor a nuestro negocio? La mejor herramienta para usar debe seguir naturalmente la respuesta a esa pregunta.