En mi trabajo como desarrolladora
es muy común que nos hagamos enemigos de los analistas de pruebas y escuchar al final “Eso falla porque
el de pruebas no probó ese módulo”, sin embargo,esta fue una de esas semanas donde
quisiera que mi mundo de hadas y duendes funcionara a las mil maravillas.
Solo cuando el software falla en producción
es que recapitulamos la necesidad de garantizar la calidad de software desde
diferentes aspectos porque a veces los errores que dejamos pasar a producción
nos pueden salir muy costosos. No seamos trascendentales, fue un piloto del
proceso con el software de producción.
Y es en estos casos donde todo lo
que podía fallar, fallo. Y Justo en estos días que estaba leyendo la 25010 e
identificando las características que se deberían tener en cuenta para
garantizar la calidad del desarrollo que se publicó en producción. Pero para no
extenderme tanto voy a dar un ejemplo de lo que se debe garantizar y cómo
respondió en la prueba, no todo es malo hay cosas a favor de mi equipo de
trabajo.
Adecuación Funcional: El sistema tenía desarrollados los módulos
que pidió el usuario pero no estaba instalada una de las funcionalidades que permitían
realizar una lectura de datos a través de la cámara, y eso era parte del piloto
a realizar. Punto en contra
Eficiencia de Desempeño: Este es un sistema para trabajar con
Tabletas Windows, y estamos hablando de manipular una gran cantidad de
registros, por ese lado las pruebas realizadas cumplieron y en el piloto el
desempeño se logró, contando que es un ambiente desconectado y de sincronización.
Punto a nuestro favor.
Compatibilidad: Resulta que el desarrollo se hizo para un tipo de Tablet,
no les doy detalle de las tabletas porque las compramos todas, ya no hay en el mercado, pero se
agotaron por ende nos tocó utilizar otras Tablet, y ahí otra vez empezamos a
padecer, la aplicación no se ejecuta de la misma manera en esas Tablet. Falló la
interoperabilidad. Punto en contra
Usabilidad: Se aceptan todas las críticas, si efectivamente la usabilidad de una Tablet es terrible,
es difícil utilizar las aplicaciones, los campos de selección, las listas, los
botones. Y es que este fue un mundo nuevo para nosotros y aunque se trató de
aportar la mejor experiencia de usuario, es complicado. Punto en contra, pero no todo es malo, nuestra capacidad de aprendizaje hacia el usuario fue buena, la aplicación es
fácil de aprender y es muy intuitiva, adicional la protección contra errores de usuario es alta pues las validaciones
están contempladas desde un principio, suena cruel pero es a prueba de usuarios
finales. Punto a nuestro favor.
Fiabilidad: y ahí sí saco pecho, este es un proceso que se ha
realizado varios años, y con las lecciones aprendidas se puede de dar un grado
de madurez a esta aplicación (la
empresa donde trabajo no es perversa, tenemos reconocimiento en el mercado pero
hay que mejorar cositas). De igual manera suena loco, pero es un proceso que se
realiza en zonas de difícil acceso, por esta razón se ha montado un esquema
desconectado que replica información cuando se cuenta con Internet por ende la disponibilidad y la tolerancia a fallos
esta controlada. Punto a nuestro favor.
Seguridad: Esas si las aplicamos todas, la aplicación trabaja usuarios y perfiles con contraseñas seguras e información encriptada, es confidencial. La integridad de la información se garantiza con la edición de información solo cuando se requiere. se guarda traza de todas las acciones en la BD por eso se garantiza el no repudio y la responsabilidad. Punto a nuestro favor.
Mantenibilidad: Acá si hay un 50:50 de cumplimiento de nuestra aplicación, las modificaciones en la aplicación generan un alto impacto en el desarrollo, pero mas que de instalación de movilidad, la rehusabilidad si se aplica porque si o si los componentes como el acceso a la cámara de la tablet, los reportes y algunas otras cosas se utilizan en toda la aplicación como la bimetría, son componentes fijos que solo se llaman desde donde se necesiten. La capacidad de ser probado se cumple porque al ser desconectado se garantizan ambientes de pruebas que no afectan la integridad de la información. en cuanto a la capacidad de ser modificado no se puede garantizar po que aunque es un desarrollo en capas, aun son muy dependientes los cambios y pueden afectar el correcto funcionamiento de la aplicación. punto a favor y punto en contra.
Portabilidad: Esta caracteristica la seguimos probando, porque hasta el momento hemos hecho instalaciones y solo en dos tablet no ha funcionado, sin embargo, si vamos a instalar la aplicacioes en equipos con W8.1 no habria mayor inconveniente en la ejecucion de las funcionalidades, al ser una aplicacion de escritorio se puede instalar y desinstalar sin problema, pero al ser un desarrollo especifico aún no se puede remplazar con productos similiares.
Este es el resumen de las características de calidad al desarrollo que realizamos el la empresa para el proyecto y la lección aprendida es que cuando
trabajen con desarrollo hay que dejar de echarse culpas con el de pruebas (la culpa siempre es de la vaca, pero esta historia la dejaré para otro blog),
tengamos una visión más amplia y como ya conocemos estas normas de SQuaRe
podemos empezar a contemplar estas características; las herramientas están, calidad de datos
25012, pasos para la evaluación de calidad 25040, ahora es cuestión de
aplicarlas y de preocuparnos más por la calidad de Software, créanme en mi
trabajo ya empecé a cambiar la visión de mis compañeros.