Yolanda Euzárraga
Directora del CAIS
Decía Watts Humphrey al que se le considera el padre de la calidad de
Software: “Todos los negocios son negocios de Software por lo que todos los
negocios se pueden beneficiar mejorando los procesos de Software”. En la última
década los proyectos de desarrollo no han evolucionado de manera positiva.
Según un informe de Standish Group, sólo el 40 % de los proyectos de
desarrollo de software son exitosos; para
nosotros exitoso significa tener un proyecto que cubra las necesidades de los
usuarios, se termine en el tiempo planeado y bajo el presupuesto asignado.
Steelmood se aproxima a este mercado de una manera totalmente diferencial
lo que es parte de su ADN.
Mediante el CAIS o Centro Avanzado de Ingeniería de Software (nos
negamos a llamarlo Software Factory por las negativas connotaciones que este
nombre ha ido adquiriendo durante los últimos años) Steelmood es capaz
de reducir el coste total de desarrollo de software a la mitad respecto al
coste total real de otros proveedores.
Steelmood es capaz de reducir el mantenimiento correctivo hasta en un 80% encontrando los defectos
lo antes posible en el ciclo productivo y evitando que lleguen a las fases
de pruebas mediante la implantación de un sistema de filtros.
Steelmood es capaz de disminuir un 20% el desarrollo haciendo bien las
cosas desde el principio y utilizando la reusabilidad del código y de
disminuir hasta en un 50% el coste de las pruebas consiguiendo que
lleguen a dicha fase muchos menos defectos.
Y estas cifras tan agresivas se obtienen en base a un método cuya esencia
es medir TIEMPO, TAMAÑO y DEFECTOS de todos los artefactos producidos por cada
persona que forma parte del equipo de desarrollo.
PSP (Personal Software Process) y TSP (Team Software Process)
desarrollados en la Universidad de Carnegie Mellon por Watts Humphrey son
las metodologías usadas a nivel de persona y equipos para el desarrollo
de Software y se basan en registrar diariamente el tiempo, tamaño y defectos de
todo lo que se hace. De esta forma obtenemos una serie de métricas básicas que
generan otra serie de métricas derivadas para el seguimiento y control
del proyecto.
Basándonos en esas métricas derivadas somos capaces de planificar la
calidad de un desarrollo con una fiabilidad mucho mayor que si lo hacemos
basándonos en la mayor o menor experiencia de un ingeniero de desarrollo tipo.Los defectos que no se encuentran o detectan a tiempo acaban apareciendo en la fase de pruebas y es a través de un sistema de filtros en las diferentes fases del desarrollo como podemos conseguir garantizar o al menos disminuir la posibilidad de que un determinado defecto llegue a la fase de pruebas , de esta manera el impacto económico es muy elevado ya que el coste de corrección de un defecto en fase de pruebas es muy superior a si es detectado y corregido en la misma fase de requerimientos.
Cuanto más tiempo permanezca un defecto en el producto mayor
será el tiempo que se requerirá para eliminarlo.
Las bases de todo este proceso son la REVISIÓN la INSPECCIÓN y la
VERIFICACIÓN.
REVISIÓN por parte del creador de un determinado artefacto;
INSPECCIÓN por parte de una persona ajena al creador del artefacto y VALIDACIÓN
o VERIFICACIÓN por parte del usuario final.
Si no se hace esta última validación se corre el riesgo de tener un
proyecto muy bien hecho de algo que NO necesita el cliente.
Estas tres fases son los auténticos filtros para evitar que los errores
avancen en el ciclo de desarrollo. Para conseguirlo hay que invertir en la
calidad (revisiones, inspecciones y validaciones) el doble de tiempo que en
pruebas.
Para cerrar yo añadiría que hoy en día para nosotros los tres
factores clave para el éxito son: GESTIÓN de los requerimientos con
buenas prácticas internacionales, la fase de requerimientos debe ser
considerada por su trascendencia como un proyecto en sí misma por el impacto
enorme que tiene en el éxito final del proyecto
DEFINIR y mantener un protocolo de comunicación en el trabajo entre
el centro de Ingeniería de software y el cliente, es decir cómo
vamos a interactuar, Quien hará Qué, debemos convertirnos en un aliado del
cliente y que deje de vernos como el enemigo que trata de engañarle.
Y finalmente TENER un enfoque de CALIDAD en todo el
proceso que genere calidad en el producto final que es lo que busca
el cliente. Para nosotros la Calidad del producto está en relación
directa con el proceso seguido, es decir la calidad de un producto es
‘controlada’ por el proceso que se usó para desarrollarlo.
No queremos decir con esto que en la calidad lo importante es el proceso
pero sí que el proceso usado de forma consistente y estándar nos permite
administrar la calidad a lo largo de todas las fases del proyecto y no sólo en
la fase de pruebas
Porque si el proceso y las métricas usadas son magníficas pero generan un
producto final que no cumple las expectativas del cliente habremos
fracasado.
Los beneficios de esta nueva manera de hacer las cosas son:
- Un registro de datos de tiempo
tamaño y defectos que permite estimar proyectos basados en datos
históricos.
- Un seguimiento de proyectos
basados en métricas.
- Una administración total de la
calidad tanto del producto como del proceso usado para construirlo.
Einsten dijo: “Si buscas resultados distintos no hagas siempre lo mismo”.
Desde Steelmood planteamos un cambio radical en la manera de aproximarnos
al mundo del desarrollo, como única vía para conseguir resultados
diferentes. Esa manera diferente de hacer las cosas es como decíamos al
principio parte del ADN de Steelmood.
Necesitábamos algo así en España. No somos pioneros en asociar la calidad al desarrollo de software, pero sí lo somos en aplicarlo con excelencia. Y podemos demostrarlo...
ResponderEliminarMás información sobre el nacimiento de este proyecto:
http://www.lanuevarutadelempleo.com/texto-diario/mostrar/168001/steelmood-contratara-a-mas-de-100-ingenieros-para-la-universidad-de-huelva-en-el-2014
http://huelvabuenasnoticias.com/2014/01/14/una-empresa-gestionada-por-el-onubense-manuel-galan-pretende-contratar-a-mas-de-cien-ingenieros-de-la-universidad-de-huelva/