La cultura a menudo se ignora y se malinterpreta, pero es un factor clave responsable del desempeño de una empresa. Si no administramos nuestra cultura, terminaremos realizando prácticas incorrectas que finalmente afectarán nuestros objetivos comerciales.
Comprender la cultura actual de una organización.
La cultura nos habla de los valores y normas dentro de un grupo o empresa. Identifica lo que es importante y cómo las personas se acercan y trabajan entre sí.
CULTURA = 'Cómo se pueden hacer las cosas inteligentemente para tener éxito'
Tomemos el ejemplo de un equipo de atención al cliente. La cultura de ese equipo debe ser tal que terminen logrando entre el 97% y el 98% de satisfacción del cliente.
Teniendo en cuenta el deleite del cliente, en primer lugar deben ser amables, incluso en situaciones difíciles deben ser buenos oyentes para evitar confusiones, deben priorizar el trabajo según los requisitos.
Hagamos una pausa por un momento y hagámonos algunas preguntas:
- ¿Cuál es la cultura de mi empresa ahora?
- ¿Qué tan bien está esta cultura alineada con mis objetivos comerciales o KRA?
- ¿Qué problemas puedo esperar debido a la desalineación?
Para cada organización, las 4C juegan un papel vital
Ahora, analicemos la cultura de una organización de desarrollo de software. Hay muchos equipos involucrados en la construcción y mantenimiento de una sola unidad de software. Todos estos equipos tienen objetivos distintos y una cultura distinta.
Este proceso comienza después de que el cliente haya confirmado los requisitos.
Los desarrolladores siguen las pautas de codificación definidas por su organización y se utilizan herramientas de programación como compiladores, intérpretes, depuradores, etc. para generar el código. Para la codificación se utilizan diferentes lenguajes de programación de alto nivel como C, C ++, Pascal, Java y PHP.
Dividen el paquete completo en carpetas pequeñas y luego desarrollan códigos pequeños en consecuencia.
Nivel 1 : Estas pequeñas unidades de códigos luego se apilan para formar una unidad grande. Al integrar los chips más pequeños, se debe realizar una prueba a nivel de proyecto conocida como prueba de integración.
Etapa 2 : Después de la integración exitosa, se implementa en un sistema ficticio. Este sistema ficticio tiene una configuración similar a la de la máquina cliente o la máquina donde finalmente se debe implementar este proyecto.
Etapa 3 : Finalmente, después de probar todas las funciones en un sistema ficticio, el proyecto se implementa en el servidor de producción o en la máquina cliente.
Aunque este proceso parece ser muy sencillo y sencillo en palabras, en términos técnicos es muy difícil de lograr.
Veamos qué problemas podríamos enfrentar:
Nivel 1 :
mergesort en c ++
El cliente siempre está en busca de cambios para mejorar la calidad del producto. La mayoría de las veces, cuando se realizó la primera iteración, el cliente sugerirá algunos cambios. Cuando los desarrolladores reciben los cambios, comienzan a incorporarlos, lo que impacta en la integración y conduce a compilaciones rotas.
Etapa 2:
La mayoría de las veces, los probadores u otros tipos de operaciones no estarán al tanto de los nuevos cambios que se realizarán. Tan pronto como obtienen el código de los desarrolladores, comienzan a probarlo. Mientras que en el back-end, los desarrolladores todavía están haciendo los cambios.
Como no tienen tiempo suficiente para implementar nuevos cambios, terminan desarrollando códigos ineficientes y enfrentan otros problemas de red y bases de datos que nuevamente retrasan su tiempo de entrega.
Cuando finalmente entregan los códigos al equipo de operaciones, les queda un tiempo mínimo para crear e implementar nuevos casos de prueba. Así que se saltan muchos de los casos de prueba, de los que se dan cuenta más tarde de que eran de alta prioridad.
Etapa 3:
Aunque prácticamente la construcción parece estar lista para la producción, los resultados son completamente inesperados. La compilación falla y se producen varios errores.
Luego, para cada error ocurrido, tienen que rastrear por qué ocurrió, dónde ocurrió, qué cambios se deben hacer para superarlo, habrá cambios en los códigos de otros para que sean compatibles con los anteriores. Finalmente, para todos estos errores, se debe generar un informe de error.
La falla se debe a errores del sistema debido a la ignorancia del desarrollador de la base de datos en la eficiencia del código, la ignorancia del probador en el número de casos de prueba, etc.
Como el cliente siempre mantiene los plazos ajustados, los empleados involucrados en lograrlos solo se concentran en el lanzamiento final, incluso si tienen que comprometer la calidad general.
Aunque esto parece ser un problema de coordinación del trabajo, esto es en realidad el fracaso de la cultura adoptada.
Esto sucede debido a la gran dependencia de los procesos manuales. Correr de un lado a otro en el mismo equipo debido a la falta de conocimiento de diferentes campos, la falta de acceso o la falta de interés aumenta nuestra propia carga y dolor.
Ya es hora de que tengamos que ser versátiles. Puede ser difícil dominar todos los procesos involucrados en un sistema, pero podemos ser el gato de todos, dominando uno de ellos. Solo entonces podemos automatizar nuestro sistema o hacerlo lo suficientemente inteligente como para recuperarse en lugar de retroceder.
Ahora, ¿podrías estar pensando por qué?
Es porque el que estás dominando depende en gran medida de los demás. Entonces, para conocer el punto de dependencia, necesitamos comprender todo el sistema.
Así que pensemos en un proceso para cambiar la cultura. Antes de eso, ¿tiene la respuesta a las siguientes preguntas?
- ¿Dónde falla tu cultura actual?
- ¿Por qué desea cambiar el proceso?
- ¿Ha identificado claramente todos los cambios necesarios?
- ¿Ha obtenido retroalimentación y aceptación de todas las partes interesadas afectadas?
- ¿Ha revalidado la disciplina del proceso, los datos y el sistema de medición para el cambio?
Entonces, ahora que tenemos la respuesta a todas, pensamos en una revolución en nuestro sistema. ¿Cómo se llevará a cabo esta revolución? Solo se puede lograr cuando matamos lo que somos ahora. Se pierde mucho tiempo en la migración de código entre los equipos. Tenemos que llevar el proceso donde podamos hacer una integración y un despliegue continuos.
c ++ llamada por referencia
Este proceso de integración e implementación continuas lo hace más ágil. Llevar esta agilidad se considera una cultura DevOps.
DevOps es la práctica de los ingenieros de operaciones y desarrollo que participan juntos en todo el ciclo de vida del servicio, desde el diseño hasta el proceso de desarrollo y el soporte de producción.
No es fácil cambiar el sistema de trabajo con el tiempo. Hacer una transición exitosa es renovar el sistema, en lugar de reconstruirlo.
Ahora veamos cómo podemos lograrlo. Puede haber dos formas de abordar.
1) de arriba a abajo
2) de abajo hacia arriba
Profundizando en estas técnicas, nos daremos cuenta de cuál es la más adecuada para nuestra organización.
En el enfoque de arriba hacia abajo, podemos ir a la dirección superior y pedirles que realicen cambios en todos los equipos. Si la dirección está convencida, podemos empezar a trabajar en ello.
Pero la probabilidad de obtener una respuesta como 'NO' es bastante alta. Es porque cambiar el sistema puede llevar a la organización a la inestabilidad.
Tienen que examinar la estructura de la organización, los ingresos, el nivel de interés del cliente, etc. Pero el factor más importante que les impide abandonar el antiguo sistema es que no pueden ver el panorama general de lo que se puede lograr y qué tan bien se puede lograr con el más nuevo.
En este caso, podemos buscar el segundo enfoque para obtener este panorama general.
El enfoque de abajo hacia arriba requiere voluntariado. Aquí tenemos que tomar un pequeño equipo y una pequeña tarea y ejecutarla en DevOps Model.
En cuanto al aspecto técnico de este modelo, tenemos varios conjuntos de herramientas sofisticadas que hacen que el trabajo sea más eficiente y rápido. Pero las herramientas por sí solas no son lo suficientemente capaces de crear un entorno colaborativo denominado DevOps.
Crear un entorno de este tipo requiere que piense fuera de la caja, por ejemplo, evaluar y realinear cómo las personas piensan sobre sus equipos, el negocio y los clientes.
que es una variable de instancia
Armar un nuevo conjunto de herramientas es más simple que cambiar la cultura organizacional. Promoviendo a los desarrolladores maestros antisociales, permitiendo que se integre código ineficiente, implementando códigos que no fueron probados adecuadamente, culpando a los demás, considerando que el equipo de operaciones es estúpido no son las mejores prácticas que estamos siguiendo para habilitar el negocio. y crear valor para nuestros clientes.
No son las herramientas, son las personas que las utilizan las que hacen que el proceso sea complejo. Decir a un nivel abstracto en lugar de recopilar ideas y comportamientos, estar abiertos a ellos nos lleva a un camino brillante.
Comencemos con un equipo de 6 miembros y una historia de 3 puntos. Primero, tenemos que romper el equipo que llamamos desarrolladores, operaciones, testers, etc. Consideramos a todos como uno, digamos “DevOps”. Cuando recibimos los requisitos, necesitamos analizar las zonas de riesgo. Teniendo en cuenta las secciones más profundas del mar y el infierno ... Empezamos a navegar.
Ahora, debe estar pensando “cuál es el factor x de esta integración continua y despliegue continuo que disminuye la probabilidad de falla”.
Con la visión y el proceso mejorados, podemos acercarnos a la gerencia poniendo una imagen clara de los resultados, como qué tan sencillo fue el proceso, cómo se redujo el riesgo de falla, cómo se completó la tarea antes de la línea de tiempo, etc.
Ahora, podemos visualizar claramente cómo se optimizó todo el proceso en terreno técnico y cultural al tener una retrospección después de cada iteración.
Edureka ha comisariado especialmente que te ayuda a dominar conceptos relacionados con Puppet, Jenkins, Ansible, SaltStack, Chef, entre otros.
Tienes una pregunta para nosotros? Menciónalos en la sección de comentarios y nos pondremos en contacto contigo.
Artículos Relacionados: