5 consejos para garantizar un desarrollo de software libre de errores

Publicado: 2017-10-24

¿Su aplicación de software tiene errores? Por supuesto que sí, ya que todos los programas de software disponibles tienen problemas y la historia del software libre de errores es un mito. Sin embargo, todavía es posible minimizar significativamente las fallas, los errores y los problemas de seguridad siguiendo algunas técnicas de reducción librescas pero prácticas.

Hay mucha disciplina involucrada cuando se trata del seguimiento de errores, ya que requiere alentar a todos a cumplir con las reglas. Especialmente en las empresas emergentes y las industrias impulsadas por la creatividad, puede ser bastante difícil desalentar cualquier comunicación informal. De hecho, en muchos casos, las personas no mencionan el "seguimiento de errores" como la parte más enfocada de un proyecto.

¿De qué se trata realmente el seguimiento de errores?

What is bug-tracking really about?

Según Technopedia: “El seguimiento de errores es un proceso utilizado por el personal de control de calidad y los programadores para realizar un seguimiento de los problemas y soluciones del software.

Un sistema de seguimiento de errores, por lo tanto, gestiona toda la información sobre los errores informados y realiza un seguimiento del estado de cada error. Definitivamente ve la necesidad de una amplia información al rastrear problemas. Proporcionar datos suficientes no solo requiere una gran cantidad de tiempo, sino también abundantes habilidades en el campo del desarrollo de software.

La clasificación de errores

Hay tres tipos de errores de software:

  • Especificaciones incorrectas
  • Defectos de implementación
  • Especificación faltante

Cualquiera de estos tipos de errores puede clasificarse fácilmente como un problema crítico (o reclasificarse como una mejora). A continuación se mencionan algunas de las pautas de reclasificación que utiliza Sam Hatoum, fundador de Xolv.io.

  • ¿La especificación incorrecta nos está causando una pérdida? Por ejemplo, la especificación establece el recuento de clics de seguimiento, cuando debería ser un error de reclasificación de gastos de seguimiento.
  • ¿Se puede despreciar el defecto de implementación? Por ejemplo, la fuente web se está instalando cuando debería estar incrustada en el software.
  • ¿La especificación faltante implica nuevas funciones? Por ejemplo, los usuarios no pueden compartir ni editar los detalles de su perfil en las redes sociales.

Se elevan las apuestas para que los gerentes de producto clasifiquen los errores de manera eficiente, ya que se instruye al equipo de desarrollo para que priorice los errores sobre cualquier otro trabajo. Los desarrolladores no trabajarán ni nada más hasta que se eliminen todos los errores.

Formación de estándares de calidad del equipo.

Cuando un equipo de diseño y desarrollo decide si un virus de aplicación se puede reclasificar o no como una mejora, ese proceso de decisión establece implícitamente los estándares de calidad del equipo. Por ejemplo, el propietario de una marca que enfatiza imágenes de alta calidad podría tener poca tolerancia a las discrepancias de diseño. En su lugar, reclasificarían estos problemas como errores.

Un sistema de reclasificación consistente le permite adaptar continuamente las expectativas frente a la realidad, mientras mantiene un enfoque de entrega estructurado que prioriza los estándares de calidad de su equipo.

Los fallos de errores

Estudios recientes afirman que casi el 40 por ciento de las fallas del sistema son causadas por errores de software, mientras que otros problemas de seguridad y vulnerabilidades del programa representan el 60 por ciento, causados ​​por problemas comunes relacionados con la memoria y la concurrencia. Reducir los errores de software en su aplicación es la mejor manera de aumentar la seguridad, la estabilidad y la confiabilidad de su software.

Consejos para garantizar un desarrollo de software libre de errores

Durante el desarrollo de la herramienta de registro SmartInspect, los desarrolladores utilizaron muchos métodos para mantener alta la calidad de su sistema. La lista que se menciona a continuación contiene algunas de las técnicas que utilizaron.

1. Crear espacio para la comunicación

Creating room for communication

La detección y el informe de errores requieren las habilidades para identificar información relevante que luego se agrega a cada informe de problemas. Existen muchas herramientas de control de calidad y seguimiento de errores, como Usersnap, que ofrecen la posibilidad de adjuntar automáticamente la información necesaria. Sin embargo, siempre habrá espacio para información faltante o malentendido, lo que resultará en la necesidad de una comunicación adecuada.

En ciertos escenarios de prueba, no hay lugar para ese tipo de divulgación entre los desarrolladores y los probadores. Preguntas como: '¿Cómo puedo ponerme en contacto con los expertos a cargo?' o '¿Está bien pedir comentarios por teléfono o correo electrónico?' deben responderse al comienzo del proceso de seguimiento de errores.

Para evitar malentendidos en nombre de los evaluadores y desarrolladores, intente reunir a todos en la misma página y cree una cultura orientada a la retroalimentación donde el trabajo de ambas partes se respete de la misma manera.

2. Mantenlo uno a uno

Evite discutir errores en una reunión de proyecto. Ahora no me malinterpretes. No tiene nada de malo trabajar en equipo, reproducir y corregir errores. Pero no discuta los problemas en reuniones prolongadas con todo el gabinete. De acuerdo con Thomas Peham, un bloguero de tecnología en Usersnap.com, reportar errores y luego discutirlos en la siguiente fase de 'reevaluación' del desarrollo es un enfoque bastante lento.

De hecho, es mucho más eficiente mantenerlo uno a uno. Como escribió Yegor en su artículo sobre los 5 principios del seguimiento de errores, cada informe de error está vinculado entre dos personas: el especificador y el solucionador de problemas. No importa cuántas personas estén involucradas en el proceso, solo hay 2 responsabilidades principales (con dos roles diferentes) para resolver un problema informado.

3. Asegure la aceptación de su equipo

Si todo su equipo no lo usa, una buena base de datos de seguimiento de errores sería ineficaz. Lo mejor es comenzar reuniendo a todas las partes interesadas (servicio al cliente, control de calidad, administradores de proyectos y desarrolladores) para evaluar las herramientas y tratar de tomar una decisión juntos; registrar y abordar los defectos de manera consistente utilizando el mismo sistema.

Si tiene dificultades para que la gente participe, esto es lo que puede hacer;

Para los desarrolladores, establezca la ley de aceptar informes de errores a través de bases de datos individuales y no por cualquier otro método. Cuando los evaluadores le envíen correos electrónicos con comentarios, simplemente pídales que arrojen los informes en el sistema de información. Además de garantizar que las cosas permanezcan organizadas, esto también ayuda con los informes al proporcionar toda la información necesaria y definir los campos necesarios.

Otra forma de crear un proceso más eficiente es hacer que el control de calidad o el soporte verifique los errores de los clientes y agregue los pasos exactos en la base de datos antes de que se notifique a los desarrolladores. El seguimiento efectivo de sus problemas de software es uno de los aspectos más esenciales para tener un marco de gestión de proyectos confiable y consistente.

  • Un buen depurador

Visual Studio

Si usa sistemas como Visual Studio o Delphi, ya tiene acceso a un depurador extremadamente poderoso que debe utilizar. En el caso de un entorno de secuencias de comandos donde los desarrolladores a menudo intentan eliminar los errores mediante prueba y error, el proceso no solo se convierte en una forma engorrosa de identificar y resolver problemas, sino que también es muy peligroso si no comprende completamente su código y no puede hacerlo. paso a través de él con un depurador. Hágase un favor al obtener una buena plataforma de depuración para su equipo: hay depuradores para casi todo.

4. Sepa lo que significa un error 'cerrado'

¿Alguna vez ha estado involucrado en una discusión sobre cómo cerrar un error? Bueno, felicitaciones, ha estado en la peor situación posible de seguimiento de errores que podría ocurrir.

Si se encuentra en una discusión sobre el "estado del error", considere dar un paso atrás y hacerse las siguientes preguntas:

  • ¿De quién es la responsabilidad de aceptar los resultados?
  • ¿Cuáles son los criterios de aceptación?
  • ¿Quién es el responsable de dar la orden?

Fíjate en el significado de 'cerrado'. En la mayoría de los equipos de desarrollo, la persona que corrigió el error cierra un error. Peham recomienda cerrar el informe de error de la persona que informó el problema. Una vez que el desarrollador presenta la solución para un determinado error, se le debe pedir al reportero que cierre el informe. Esto aseguraría que la retroalimentación sea una solución suficiente para los problemas de software.

5. Máquinas virtuales

Para probar su software en busca de errores en muchos sistemas operativos y entornos diferentes, debe usar máquinas virtuales con herramientas como Virtual PC u otro software de virtualización disponible. Puede ahorrar toneladas de tiempo con este método porque puede copiar, compartir y restablecer fácilmente las máquinas virtuales, lo que le permite probar su software en todo tipo de configuraciones.

Siempre es preferible crear varias imágenes estándar para todos los sistemas operativos que prueba regularmente y colocarlas en un servidor de archivos. Cuando necesite una configuración muy específica para probar algo, puede comenzar con una de las imágenes base sin instalar el sistema operativo, el software y los controladores necesarios, etc.

no es un concepto nuevo

Cuando a Hatoum se le ocurrió este concepto, descubrió que la idea del software Zero-Bug no es nueva. De hecho, existe desde la década de 1960, como muchas de las filosofías olvidadas de la vieja escuela.

El legendario experto en calidad, Phillip Crosby, inventó el término Zero-Defect mientras trabajaba en Martin Company o, como se conoce actualmente, 'Lockheed Martin', donde se informó que lograron "una reducción del 54% en defectos de hardware bajo auditoría gubernamental".

Inicialmente, la técnica de cero defectos se utilizó en la fabricación aeroespacial en los años 60 y luego se aplicó en la fabricación de automóviles en los años 90. Hay muchas similitudes entre la industria manufacturera y la entrega de software.

La popular modalidad de gestión ágil Kanban, por ejemplo, se originó en el Sistema de producción de Toyota. Lo que esto básicamente nos dice es que podemos buscar fácilmente en estos procesos de fabricación inspiración tecnológica en el desarrollo de software o aplicaciones, y Zero-Bug es una de esas inspiraciones.

Sin embargo, el costo extremo de cumplir con el estándar es una de las principales críticas al enfoque de Cero Defectos. Y si se implementa incorrectamente, esto puede ser cierto. En el enfoque Zero-Bug, Hatoum ha abordado directamente este problema a través de la reclasificación de errores a funciones y mejoras significativas, lo que permite controlar el costo a través de los estándares de calidad del equipo.

Empezar hoy

Como usuarios de tecnología y desarrolladores, puede comenzar a revisar todos los problemas técnicos existentes y clasificarlos utilizando el sistema mencionado anteriormente. Si cree que tiene cientos de miles de problemas, este podría ser un buen momento para acumularlos y comenzar de nuevo. No se preocupe, siempre puede mover los errores de los archivos al dominio actual según lo necesite.

El equipo de desarrollo no necesariamente tiene que esperar hasta que se complete todo el ejercicio de clasificación antes de comenzar a eliminar errores; pueden comenzar tan pronto como se clasifiquen algunos errores. El equipo no debe comenzar a trabajar en ningún otro elemento del trabajo pendiente hasta que todos los elementos estén "libres de errores" o reclasificados. Es esta misma regla la que obliga a los gerentes de producto a priorizar correctamente el nuevo trabajo.

Resumiendo

Cada error informado en un proyecto requiere tiempo adicional para solucionarlo. Por lo tanto, el seguimiento de errores requiere grandes habilidades de comunicación por parte de las personas que rastrean los errores, así como sensibilidad por parte de quienes los solucionan. Con los trucos de seguimiento antes mencionados, su equipo puede tratar de ser más productivo mientras informa cualquier tipo de obstáculo tecnológico o de seguridad.