Soy "el chico nuevo" en el departamento de TI de una pequeña empresa manufacturera. Tenemos un pequeño equipo de 3 desarrolladores de aplicaciones + 1 rol de desarrollador de base de datos/dba-ish. Llevo unos meses aquí, así que estoy llegando al punto en el que he empezado a ganarme la confianza y el reconocimiento de mis compañeros.
Durante mi entrevista, se habló mucho sobre querer ser más ágil. Todavía se habla mucho al respecto, pero ninguna acción al respecto. Para ser honesto, no me importa si somos "ágiles" o no, pero realmente necesitamos comenzar a hacer algunas cosas que son simplemente mejores prácticas, ágiles o no. Cosas como pruebas unitarias y revisiones de código. Sí, vayamos con esos dos primero, ya que son los más rentables.
Ahora, he estado probando el código que toco antes de modificarlo. En parte porque he visto los beneficios y en parte porque tengo miedo de romper cualquier cosa en una base de código heredada. Mi gerente está muy contento con esto. Él mismo me lo ha dicho. Al resto del equipo parece gustarle la idea de realizar pruebas y registros cerrados, pero no ha tomado ninguna medida para comenzar a hacer estas cosas. Creo que puede ser porque simplemente no saben cómo hacerlo, pero es posible que piensen que "no tienen tiempo". (Por cierto, la parte de no tener tiempo es totalmente falsa. La gerencia sabe que es una inversión inicial que paga dividendos y apoya completamente el esfuerzo).
Honestamente, se está volviendo un poco frustrante para mí escuchar tanto hablar, pero no ver ninguna acción de mis compañeros de equipo. Como el chico nuevo, ¿cómo puedo empujarlos a la acción sin alterar las plumas? No quiero ser ese tipo .
Esto no es un duplicado de la pregunta sugerida porque ese tipo estaba preguntando si/cómo debería impulsar sus ideas. Estas no son mis ideas (aunque estoy de acuerdo con ellas, obviamente). Mi pregunta gira en torno a cómo lograr que mis colegas actúen sobre sus palabras .
Honestamente, se está volviendo un poco frustrante para mí escuchar tanto hablar, pero no ver ninguna acción de mis compañeros de equipo. Como el chico nuevo, ¿cómo puedo empujarlos a la acción sin alterar las plumas? No quiero ser ese tipo.
Usar frases como "gran charla" y "empujarlos" puede convertirte en ese tipo , por lo que no querrás ir allí.
Considere preguntarle a su gerente si estaría bien que usted creara una presentación sobre algunas de las prácticas que considere importantes. Algunas empresas tienen "charlas de bolsa marrón" durante el almuerzo donde estos temas son comunes.
Si es aceptado, puede hablar sobre lo que propone, por qué lo considera importante (con suerte, no solo porque siente que es una "mejor práctica", sino más sobre por qué beneficiará al equipo/empresa en su contexto particular) y cómo todos ustedes pueden ir implementando estas ideas.
Trate de obtener la aceptación explícita del gerente con anticipación, luego use su poder de persuasión para convencer a otros de que se suban al tren. A veces, sugerir un proyecto piloto comienza bien; a menudo, comenzar poco a poco es la forma más sencilla de lograr mejoras.
Al resto del equipo parece gustarle la idea de realizar pruebas y registros cerrados, pero no ha tomado ninguna medida para comenzar a hacer estas cosas.
¿Saben realmente cómo hacer pruebas unitarias?
Si nunca ha hecho esto antes, puede que no sea sencillo comenzar a hacerlo. Especialmente si tiene años de experiencia sin realizar pruebas.
Parece que todo su equipo al menos está abierto a la idea de cambiar sus procesos. Me concentraría en asegurarme de que sepas por qué no están haciendo las cosas. Sospecho que es una resistencia general al cambio o falta de comprensión de cómo hacer las cosas.
Si es una falta de conocimiento, puede considerar maneras de ayudar con esto. Una buena manera podría ser pedirle ayuda a alguien y hacer algo de programación en pareja, cuando trabaje con un código que no entiende (tan completamente). Puede hablar sobre lo que está haciendo y ver si puede escribir pruebas con la otra persona allí, explicando lo que está haciendo.
Tenga en cuenta que ver una prueba escrita (revisión de código) y saber cómo abordar la escritura de una prueba no son necesariamente lo mismo.
Si es solo un problema de "nos gusta hablar de eso y sonar a la moda sin hacer nada", puede intentar sugerir o preguntar sobre cosas prácticas muy específicas (en lugar de simplemente lamentarse por la falta de revisión de código o pruebas unitarias). , también):
Para que las revisiones de código sean prácticas, necesita un sistema que las facilite. Por ejemplo, como lo hace GitHub con las solicitudes de extracción o como GitLab con las solicitudes de combinación. Escuché grandes cosas sobre Gerrit, pero no lo he usado. Obtenga uno de estos o similar instalado (incluso solo en su propia PC, al principio), de lo contrario, simplemente no será práctico.
Este es un ejemplo de presentación de revisiones de código a un colega que usa GitHub.
Implemente un cambio razonablemente interesante en una rama e intencionalmente deje algunos errores. Cree una solicitud de extracción y pídale a un compañero de equipo que la revise amablemente. Siéntese con él, muéstrele su error y cómo puede ingresar un comentario en la línea correspondiente. Guíelo a través del resto de sus cambios, si hace algún comentario, pídale que ingrese un comentario allí mismo. Después de revisar todos los cambios juntos, regrese a su escritorio, confirme y envíe las correcciones. Los comentarios anteriores desaparecerán de la solicitud de extracción, pídale que haga otra pasada en caso de que encuentre algo más. Repita hasta que no encuentre nada y se pueda aceptar la solicitud de extracción.
Muéstreles también a otros compañeros de equipo, siga asignándoles solicitudes de extracción y anímelos a que hagan lo mismo con usted. Esperemos que la práctica se ponga de moda.
El proceso es exactamente el mismo con GitLab (clon gratuito de GitHub), pero llaman solicitudes de extracción como solicitudes de combinación. No sé con Gerrit y otros, me imagino que existe una funcionalidad similar.
Implementamos esta idea en dos equipos hasta ahora, durante los últimos 3 años. Es la práctica más popular que implementamos. A los muchachos les encanta hacerlo, y ocasionalmente me envían solicitudes de combinación incluso después de que me mudé a otro equipo. En mis nuevos equipos estoy tratando de difundir la práctica precisamente de la manera que describí anteriormente.
En cuanto a las pruebas unitarias:
En cuanto a las mejoras en la calidad del código:
Observe el patrón común en los dos ejemplos anteriores:
Todas estas ideas son cambios incrementales tan pequeños y simples que son realmente fáciles de vender.
Personalice y use una variación adaptada a su entorno.
marca rogers
Ese tipo
marca rogers
Ese tipo
francine degrood taylor
Ese tipo