Asumir que ese indicador de función alterna es una buena idea y debe implementarse en el código que escriben los desarrolladores. Por ejemplo, Etsy jura por ellos como una parte importante de su cultura .
¿Cuál es una buena manera de persuadir (y hacer cumplir) a los desarrolladores para que comiencen a usar las funciones de alternancia de marcas?
Más información sobre alterna indicador de la función se explica en Q: Cómo utilizar alterna indicador de la función , Q: ¿Cuáles son características alterna bandera y muy ampliamente en Pete Hodgson artículo sobre el tema en el blog de Martin Fowler .
culture
feature-flags
Evgeny
fuente
fuente
Respuestas:
Las funciones de alternancia son una práctica común en el desarrollo de alta velocidad porque desvinculan el desarrollo del lanzamiento. Los equipos de desarrollo pueden "liberar" una nueva función para producción, en un estado deshabilitado. Esto permite que la función se libere en cualquier momento. Si la función depende de otro trabajo o preparación, no tiene que esperar a que se publique una versión principal para la producción.
En cuanto a "convencer" a los desarrolladores para que los usen, es un ejercicio para defender la libertad que ofrece. Mi experiencia es que no es una venta difícil para los desarrolladores. Es la administración la que tiende a ser reacia a probar cosas nuevas. Prueba esto:
fuente
¡En un mundo ideal, creo que lanzas una nueva construcción y te sorprendes! Nada cambia. Esto se debe a que todas sus nuevas funciones están detrás de los interruptores que se apagan con el interruptor apagado.
Después de la implementación, verifica que su servicio implementado aún funciona, que los teléfonos ya no están sonando (a menos que su propósito sea llamar a los teléfonos, etc.) Una vez que haya regresado a una operación estable conocida, comenzará a habilitar y verificar sus funciones recién implementadas.
Ahora para su respuesta: ¿Cómo le gustaría trabajar en un equipo donde estar de guardia es prácticamente obvio y nuestros usuarios nos aman porque nuestros sitios y servicios son sólidamente estables?
Ese es el equipo en el que quiero trabajar.
Puedes dejar de leer aquí si quieres.
Poner todo detrás de un interruptor de función parece que puede conducir a un código de espagueti en todas partes. Si usa IoC y puede seleccionar entre vNow / vNext / vPrevious, entonces se trata de mantener su configuración. Sí, más registros, sí, más clases (componente V1, componente V2, componente V3, etc.) pero ¿realmente tiene un sistema más estable? ¿Cómo? vNext es inestable? Vuelva a vNow con su torre de control. ¿Ha pasado una semana y vNow tiene un error sutil? Lo mismo: regrese a vPrevious con la misma facilidad.
Sin complicaciones, sin preocupaciones, sin pérdida de sueño, sin estrés.
Esto no es un sueño imposible. Yo trabajaba ahí. Ojalá pudiera vender esto a mi equipo actual.
fuente
Un entorno de desarrollo exitoso a alta velocidad generalmente se basa en un sistema automatizado bastante estricto que involucra verificaciones de calidad con detección y rechazo de cambios defectuosos que causan regresiones.
Los conmutadores de funciones ofrecen la capacidad de confirmar incluso cambios no probados en el trabajo en progreso sin ser rechazados por causar regresiones en la rama de integración. Lo que constituye un muy buen incentivo para introducir la función alterna muy temprano en la vida de la función.
Una de las desventajas de desviarse del verdadero CI y del desarrollo de características móviles en las ramas de características es la falta de ese incentivo. Agregar la función alternar más adelante, cuando la fusión de la rama de características en la rama de integración suele ser más difícil, como cualquier integración tardía.
fuente
Los desarrolladores (y generalmente los gerentes de desarrollo) generalmente buscan dos resultados asociados con el marco: la facilidad de administración y la velocidad de implementación. Desea enviar el código más rápido y más fácil.
Proporcionar evidencia de que el enfoque funciona; intente construir un POC pequeño utilizando indicadores de características en comparación con el método anterior. Los estudios de caso son menos importantes para las personas tácticas (desarrolladores \ ingenieros) que las personas estratégicas (gerencia media \ diseñadores de productos).
fuente
La razón de tener alternar características no es algo que los desarrolladores decidan. Esto es algo que los propietarios de productos deben cuidar. Los desarrolladores permiten este cambio de la manera más sostenible y segura. Critico esta misma pregunta.
fuente