Está en la página 1de 21

1

Instituto Tecnolgico de Costa Rica


M a e s t r a e n S i s t e m a s M o d e r n o s d e M a n u f a c t u ra Seminario de la Calidad y la Productividad

Seis Sigma en la Industria del Software


Erick Vargas Rodrguez 17 Junio, 2005

Resumen Ejecutivo
En la industria del software la calidad siempre ha sido un tema controversial y de mucha atencin por parte de los clientes, que exigen productos de calidad, que no muchas veces cumplen sus expectativas. Los procesos de software se consideran procesos difusos pues no pueden ser medidos en trminos cuantitativos como lo son medidos atributos en procesos de manufactura, atributos que tienen mtricas establecidas como altura, espesor, longitud, peso, y que no pueden ser aplicados a software. Los productos en manufactura normalmente poseen un valor de diseo nominal para sus caractersticas, lo cual no aplica para productos de software. Adicionalmente, el proceso de desarrollo de software no es repetitivo, vara de un proyecto a otro. Todas estas, y otras razones que se discuten a profundidad en este documento, hacen pensar que una metodologa como Seis Sigma, utilizado con xito en procesos de manufactura para la mejora de calidad de procesos o productos, no puede ser utilizada de forma efectiva en procesos de software. Lo cual no es necesariamente cierto, pues existen razones de peso para afirmar lo contrario. Si bien es cierto los procesos software no pueden ser medidos, existen mtricas establecidas por la misma industria en un intento para cuantificar los parmetros involucrados en el desarrollo de software, que junto con herramientas provistas por Seis Sigma, junto a una cultura organizacional adecuada, y un proceso de toma de decisiones basado en datos, se puede implementar una metodologa Seis Sigma con xito en una compaa dedicada a los servicios de Tecnologas de Informacin (TI). Existen ciertos factores que pueden influir en este xito, donde el ms importante es el recurso humano, o el insumo de los procesos de software. La experiencia, el grado de conocimiento, y la pericia de los profesionales a cargo del proyecto de software varan

de un individuo a otro, y son factores importantes en los equipos de desarrollo de proyectos Seis Sigma. Tradicionalmente los proyectos de software tomaban el proceso de calidad al final de cada etapa, mientras que Seis Sigma incorpora la calidad en cada uno de los procesos a lo largo del proyecto y del ciclo de desarrollo, haciendo el proceso y el producto menos susceptible a defectos y con mayor calidad. Las metodologas DMAIC y DMADV de Seis Sigma pueden ser aplicadas al Ciclo de Vida de Desarrollo de un Proyecto de Software, para maximizar la efectividad de los procesos de deteccin de defectos, lo que conlleva a una disminucin significativa de los mismos. Adems el tiempo del ciclo se ve minimizado, y se reduce el retrabajo causado por los defectos no detectados a tiempo. DMAIC se puede aplicar directamente al Ciclo de Vida de Desarrollo de Software (Anlisis, Diseo, Implementacin, y Pruebas), mientras que DMADV puede ser aplicado directamente al desarrollo de los proyectos de software, y de esta manera incrementar la productividad del equipo de trabajo, y la calidad de los productos de software desarrollados. Como se demuestra en este documento, Seis Sigma puede aplicarse con xito en las empresas de la industria del software, incorporando sus metodologas y herramientas en los procesos ya existentes para procurar la mejora de la calidad, tanto en procesos, como en productos.

Tabla de Contenidos

1. Introduccin...................................................................................................................5 2. Seis Sigma en la Industria del Software........................................................................6 3. Procesos de Manufactura vs Procesos de Software.....................................................8 4. Seis Sigma en Software................................................................................................9 5. Seis Sigma y el Ciclo de Vida de Desarrollo de Software...........................................12 Metodologas Seis Sigma y el SDLC...........................................................................14 6. Factores Crticos de xito para una implementacin exitosa de Seis Sigma en la Industria del Software......................................................................................................15 7. Conclusiones...............................................................................................................16 8. Referencias Bibliogrficas...........................................................................................18 .......................................................................................................................................18 9. Anexos.........................................................................................................................19

1. Introduccin Seis Sigma es un parmetro utilizado en modelos estadsticos de la calidad en productos de manufactura. Tambin es un trmino utilizado cuando se habla de calidad. Dado el xito que ha tenido esta metodologa en la industria de la manufactura y de servicios, se han realizado intentos para aplicar Seis Sigma en la calidad del software. Pero esta iniciativa ha tenido a muchos en contra, dada la naturaleza de los procesos de software y su gran diferencia con los procesos de manufactura. Los procesos de software no son predecibles, el software no se produce en masa, son algunas de las razones fundamentales para la oposicin de la aplicacin de Seis Sigma en software. El objetivo de esta investigacin es conocer el estado de Seis Sigma en su aplicacin en la Industria del Software, e identificar cuales herramientas y metodologas pueden ser utilizadas para alcanzar el xito de esta aplicacin. Este informe pretende demostrar que una metodologa Seis Sigma puede ser aplicada con xito en una empresa dedicada al desarrollo de software, o a brindar servicios de TI. Para cumplir este objetivo se debi investigar las caractersticas de ambos procesos manufactura y software para determinar cuales factores presentan similitudes, y cuales que no pueden trabajarse, para utilizarlos en una implantacin exitosa, adems de hacer una comparacin entre ambas industrias. Se busc empresas u organizaciones en esta industria que hayan implantado y estn utilizando Seis Sigma como plataforma empresarial de forma exitosa, para determinar cuales han sido esos factores de xito que han logrado determinar y poder mejorar.

Una vez que se determinaron diferencias y similitudes, era necesario determinar y caracterizar claramente el proceso de desarrollo de software, para luego identificar cuales metodologas y herramientas de Seis Sigma pueden ser utilizadas en este tipo de procesos. En general la investigacin es meramente terica, sin ningn componente o instrumento aplicado y se basa en resultados, datos e informacin obtenida de publicaciones, artculos y libros relacionados con el tema. En este informe, se hace primeramente un intento de comparar la industria de la manufactura con la industria del software y TI en general. Adems busca la aplicacin de tcnicas y herramientas de Seis Sigma para su uso en este tipo de industria, mtricas utilizadas, atributos importantes en el proceso de desarrollo de software, y finalmente factores crticos de xito para una implementacin exitosa de Seis Sigma en la Industria del Software.

2. Seis Sigma en la Industria del Software Calidad es la clave para no solo sobrevivir, sino tambin para competir y surgir en el ambiente de los negocios tan competitivo en que se vive actualmente. La mayor parte de las compaas actualmente hacen un gran esfuerzo por proveer no solo productos de alta calidad, sino tambin por mejorar la calidad de los servicios que prestan a sus clientes. Est comprobado que productos o servicios de baja calidad incrementan los costos en todas las organizaciones (en trminos de retrabado, cubrimiento de garantas, procesamiento de quejas, etc.). La calidad en el software se ve la mayora de las veces como un tema misterioso al que casi todos tratan de evitar; y esto precisamente por su naturaleza.

Seis Sigma es una estrategia para la mejora de procesos que no est ligada a un modelo de negocios especfico. Su principio fundamental es mejorar la satisfaccin del cliente por medio de la reduccin de defectos, su meta de desempeo son los procesos y productos libres de defectos (3.4 o menos defectos por milln). Aunque Seis Sigma ha sido adoptado por muchas compaas de manufactura a nivel mundial, an es relativamente nuevo en la industria del software. Es un mito comn que Seis Sigma solamente puede ser utilizado en la industria de la manufactura. Actualmente se ha comprobado que Seis Sigma ha sido un xito en campos como el mercadeo, la medicina, finanzas, administracin, y muchas otras reas. Sin embargo, aunque muchas compaas han adoptado Seis Sigma como medio para mejorar procesos de manufactura, desarrollo de productos, atencin al cliente, y otros procesos de negocios, muy pocas han demostrado resultados similares para procesos de negocios relacionados con Tecnologas de Informacin (TI). Aunque Seis Sigma provee herramientas para mejorar los procesos existentes (DMAIC) e incluso para el desarrollo de nuevos procesos o productos (DFSS y DMADV), todava hay mucho que caminar en la aplicacin de estas metodologas para la gerencia de proyectos de software. No es fcil encontrar un enlace entre Seis Sigma y las metodologas existentes para la administracin de proyectos, no todas las herramientas de Seis Sigma se pueden aplicar en el desarrollo de proyectos de software. Adems, muchos de los que participan en este tipo de proyectos no siempre se sienten muy bien y a veces ni si quiera utilizan mecanismos de anlisis rigurosos para garantizar la calidad.

3. Procesos de Manufactura vs Procesos de Software La manufactura ha evolucionado por cientos de aos, el desarrollo de software tiene solamente unas cuantas dcadas. Adems el software tiende a considerarse como un punto medio entre una forma de arte y una ciencia inexacta. Los procesos de software son fundamentalmente distintos de otros procesos, en particular los procesos de manufactura. Estas diferencias son las que hacen suponer a algunos la ineficiencia de un sistema como Seis Sigma en TI. El comportamiento de los procesos de software es difcil de predecir, al contrario del comportamiento limitado, restringido y altamente predecible de un proceso de manufactura. El software no puede ser medido con ninguna medida fsica como las que aplican a los procesos de manufactura, como lo son medidas de peso, longitud, espesor, y otras ms. En otras palabras, medidas significativas como las que pueden constituir o definir un defecto en un proceso de desarrollo de software son difciles de lograr. Por otro lado, existe la razn de que un software es un nico producto, que puede ser reproducido muchas veces de forma idntica sin ninguna variacin respecto de su original. Es por esto que los profesionales en la industria del software se enfocan en la calidad del proceso de desarrollo propiamente, ms que en el proceso de manufactura de reproduccin de copias. Los procesos de manufactura son afectados por factores externos incontrolables como temperatura, humedad, interaccin humana, degradacin de maquinaria, etc. Estos factores no tienen ningn impacto en los procesos de software, en su lugar, existen otros factores que si afectan este tipo de procesos, como el grado de conocimiento, las habilidades en programacin, experiencia en el campo, etc.

La variacin en los procesos de desarrollo de software no puede ser eliminada, ni siquiera reducida a niveles moderados debido a la gran diferencia en habilidades y experiencia que hay entre un desarrollador y otro.

4. Seis Sigma en Software El objetivo de utilizar Seis Sigma en un contexto de TI es el de lograr diseo de software y desarrollo de software de alta calidad, mediante la aplicacin de procesos y herramientas de calidad. La aplicacin de esta metodologa busca un cambio en los procesos hacia la deteccin temprana de defectos, lo que reduce el costo de la calidad. Por su naturaleza, ayuda a la toma de decisiones sobre tecnologas, diseo y arquitectura de sistemas, basadas en datos reales. Adems se puede cuantificar el esfuerzo y cronogramas mediante el uso de datos estadsticos, en lugar del uso de estimados, para asegurar la entrega a tiempo del producto de software. Anteriormente se mencion que los procesos de software poseen ciertas diferencias que hacen que algunos profesionales consideren que no es adecuado la aplicacin de una metodologa como Seis Sigma en este tipo de industria. Algunas de los argumentos ms comunes son los siguientes:

Los procesos de software son difciles de medir El desarrollo de software no es un proceso repetitivo El desarrollo de software es un trabajo que requiere creatividad

10

Seis Sigma utiliza estadsticas para medir y controlar variacin no deseada en procesos repetitivos como lo son la manufactura y el procesamiento de rdenes. Los pasos a seguir en un desarrollo de software, como lo son la toma y priorizacin de requerimientos, diseo, implementacin, y pruebas, son mucho menos tangibles y difciles de cuantificar que los pasos en un proceso de manufactura o procesamiento de rdenes. As como la naturaleza y el alcance de los proyectos de software varan, los contenidos de cada uno de estos pasos tambin varan. A menos que los proyectos sean muy similares en metas y alcances, es difcil decir (por mtodos cuantitativos) si el proceso de desarrollo de software est mejorando de un proceso a otro. Cada etapa o paso en un proceso de desarrollo de software est fuertemente influenciado por la calidad de la definicin de requerimientos, y la calidad de la definicin de requerimientos es difcil de cuantificar. Aunque todo esto es en cierta forma intangible, hay que estar de acuerdo en la siguiente observacin acerca de la ingeniera de software, que se puede encontrar en muchos libros y artculos: la efectividad de los ingenieros de software vara grandemente de un individuo a otro, y el xito de los proyectos est fuertemente influenciado por la efectividad de los participantes del proyecto. Esto sugiere que las mtricas del proyecto pueden ayudar en el aseguramiento de los individuos, pero no es claro cunta informacin pueda ser utilizada en la mejora del proceso.

Los procesos de software definitivamente son difciles de medir, pero no es una tarea imposible. Lderes de la industria del software como IBM e instituciones como el Instituto de Ingeniera de Software (Software Engineering Institute) han diseado y publicado mtricas para procesos de software para el beneficio de toda la industria.

11

Modelos como el Modelo de Madurez de Procesos describen el manejo cuantitativo de procesos. Existe mucho material y publicaciones de donde se pueden escoger las mtricas adecuadas para un proceso de software en particular. Seis Sigma ofrece herramientas para convertir requerimientos de alto nivel en requerimientos que pueden ser medidos de forma cuantitativa.

Es cierto que el desarrollo de software requiere un alto grado de pericia, creatividad y conocimiento por parte de los profesionales. Anteriormente se mencion que el desarrollo de software se considera en parte como una forma de arte, pues es una ciencia que se ve como nueva, y que no est consolidada como tal. An as, existen esfuerzos ya palpables de lderes de la industria y organizaciones en este campo a nivel mundial, que tratan de establecer el marco de desarrollo y avance de esta industria, tratando de consolidar un esquema que cambie el aspecto variable de las TI, y establecer mtricas y procedimientos que lo vuelvan ms controlable y medible.

El 90% de los procesos en una compaa de servicios de software son repetitivos, y pueden ser mejorados con una metodologa de mejora de procesos como la que provee Seis Sigma (DMAIC). La metodologa DFSS puede ser aplicada al 5% 10% restante de los procesos, los cuales involucran creatividad.

Muchas veces cuando la estimacin de un proyecto falla y no se puede cumplir el tiempo de entrega de un producto de software, la reaccin es introducir ms procesos alrededor de la toma de requerimientos, revisiones de cdigo, revisiones de final de

12

etapa, entre otros, para tratar de hacerlo bien. La solucin se encuentra en hacer precisamente lo contrario, crear y mejorar los procesos adoptados en las diferentes fases del ciclo de desarrollo de software, con la visin de hacerlos tan robustos y a prueba de errores como sea posible. Esto ayudar a los equipos de proyecto a alcanzar un mayor nivel de productividad para hacer ms con menos. Claro est, esto requiere un cambio del paradigma empresarial hacia la adopcin de una metodologa Seis Sigma para el mejoramiento de procesos y un cambio cultural.

5. Seis Sigma y el Ciclo de Vida de Desarrollo de Software El Ciclo de Vida de Desarrollo de Software (SDLC1) consiste en cuatro fases fundamentalmente Anlisis, Diseo, Implementacin, y Pruebas. Junto a estas fases fundamentales, procesos como la prevencin de defectos, administracin de proyectos, Aseguramiento de la Calidad del Software (SQA), revisiones, etc., son parte integral del Sistema de Administracin de la Calidad de cualquier empresa en la industria de Tecnologas de Informacin. La efectividad de estos procesos tiene un impacto directo en los parmetros CTQ2. Uno de los factores clave en la implantacin de Seis Sigma es identificar las mtricas dependientes. Para los procesos bsicos mencionados anteriormente esto se vuelve simple, ya que los datos histricos para las mtricas esenciales como eficiencia, efectividad, productividad, densidad de defectos, variacin de cronogramas y otros ya estn disponibles. Luego de una priorizacin de estas mtricas, las de desempeo ms crtico pueden ser utilizadas para proyectos DMAIC de Seis Sigma.
1

SDLC Software Development Life Cycle. Critical To Quality (CTQ) Atributos ms importantes para el cliente.

13

La metodologa DFSS de Seis Sigma puede ser aplicada a proyectos nuevos de desarrollo de software. Seis Sigma en el SDLC ayuda a hacer el proceso de manufactura del software ms predecible y asegura que todos los CTQs de los clientes son cumplidos. Algunas herramientas de Seis Sigma que pueden ser aplicadas a esta metodologa son: Quality Function Deployment (QFD): ayuda a convertir los requerimientos del cliente (VOC) en especificaciones detalladas del programa. El uso de QFD asegura que ningn requerimiento ser olvidado y ayuda adems a priorizar los elementos del software. Failure Mode Effect Analysis (FMEA): es una herramienta un manejo efectivo de riesgos para todo el SDLC, e identifica los modos de falla probables del software en la fase de diseo. Esto inicia acciones correctivas en el diseo. Pugh Matrix: permite a desarrollador de software o analista comparar diferentes conceptos con referencia a CTQs de los clientes y crear conceptos fuertes alternativos a partir de conceptos dbiles.

Una vez que un proyecto es definido, el equipo asignado procede de forma metdica a travs de fases de Medicin, Anlisis, Incorporacin, y Control. Un equipo de mejora Seis Sigma es responsable de identificar mtricas relevantes basadas en principios y modelos de la ingeniera de software. Con la informacin o datos en mano, el equipo debe proceder a evaluar la informacin o datos para identificar tendencias, patrones, relaciones, etc. Si fuera necesario, deben realizarse experimentos especiales y modelados para confirmar relaciones supuestas, o para entender el grado en que

14

afectan los factores; pero muchos proyectos de mejora pueden ser realizados con las herramientas estadsticas y no estadsticas ms simples. A menudo es necesario iterar sobre los pasos de Medir-Analizar-Incorporar. Cuando se alcanza el nivel de desempeo buscado, se establecen medidas de control para mantener el desempeo.

Metodologas Seis Sigma y el SDLC Seis Sigma incluye dos metodologas complementarias. La primera de estas, Design for Six Sigma (DFSS), es usada para desarrollar nuevos productos o procesos mediante la aproximacin DMADV, la cual incluye fases de Definir, Medir, Analizar, Disear, y Verificar. La segunda, DMAIC, usa fases Definir, Medir, Analizar, Incorporar, y Controlar, para mejorar productos o procesos existentes. Existen herramientas y entregables especficos asociados a cada una de estas etapas en cada metodologa, con DFSS encajando de forma natural en la mayora de los procesos de Desarrollo de Software. Estas metodologas no son un reemplazo para las buenas prcticas de diseo. En su lugar, ofrecen una forma disciplinada de mejorar la eficiencia y la satisfaccin del cliente al remover errores tpicos, aplicaciones inadecuadas de herramientas existentes, y diferencias entre requerimientos y caractersticas. El SDLC incluye incluye muchas formas distintas, como el iterativo, cascada, Agile, RUP, y todos consisten en etapas y tareas, cada una asociada a herramientas especficas y entregables. Ambos, SDLC y DFSS son usados para desarrollar productos, as que, desde un punto de vista conceptual, son fundamentalmente similares y puede potencialmente ser combinados en una sola plataforma o estndar organizacional.

15

En contraste, DMAIC es un proceso de mejora de productos o procesos que puede mejorar algunos elementos del SDLC, pero que no se enlaza directamente. Por ejemplo, un proyecto DMAIC aplicado al proceso de desarrollo puede mejorar el tiempo medio de desarrollo de un proyecto, u optimizar la inspeccin de trabajo del producto para reducir la labor requerida y mejorar la taza de deteccin de defectos. Cualquier rea de proceso dentro del SDLC puede beneficiarse de la aplicacin de DMAIC. 6. Factores Crticos de xito para una implementacin exitosa de Seis Sigma en la Industria del Software Existen factores, tanto internos a la organizacin como externos, que influyen directamente en el xito que pueda tener la implantacin de una metodologa Seis Sigma en una organizacin que se desenvuelve en la industria del software. Los factores ms importantes que se pueden considerar para este caso se muestran en la siguiente lista: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Liderazgo y compromiso desprendido de la gerencia. Soporte de la infraestructura organizacional. Cambio cultural. Entrenamiento en Seis Sigma. Vinculando Seis Sigma con la estrategia de negocios. Responsabilidad. Involucramiento de los clientes. Entendimiento de la metodologa Seis Sigma. Administracin de proyectos. Priorizacin y seleccin de proyectos.

16

Se ha observado que los factores 1, 3, 5 y 7 juegan un papel muy importante en el xito de la implantacin de Seis Sigma en la industria del software. De esto se puede desprender que una metodologa como esta requiere un compromiso no solo de la gerencia de la organizacin, si no de todos los trabajadores y de la compaa en general, tomando como base la estrategia de negocios, enfocado a un mejoramiento en la calidad en la relacin con el cliente, quien es tomado en cuenta para el mismo proceso de mejora que se desarrolla en la organizacin.

7. Conclusiones Seis Sigma se ha convertido en la metodologa utilizada por cientos de organizaciones para mantener un proceso de mejora de la calidad de sus productos o procesos. En vista que ha tenido un xito comprobado en la industria de la manufactura y de servicios, es lgico pensar que resultados similares pueden resultar de su aplicacin en la industria del software. Aunque los procesos de desarrollo de software no estn consolidados como los procesos en otras industrias, quiz por la juventud de la ciencia del software, metodologas como Seis Sigma ayudan a consolidar sus procesos y de cierta forma unificar procedimientos, estrategias, mtricas, y metodologas, que ms tarde pueden conducir a la consolidacin de la industria del software como una industria estable. Como se ha detallado anteriormente, el recurso humano juega un papel sumamente importante y es considerado un elemento crtico para que Seis Sigma pueda ser aplicado con xito en servicios de TI. Esto, dada la naturaleza de la materia prima que

17

utiliza en esta industria, basada en el conocimiento, experiencia y habilidades de los profesionales involucrados. Adicionalmente, contar con las mtricas adecuadas, y tener a disposicin los datos y la informacin necesaria es crucial para una implementacin exitosa, pues las decisiones en Seis Sigma se toman basadas en datos, los cuales deben ser confiables, para que estas decisiones sean las ms acertadas. Cuando se ha implementado con xito Seis Sigma en la industria de software los beneficios que se pueden obtener son resultado de la mejora de los procesos internos, producto de una mayor capacidad de prediccin, lo que resulta en una mejora en la calidad de los productos o servicios, y por supuesto un incremento en la satisfaccin del cliente debido a una reduccin del ciclo de vida del proyecto, y reduccin de errores. La utilizacin de la metodologa DFSS y un fuerte enfoque en las etapas de anlisis y diseo reduce significativamente los defectos, el retrabajo durante la fase de pruebas, y como resultado aumenta la productividad durante todo el desarrollo del proyecto. Aunque muchos de los procesos de software no se pueden ubicar dentro de una distribucin normal de probabilidad, existen herramientas cuantitativas y cualitativas que se pueden utilizar para la recaudacin de datos para tomar decisiones para la mejora de los procesos.

18

8. Referencias Bibliogrficas Rajesh Naik. Leveraging Six Sigma in IT. Setiembre 2004. Jiju Antony y Craig Fergusson. Six Sigma in the Software Industry. 2004

Abid Ali, V Ramaswamy, Mona Pandya, Ashley Fernndez. Software Six Sigma DMAIC vs. DMADV in Software

Mercury Interactive. OUR SIX SIGMA-FRIENDLY APPROACH TO IT PROCESS IMPROVEMENT

Robert V. Binder. Six Sigma: Hardware Si, Software No! Lauren Heinz. Using Six Sigma in Software Development. 2004 Maneesh Aggarwal. Six Sigma Meets Software Development. Michael A. Roman. Six Sigma as PM Methodology. Bill Roach. Six Sigma Software Development.

19

9. Anexos Seis Sigma en Procesos de Software Erick Vargas Rodrguez erickvargas@gmail.com

Los procesos relacionados con el desarrollo de software estn generalmente asociados a la capacidad cognitiva de los profesionales que componen el equipo encargado del proyecto. El comportamiento de estos procesos se puede considerar amorfo comparado al comportamiento limitado, estricto, y altamente predecible de un proceso de manufactura. Seis Sigma aplica a procesos repetitivos cuantificables derivados de procesos idnticos. Este tipo de medida no puede ser aplicada al software sin un poco de imaginacin o esfuerzo, lo cual puede ser engaoso, pues no todos los procesos de software son iguales, pues no se consideran procesos repetitivos ni de produccin en masa. Entonces, puede realmente Seis Sigma aplicarse a procesos de software o servicios de TI en general? Desde una perspectiva terica si. Aunque los procesos de software se consideren difusos y difciles de medir, es algo que se puede lograr con un poco de trabajo, no es fcil, pero si posible. Las llamadas mtricas de software, creadas por la misma industria y compaas lderes en este campo, son un intento para trasladar a este tipo de procesos la capacidad cuantificable presente en los procesos y productos de la manufactura. Existen gran cantidad de mtricas para distintos campos de aplicacin, como las mtricas de anlisis de requerimientos, mtricas de especificacin, mtricas de diseo, mtricas de codificacin, mtricas de pruebas, y mtricas de mantenimiento.

20

Cada uno de estos grupos de mtricas se relaciona directamente con las etapas definidas para el Ciclo de Vida de un Proyecto de Desarrollo de Software. El uso de las mtricas adecuadas a un proceso de software en particular, junto a las herramientas y metodologas apropiadas provistas por Seis Sigma, pueden hacer de un proceso de software, un proceso de calidad. Las dos metodologas de Seis Sigma, DMAIC y DMADV, deben utilizarse en conjunto para garantizar una implementacin exitosa de esta estrategia en la industria de software. DMAIC puede utilizarse, junto a sus herramientas, en el Ciclo de Vida de Desarrollo de Software para mejorar cada uno de los procesos que la componen en cada una de las etapas del ciclo de software (Anlisis, Diseo, Implementacin, y Pruebas), y DMADV se aplica especficamente al desarrollo de un producto de software en particular. Cada una de estas metodologas presentan herramientas, que aunque no todas se pueden utilizar, hay algunas que se acoplan perfectamente a la tarea especfica de desarrollo de software. La idea de la implantacin de una estrategia como Seis Sigma en procesos de software, es incorporar procesos de calidad durante todas las etapas de desarrollo de software. Antes se acostumbraba realizar aseguramiento de calidad al final de cada etapa del ciclo de desarrollo, lo que resultaba generalmente en una gran cantidad de retrabajo para solucionar errores detectados al final. Con Seis Sigma, estos defectos se pueden evitar, e incluso detectar antes de su ocurrencia, al volver ms predecible los procesos que antes eran no tan predecibles en desarrollo de software. Adems de la definicin de mtricas cuantificables, y de la aplicacin de la metodologa y herramientas adecuadas, es necesario tener en mente que hay algunos aspectos

21

base de Seis Sigma que no deben ser tomados tan literalmente. La perfeccin que busca Seis Sigma, de 3.4 defectos por milln, debe adecuarse a la industria de software, pues puede resultar frustrante tratar de alcanzar esta meta. La idea de aplicar Seis Sigma en software, es volver sus procesos ms predecibles y menos propensos a errores, por lo que alcanzar una meta de 3.4 defectos por milln de lneas de cdigo (0.0034 fallas por KLOC) puede resultar un poco confuso y difcil de alcanzar muchas veces, pues esto requerira procesos de software muchsimo mejores que las mejores prcticas de hoy en da. En general, Seis Sigma ha sido, y es un xito para industrias como la manufactura y los servicios. Dada su naturaleza la industria del software puede aplicar Seis Sigma para alcanzar un nivel de perfeccin en sus procesos que no es comparable con los niveles alcanzados en otros tipo de industrias, pero que de una forma u otra, puede resultar en una reduccin significativa del tiempo de duracin del ciclo de desarrollo, reduccin de defectos, aumento en la calidad, y por supuesto, un incremento en la satisfaccin del cliente, que al fin y al cabo, es la meta principal que busca Seis Sigma.

También podría gustarte