¿Cómo lidiar con mentalidades ad-hoc?

13

Me uní a un equipo de desarrollo de seis hace dos meses. La gente es amable, todo está bien. Pero cada vez más observo una mentalidad ad-hoc. Las cosas se arreglan rápidamente, a costa de la usabilidad futura, hay pocas pruebas y dos personas felizmente admitieron que les gusta llevar el conocimiento a la cabeza, en lugar de escribirlo.

Como lidiar con esto? Me gustaría liderar con el ejemplo, pero el tiempo es limitado: me gusta diseñar e implementar las cosas. Pero me temo que la mentalidad ad-hoc me infecta y, en lugar de luchar por la claridad y la simplicidad en el diseño y el código, que no es fácil de establecer, me tiran por el desagüe de una espiral interminable de hacks en hacks, que no el extraño puede desacoplar, solo por el bien de la agenda y la administración.

Rotian
fuente
1
Sugiero un drop kick para causar una falta de capacidad para retener recuerdos. La documentación es esencial para cualquier sistema de larga duración ... incluso si no es formal.
Plataforma
14
¡Bienvenido al desarrollo de software!
yannis
@YannisRizos, no no no! ;)
Rotian
44
@Rotian Esta lectura es casi obligatoria: joelonsoftware.com/articles/fog0000000332.html . Un poco anticuado, pero sigue siendo un gran recurso, y probablemente valga la pena como respuesta por sí solo.
K.Steff
En términos más generales, recomiendo el "Tío Bob" / Clean Code / y / The Clean Coder /. No estoy de acuerdo con todo lo que dice en esos libros, pero son muy buenos para pensar. ¡Ciertamente me abrieron bastante los ojos!
Michael Scott Shappe

Respuestas:

10

Ya conoces parte de la respuesta: debes liderar con el ejemplo. También debe sentirse cómodo con el hecho de que su "liderazgo" puede ser ignorado, que sus colegas continuarán haciendo las cosas de la forma en que siempre lo han hecho, ya sea porque hace feliz al jefe o porque ellos mismos valoran la conveniencia sobre mantenibilidad a largo plazo.

Al final, debe dejar que sus resultados hablen por sí mismos. ¿Perdió una fecha límite por tres días pero ahorró al equipo de control de calidad al menos esa cantidad de días programados de prueba porque probó su desarrollo y funciona en gran medida según lo diseñado? Eso es una victoria.

Al final, sin embargo, si no tiene al menos algún grado de aceptación por parte de la gerencia para ese tipo de compensación, simplemente está en el entorno equivocado y necesita encontrar uno más que conduzca a las buenas prácticas. Las malas prácticas crean hábito, por lo que cuanto antes pueda encontrar una manera de mantenerse firme o cambiar a un entorno de trabajo con mejores prácticas, mejor.

Michael Scott Shappe
fuente
Agradezco tu respuesta. Supongo que conoces muy bien mi entorno. Intentaré trabajar más duro y, si no me sale bien, buscaré otra cosa.
Rotian
2
+1. Sé el cambio que quieres ver en tu equipo. Establece el estándar.
Scott C Wilson
2
+1 por dejar que los resultados hablen por sí mismos. Eso combinado con liderar con el ejemplo es la mejor manera de afectar el cambio positivo. Las personas, naturalmente, quieren hacer un buen trabajo (la mayoría, de todos modos), y si ven que alguien obtiene resultados mejores que los suyos, es probable que soliciten el secreto. Y es muy probable que escuchen cuando preguntan por su propia voluntad que si se les dice, no solicitados.
Erik Dietrich
@Rotian No es su entorno específico, por supuesto, pero sí, he estado allí y lo he hecho. La peor parte fue que, en ese momento, ni siquiera entendía del todo lo malo que era. Solo sabía que algo estaba sutilmente mal a un nivel profundo, y finalmente decidí que eso era suficiente para salir. Solo en los últimos años he podido señalar prácticas específicas que deberían (o no deberían) haber estado haciendo.
Michael Scott Shappe
1

¿Nada?

Quiero decir, existen limitaciones de tiempo de negocios. El suyo podría ser un escenario en el que el tiempo de comercialización es más valioso que la facilidad de uso futura.

Si usted es un programador de rango y archivo, entonces establecer estándares y preocuparse por la arquitectura del producto no es realmente su trabajo (especialmente 2 meses). Usted debe tratar de mejorar el producto sin embargo se puede (incluyendo el cambio de cultura), pero no a costa de alienar a su equipo y / o jefe. Ser el nuevo tipo que cree que conoce mejor es una manera rápida y fácil de hacerlo.

Me preguntaría por qué estás haciendo todas estas soluciones rápidas de pirateo. ¿Se debe a arreglos rápidos anteriores de hack? Es bastante fácil señalar que si las cosas se hicieron "bien" en primer lugar ...

Al final, las malas prácticas de programación conducen a un dolor concreto. Si las personas piensan que no lo harán, todo lo que necesita hacer es esperar.

Telastyn
fuente
1
Según tengo entendido, el problema no es que estas personas hagan arreglos ad-hoc debido a limitaciones de tiempo. El problema es que no lo ven como una deuda técnica que debería pagarse en algún momento en el futuro. Es como saltar: puedes sobrevivir sin el apoyo de la Tierra durante algún tiempo, pero es mejor que estés preparado para aterrizar.
9000
@ 9000: el OP dice que es por el horario y por el bien de la administración, así que supongo (espero) que es principalmente una presión de tiempo. Subestimar el trabajo real involucrado en el desarrollo de software no es exactamente infrecuente.
Telastyn
1
Estoy de acuerdo en que las malas prácticas conducen al dolor concreto; pero el dolor concreto no siempre conduce a los cambios que esperarías ver en un mundo racional. Por experiencia, puedo decirle que existen gerentes que no aprenderán de ese dolor y no vendrán a alentar las prácticas correctas. Simplemente seguirán confundiéndose, porque hacer lo contrario requeriría enfrentarse a SUS jefes para abogar por pasar tiempo para hacerlo "bien", lo que no siempre están preparados para hacer.
Michael Scott Shappe
@UncleMikey: Por supuesto. Pero si sus gerentes son demasiado ineficaces para programar las cosas adecuadamente, hay muy poco que pueda hacer.
Telastyn
@ 9000 y Telastyn, sí, creo que ambos son una cierta ignorancia sobre el hecho de que una cosa como la deuda técnica realmente existe combinada con un entorno que fomenta soluciones alternativas por varias razones diferentes (ya sea tiempo, hábito, etc.).
Rotian