Desde la actualización, la gente sigue llamando y diciendo "Desde la actualización X, Y y Z son lentos, malos y fallan"
Esto ha sucedido desde el comienzo de las actualizaciones.
¿Qué espera la gente? Gamma viene después de la beta, y las pruebas de gamma siempre convierten a nuestros usuarios en The Incredible Hulks ...
Tal vez nunca haya escuchado esto de un cliente, tal vez esté en la universidad o un desarrollador de FLOSS que pueda echarle la culpa a más de 5 o 6 personas, tal vez pruebe su código, tal vez no esté en esa situación interesante donde los clientes realmente lo llaman solicitando la hora exacta del día en que lanzará el parche de hoy (me encantaría hacerle eso a Microsoft) o tal vez sea un triste hijo de galleta como yo que acaba de enviar un nuevo actualizar y me fui a casa y temo volver a trabajar mañana.
De todos modos, serás más inteligente que yo de todos modos. ¿Cómo encuadras las críticas enmarcadas en "Debes ser un mal programador porque estás empeorando tu software"?
fuente
Respuestas:
Si esto le sucede cada vez que despliega, podría haber una falla grave en su proceso de desarrollo. Sospecharía un par de cosas que están causando los problemas.
fuente
Pero tal crítica está mayormente justificada. Un nuevo lanzamiento no debería ser peor que el anterior, pero como sabemos, en realidad a menudo lo es, y es nuestra culpa porque lo hicimos.
Cometer errores es humano, y no convierte a nadie en un "mal programador", así que no tome las críticas personalmente (de todos modos, nunca tomaría en serio ninguna crítica profesional de un no colega). Simplemente agradezca al cliente por informar el problema y corríjalo lo antes posible. Es tu trabajo como buen programador.
fuente
Bueno, en el trabajo no interactuamos mucho directamente con los clientes, así que tendré que responder a esto desde el trabajo personal del proyecto. Estoy escribiendo un motor de juego que la gente puede usar para construir sus propios juegos. Todavía está en pre-alfa, pero tengo algunos usuarios interesados y, a veces, tengo errores.
Cuando recibo un informe como este de un usuario, trato de usar el toque personal. No quise introducir errores, y quiero que tengan una buena experiencia con mi motor, así que necesito hacerles creer eso. Primero, obtenga un identificador de mensajería instantánea para que podamos hablar. Le preguntaré al usuario sobre su proyecto e intentaré obtener una copia del mismo. Esto hace que la reproducción sea mucho más fácil. Pregúnteles qué estaban haciendo cuando ocurrió la falla. Mientras tanto, tengo el motor abierto en el depurador y me estoy enfocando en el problema mientras hablamos.
Si es una excepción, generalmente es bastante simple. Reproduzca el problema y el depurador lo toma y lo lleva directamente a la ubicación del error con un seguimiento completo de la pila, y es obvio lo que está sucediendo. Si se trata de un rendimiento lento o un comportamiento incorrecto, puede tardar un poco más. Pero en la mayoría de los casos puedo tener una solución lista dentro de los primeros 20 minutos, como máximo. Lo cierro y se lo envío para que lo prueben. "Está bien, creo que lo tengo. ¿Ver si esto funciona a tu final?"
La respuesta es casi universalmente una mezcla de asombro y gratitud, porque la mayoría de los desarrolladores (léase: compañías de software) simplemente no solucionan errores y vuelven a lanzarlos tan rápido. Y luego, si está realmente solucionado, he convertido a un crítico potencial en fanático. Es una muy buena técnica; Solo deseo que más desarrolladores lo adopten.
fuente
Yo personalmente tomo el problema positivamente. Interactúo todo el tiempo con muchos clientes, y sigo codificando también.
Cuando descargan una nueva versión y me dicen algo así, siempre digo algo como esto:
De hecho, el cliente es tu verdadero jefe. Si la experiencia contigo es mala, también es mala para ti.
Incluso si él no tiene razón, usted como parte de la empresa, debe aprovechar esta oportunidad para:
fuente
Detalles, Detalles, Detalles. Les pregunto qué estaban haciendo y cuándo, sean específicos. Podría ser algo o podría ser que el video de Justin Beaber se acaba de lanzar en youtube. Los archivos de registro son tus amigos en ambos casos.
También pido fechas cuando lo notaron. A veces, especialmente en las tiendas empresariales, los usuarios no saben cuándo sale un lanzamiento, solo saben que algo lleva mucho tiempo completar y ahora se están quejando.
La sombra del trabajo. No puedo enfatizar esto lo suficiente. Si tienes la suerte de tener usuarios cerca, solo míralos trabajar desde el tiempo. A menudo encuentro que ignoran problemas evidentes y nunca los denuncian. A menudo solo se quejarán cuando sepan que algo es nuevo o que inicialmente noten un problema.
fuente
El primer paso es que debes tener una mentalidad de que esto (la actualización rompe otras cosas) no es normal. Su actualización no debe interrumpir o ralentizar otras partes de la aplicación. No está bien, no es de esperar, y no es culpa del usuario cuando se queja de ello. Debería hacer tantas pruebas como sea posible para tratar de evitarlo. Cuando sucede, tienes un problema urgente.
El paso 2 es que debes saber lo que hiciste. Es posible que su sistema de control de fuente pueda ayudarlo, o algún tipo de sistema de seguimiento del trabajo, pero debe poder decir en el momento en que reciba una de estas quejas "ok, agregué una columna a esta tabla, cambié esta cuadrícula para calcular los nuevos impuestos, agregaron esos dos nuevos informes ... "y así sucesivamente.
El paso 3 es que debe tener experiencia para encontrar problemas de rendimiento y fallas rápidamente, de modo que sepa qué tipo de cosas pueden causarlos y pueda resolver el problema de inmediato. Esta cosa se ha implementado y debe encontrar el problema rápidamente y obtener un parche. Cambiar un informe no puede ralentizar una parte de la aplicación que no usa el informe. Ahora está en modo de emergencia y tiene que averiguar dónde está el error y qué hacer al respecto, sin romper otra parte de la aplicación en el proceso.
El paso 4 es para cada una de estas miserias, debe aprender una lección que probará la próxima vez. Te convertirás en "ese tipo" que se opone a ciertas construcciones porque "será horrible cuando haya 10,000 registros".
Un poco más en el frente "esto es normal". Ejecuto (entre todas las otras cosas que tenemos en marcha) un proyecto ágil para un cliente externo. Hemos estado haciendo lanzamientos aproximadamente cada 6 semanas durante dos o tres años. Y sí, el lanzamiento está programado para el minuto. Acabamos de hacer uno a las 8 de la mañana de ayer. Y aproximadamente cada 4to o 5to lanzamiento (una o dos veces al año, en otras palabras) algo se rompe en vivo, y saltamos a la acción y lo hacemos lo más rápido posible. A pesar de que probamos y probamos y probamos antes del lanzamiento. Luego les contamos lo que pasó. "Hubo un pequeño error en el despliegue de junio que dejó este campo en blanco, pero nunca nos dimos cuenta porque no estábamos usando el valor en ese momento. Luego, en este despliegue cuando comenzamos a usar el campo, los que estaban en blanco causaron ese mensaje de error que viste. He corregido el error para que no pueda quedar en blanco, poner valores en los registros incorrectos y confirmar que ya no explota. Nuestras disculpas. "O" Ese cambio de emergencia que pidió, solo dos días antes del lanzamiento, tuvo consecuencias que no pensamos y que no probamos. ¿Recuerda por qué nos resistimos a los cambios de emergencia? "Puede que no sea un mal programador por empeorar la actualización, pero seguramente hice algo malo. Y necesito corregirlo. Puede que no sea un mal programador por empeorar la actualización, pero seguramente hice algo malo. Y necesito corregirlo. Puede que no sea un mal programador por empeorar la actualización, pero seguramente hice algo malo. Y necesito corregirlo.
fuente
Solo para cubrir otro aspecto:
Mantenemos una lista de clientes que reclaman esto cuando resultó que no era así. Si bien el software es defectuoso, a menudo muy defectuoso, muchos de nuestros clientes reclamarán "comenzó con la actualización" para obtener atención inmediata, sin darse cuenta de que esto termina perdiendo el tiempo de todos, ya que recorreremos los deltas para la función indicada buscando el problema. Si el cliente dice la verdad, esto tiende a encontrarlo rápidamente. Si el cliente está en la lista falsa demasiadas veces, no nos molestamos ya que no nos gusta perder el tiempo.
No puedo imaginar qué tipo de mentalidad se requiere para pensar que decirnos una mentira aceleraría el proceso. Estas personas son o trabajan con médicos y deben saber muy bien lo que sucede cuando las personas mienten a los médicos. Se aplica el mismo principio.
fuente