viernes, 8 de julio de 2016

Desarrolladores y Probadores / Developers and Testers

El desarrollo de software y las pruebas de software normalmente se ven como enemigos pero esto tiene una sencilla explicación: Problemas de comunicación. Especialmente si hay personalidades susceptibles en cualquiera de las partes. Esto se podría evitar si se da el valor exacto a cada grupo dentro del ciclo de desarrollo de software: 50% y 50%
Cuando se desarrolla software es muy difícil sino imposible encontrar todos los errores que dicho software va a generar en ambiente de producción. Recordemos gigantes del desarrollo de software que hicieron todas sus pruebas, liberaron versiones beta al público para que enviaran retroalimentación de errores y finalmente luego del lanzamiento los usuarios finales encuentran errores antes no vistos. Así que pensemos en que todas las pruebas que se puedan aplicar a un software son pocas, a mayor cantidad de errores encontrados por los probadores menor posibilidad de errores para el usuario final y sólo esto debería hacer la convivencia de desarrolladores y probadores más amable. Los desarrolladores no tienen el tiempo suficiente para hacer pruebas exhaustivas en el software que desarrollan así que los probadores son una pieza importantísima para finalizar el producto.
Una estrategia fácil de eliminar los problemas entre desarrolladores y probadores es hacer sentir a cada grupo que sólo puede existir mientras el otro grupo exista 50-50 pero esto solo se logrará si los grupos son equivalentes en experiencia y profesionalismo. Si uno de los grupos es más experto que el otro terminará por humillarlo o sentirse humillado. Escoger adecuadamente a los miembros de los grupos es muy importante.

Un problema que afecta a los desarrolladores es los retrasos que se pueden generar porque los probadores encuentren muchos errores, entonces, si los desarrolladores están muy estresados porque se aumentó el tiempo corrigiendo, entonces hay errores de dirección, porque no hay un programador tan genial que pueda hacer sus desarrollos sin errores. Los tiempos de corrección de los programas deben ser iguales a los tiempos de desarrollo y a veces mayores si hay rotación de personal. Si no hay necesidad de usar dichos tiempos, maravilloso!. Ahora, asumiendo que los desarrolladores y probadores son muy profesionales en su labor, entonces podemos decir que la comunicación debe ser clara sin necesidad de ser amable, ambas partes deben recibir los mensajes sin afectarse emocionalmente por ello. Se hace la tarea requerida y listo. Pedir el favor y dar las gracias es sólo para actividades sociales, para el trabajo se pide y se responde claramente y sin extenderse en palabras. Un buen director debe hacer valer el trabajo de ambos grupos y eliminar cualquier roce entre ellos.

***English
Software development and software testing are usually seen as enemies but this has a simple explanation: Communication problems. Especially if there are susceptible personalities in both parties. This could be avoided if the exact value is given to each group within the software development cycle: 50% and 50%
When software is developed it is very difficult if not impossible to find all errors that the software will generate in production environment. Remember how software development giants who made all his trials, did betas released to the public to receive feedback and finally after the release end users found previously unseen errors. So let's think that all tests that can be applied to software are few, to a greater number of errors found by the testers less chance of errors for the end user, and only this result should make better the coexistence of developers and testers. Developers do not have enough time to do extensive testing on the software they develop so here we found that testers are an important piece to finish the product on time.
An easy strategy to eliminate problems between developers and testers is to make feel each group that can only exist while the other group exists, 50-50, but this will only can be achieved if the groups are equivalent in experience and professionalism. If one group is more expert than the other, one of them will end feeling humiliated. To properly choose the members of the groups is very important.

A problem affecting developers is the delays that can be generated because the testers found many bugs, so if the developers are very stressed because time editing is increased, then this is misdirection, because there is no such a great programmer who can make all developments without bugs.

The development times and correction times must be equal and sometimes greater if there are many people changing in groups. If there is no need to use such correction times, marvelous!. Now I'm assuming that developers and testers are very professional in their work, then we can say that the communication should be clear without being friendly, both sides should not be affected emotionally for any message. the required task is done and thats it. Ask for and give thanks are just for social activities, for work questions are asked and answered clearly and without extending into words. A good director must assert the work of both groups and eliminate any friction between them.