La Calidad en el Desarrollo de Software
¿Cuántas veces hemos escuchado a un cliente decir que quiere un producto de calidad?, ¿En cuáles de esas ocasiones el cliente sabe que significa calidad?, ¿Has logrado explicar con tus palabras qué significa calidad?
Las interrogantes anteriores, son una muestra de situaciones reales que se viven día a día, y en muchas ocasiones no podemos dar una respuesta clara. Es por esto, por lo que en esta ocasión vamos a conocer que significa calidad y como se debe aplicar en el desarrollo de software, ya que existen muchos desarrolladores que pueden conocer la palabra, pero que no logran entender su verdadero significado.
¿Qué es CALIDAD?
Primeramente, vamos a definir la palabra calidad como “el conjunto de características que permiten al cliente satisfacer las necesidades explícitas e implícitas, basadas en parámetros cuantitativos y cualitativos”. Esto quiere decir, que para que un producto sea considerado de calidad, es necesario que cumpla con requerimientos específicos, que satisfagan la necesidad de un cliente con parámetros medibles y también con parámetros que no se pueden medir con facilidad (presentación, comodidad, seguridad, etc.).
Conociendo ahora el concepto de calidad de forma general, vamos a verlo desde el punto de vista de un proyecto, donde es necesario mencionar, que existe un triángulo de hierro el cual no se puede dejar de lado en ningún momento, y que se compone de los siguientes pilares: Alcance, tiempo y costo.
El alcance significa hasta donde queremos llegar, es decir, la lista de requerimientos, características y cualidades que debe tener el producto final. El tiempo se define como el plazo mínimo y máximo en el cual se debe entregar parte del producto o el producto finalizado. El costo representa el valor monetario involucrado para lograr lo que hemos definido en el alcance, dentro del tiempo deseado, considerando los costos directos e indirectos dentro del proyecto.
Posiblemente te preguntarás, ¿Qué tiene que ver ese triángulo de hierro con la calidad? ¿Cómo se relacionan? Pues la respuesta es simple: en todo.
Para poder entregar un producto de calidad, se deben considerar los tres pilares, ya que, por ejemplo, no podemos decir que vamos a entregar un producto de calidad que tiene muchos requerimientos, sin el tiempo ni el presupuesto adecuado. Al conocer esto, sabes que si quieres entregar un producto de calidad, debes considerar los tres pilares, dando la debida importancia a cada uno de ellos, ya que esto garantiza el éxito del proyecto.
Calidad Aplicada en el Desarrollo de Software
Ahora bien, regresando al desarrollo de software, voy a dar mi definición personal de lo que considero como calidad en el desarrollo de software y que se refiere al “conjunto de características y cualidades del producto que determinan su usabilidad, eficiencia, flexibilidad, fiabilidad, portabilidad, reusabilidad, interoperabilidad, facilidad de prueba, mantenibilidad, seguridad e integridad”.
Donde, cada una de las características tiene su propia definición, pero que, dicho de forma general, están basadas en la satisfacción incondicional del cliente.
Pero ahora, surgen nuevas interrogantes, que como todo buen desarrollador debemos plantearnos antes de decir que un producto o requerimiento está terminado, las cuales nos ayudarán de manera personal a mejorar nuestro trabajo.
- ¿Aplique estándares de programación?
- ¿Hice pruebas unitarias?
- ¿Hice pruebas de integración?
- ¿Aplique revisión de código personal y en pares?
- ¿Utilice una herramienta automatizada para verificar mi código?
Respondiendo de forma positiva las primeras 4, podemos decir que nuestro trabajo tiene cierto grado de calidad, pero no debemos confiarnos, ya que es necesario recordar que existen unas personas encargadas de destruir los sueños de cualquier programador (en el buen sentido) ayudándonos a validar que lo que hemos hecho cumpla con los solicitado: Ingenieros de prueba o también conocidos como QAs.
Si queremos asegurarnos que estamos desarrollando software de calidad, nuestros colegas QA son nuestros nuevos mejores amigos y el buen desarrollador siempre esta dispuesto a tener una buena comunicación con dichos colegas ya que el fin es realizar trabajo de alta calidad.
Si consideras que tu como desarrollador de software aplicas la calidad a tu trabajo o conoces un desarrollador que puede identificarse con esta forma de trabajo y están en búsqueda de empleo nosotros te estamos buscando, aplica con nosotros aquí.