UNIVERSIDAD DE COLIMA -...

137
UNIVERSIDAD DE COLIMA FACULTAD DE TELEMÁTICA MPMPES: Modelo de Procesos para Micro y Pequeñas Empresas Desarrolladoras de Software TESIS Que para obtener el grado de Maestría en Computación PRESENTA Emilio Damián Bueno Vélez ASESOR Dr. Nicandro Farías Mendoza COASESOR Dr. Víctor Hugo Castillo Topete Colima, Colima. Enero de 2012

Transcript of UNIVERSIDAD DE COLIMA -...

Page 1: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

UNIVERSIDAD DE COLIMA FACULTAD DE TELEMÁTICA

MPMPES: Modelo de Procesos para Micro y Pequeñas

Empresas Desarrolladoras de Software

TESIS Que para obtener el grado de

Maestría en Computación

PRESENTA

Emilio Damián Bueno Vélez

ASESOR

Dr. Nicandro Farías Mendoza

COASESOR

Dr. Víctor Hugo Castillo Topete

Colima, Colima. Enero de 2012

Page 2: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

RESUMEN

El presente trabajo muestra el desarrollo de un Modelo de Procesos para Micro y

Pequeñas Empresas Desarrolladoras de Software, que sirva de guía para

empresas de este tipo que sea fácil de entender, aplicar y económico de adaptar

y en consecuencia que asegure la calidad de los productos y servicios

generados por la organización.

Se delinea la problemática general de las micro y pequeñas empresas

desarrolladoras de software para aplicar algún estándar ó modelo, así como

estudios que demuestran el interés de adopción de estos en los procesos de las

micro y pequeñas empresas.

Se presenta un análisis de las metodologías tradicionales y su contraparte las

metodologías ágiles, puntualizando sus diferencias en funcionalidad y

características de negocio en las micro y gran empresas.

Por parte de las metodologías ágiles se muestra un análisis en base a procesos,

roles, prácticas y entorno de uso, que tiene como finalidad especificar las

diferencias entre las metodologías ágiles seleccionadas.

Finalmente se muestra el modelo para el desarrollo así como los niveles que lo

integran, descrito cada nivel a través de sus procesos, productos generados y

actividades de los mismos.

Page 3: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

ABSTRACT

The present work shows the development of a Process model for Very Small

enterprises that Develop Software Components, which uses as guide for

companies of this type that is easy to deal, applying and economically of

adapting and in consequence that assures the quality of the products and

services generated by the organization.

There is delineated the general problematic of the very small enterprises that

develop software components to apply some standard or model, as well as

studies that demonstrate the interest of adoption of these in the processes of the

very small enterprises.

One presents an analysis of the traditional methodologies and his counterpart the

agile methodologies, specifying their differences in functionality and

characteristics of business in the very small and large companies.

On the part of the agile methodologies an analysis appears on the basis of

processes, roles, practices and environment of use, which has as purpose,

specify the differences between the agile selected methodologies.

Finally, we show the model for the development and the levels within it, each

level described through their processes, products and activities generated them.

Page 4: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

ÍNDICE

CAPÍTULO I CONTEXTO DEL PROBLEMA 1.1 Introducción ................................................................................................ 2

1.2 Antecedentes del trabajo a investigar ......................................................... 3

1.3 Trabajos relacionados ................................................................................. 6

1.4 Descripción del problema a investigar ...................................................... 13

1.5 Justificación .............................................................................................. 14

1.6 Los objetivos que se persiguen ................................................................. 17

1.6.1 Objetivo general ................................................................................. 17

1.6.2 Objetivos específicos .......................................................................... 17

1.7 Hipótesis del trabajo .................................................................................. 18

1.8 Descripción de la organización del trabajo ................................................ 18

1.9 Metodología .............................................................................................. 23

CAPÍTULO II ESTADO DEL ARTE 2.1 Proyectos de software ............................................................................... 25

2.2 Factores de riesgo en el desarrollo de software ....................................... 26

2.3 Ingeniería de software ............................................................................... 29

2.4 Calidad de software .................................................................................. 31

2.5 Micro y pequeñas empresas ..................................................................... 38

2.6 Metodologías para desarrollo de software ................................................ 49

2.6.1 Modelo secuencial .............................................................................. 50

2.6.2 Modelos iterativos e incrementales .................................................... 51

2.6.3 Modelo en espiral ............................................................................... 53

2.7 Metodologías ágiles para desarrollo de software .......................................... 54

2.8 Análisis metodologías ágiles para desarrollo de software ......................... 66

2.8.1 eXtreme Programming (XP) ............................................................... 66

2.8.2 Scrum ................................................................................................. 75

Page 5: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

ÍNDICE (continuación…)

2.8.3 Metodologías Crystal .......................................................................... 91

2.8.4 Método de desarrollo de sistemas dinámicos (DSDM) ....................... 95

CAPÍTULO III DESARROLLO DEL MODELO MPMPES 3.1 Modelo propuesto para el desarrollo ....................................................... 104

3.2 Gerencia (GER) ...................................................................................... 106

3.2.1 Gestión de negocio, proyectos y recursos ........................................ 106

3.3 Operación ............................................................................................... 117

3.3.1 Administración de proyectos (OPE.1) ............................................... 117

3.3.2 Desarrollo y mantenimiento de software (OPE.2) ............................. 119

CAPÍTULO IV CONCLUSIONES 4.1 Conclusiones .......................................................................................... 126

4.2 Trabajo Futuro ........................................................................................ 127

BIBLIOGRAFÍA ............................................................................................ 129 

Page 6: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

Índice de Figuras

Fig. 1. Principales estándares y modelos ........................................................... 6

Fig. 2. Modelo y metodologías ágiles a utilizar en MPMPES ............................ 20

Fig. 3. Niveles del modelo de procesos MoProSoft .......................................... 47

Fig. 4. Representación del modelo en cascada (Waterfall) ............................... 50

Fig. 5. Representación del modelo incremental ................................................ 51

Fig. 6. Representación del modelo iterativo ...................................................... 52

Fig. 7. Representación del modelo en espiral ................................................... 53

Fig. 8. Mejor documentación de las metodologías ágiles ................................. 64

Fig. 9. Fases de XP .......................................................................................... 67

Fig. 10. Fases de SCRUM .................................................................................. 77

Fig. 11. Gráfico a partir de lista de requisitos en SCRUM ................................... 89

Fig. 12. Gráfico a partir de horas pendientes de iteración en SCRUM ............... 90

Fig. 13. Iteración en Crystal ................................................................................ 93

Fig. 14. Fases de DSDM ..................................................................................... 96

Fig. 15. Niveles de MPMPES ............................................................................ 105

Fig. 16. Procesos de la gestión de negocio (GER) ........................................... 109

Fig. 17. Proceso planificación de recursos (GER) ............................................ 110

Fig. 18. Procesos de bienes, servicios e infraestructura (GER) ........................ 112

Fig. 19. Procesos de plan recursos humanos y capacitación (GER) ................ 114

Fig. 20. Procesos de plan de conocimiento de la organización (GER) ............. 116

Fig. 21. Procesos de administración de proyectos ........................................... 119

Fig. 22. Procesos de desarrollo y mantenimiento de software .......................... 123

Fig. 23. Mapa general MPMPES....................................................................... 124

Page 7: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

Índice de Tablas

Tabla 1. Tamaño de las empresas desarrolladoras de software en México ....... 14

Tabla 2. Tamaño de las empresas desarrolladoras de software en Montreal ..... 40

Tabla 3. Repartición de las MPE en México por sector ...................................... 41

Tabla 4. Diferencias entre una pequeña y gran empresa ................................... 42

Tabla 5. Empresas en México que adoptaron algún modelo de procesos .......... 48

Tabla 6. Diferencias entre metodologías agiles y metodologías tradicionales .... 62

Tabla 7. Ranking de agilidad de las diferentes metodologías ágiles................... 63

Tabla 8. Lista de Objetivos en Scrum ................................................................. 84

Tabla 9. Lista de tareas de la iteración en Scrum ............................................... 86

Page 8: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

1

CAPÍTULO I

Contexto del

Problema

Page 9: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

2

1.1 Introducción El incremento en la calidad de los procesos en una empresa desarrolladora de

software es fundamental para competir, adaptarse y sobrevivir en el mercado

internacional. En el desarrollo de software, la ingeniería de software toma un

papel muy importante ya que origina el desarrollo, operación y mantenimiento de

software, a través de planteamientos sistemáticos, disciplinados y cuantificables

al desarrollo, operación y mantenimiento de software y se ha demostrado que

las empresas internacionales promueven la calidad de software implantando

ingeniería de software (Laporte, Alexandre et al. 2008).

La industria de software reconoce las Micro y Pequeñas Empresas (MPEs, Very

Small Enterprises, VSEs por sus siglas en inglés) por su importante contribución

de productos y servicios. Un ejemplo claro del crecimiento de las Micro y

Pequeñas Empresas es la industria de software Irlandés un componente clave

para la economía nacional de Irlanda. Acorde a las empresas en Irlanda, al final

de 2004 alrededor de 750 empresas de software contrataron casi 12,000

personas, sin embargo, la mayoría de estas empresas de software son micro

empresas de las cuales el 1.9% tiene más de 100 empleados y más del 60%

tiene 10 empleados o menos (Laporte 2008).

Para lograr la calidad en sus productos y servicios las MPEs son atraídas por las

metodologías ágiles, estándares fáciles de implementar, que acorten el tiempo

de desarrollo del software proporcionando una mejor flexibilidad para cumplir sus

objetivos de negocio. Para lidiar con las limitaciones en recursos las MPEs

necesitan asesoramientos cortos, ligeros, fáciles de entender e implantar, por

consiguiente las MPEs demandan la mejora en los procesos para el desarrollo

de software, aunque lo manifiestan como un gran desafío (López 2003).

Page 10: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

3

1.2 Antecedentes del trabajo a investigar

Los objetivos principales de la ingeniería de software son desarrollar, operar y

mantener el software. El desarrollo de software y asegurar la calidad del mismo

es una disciplina distinta, ya que las propiedades del software no son las mismas

que la ingeniería civil, mecánica o eléctrica, es por esto que los atributos para

asegurar la calidad del software son difíciles de especificar y planear, sin

embargo, el uso de estándares internacionales garantiza, (Joannou 2007):

Agrupar lo mejor y más apropiado de las buenas prácticas y usos del

desarrollo de software.

Englobar los conocimientos.

Proporcionar un marco para implementar procedimientos de

aseguramiento de la calidad.

Proveer continuidad y entendimiento entre el trabajo de personas y

organizaciones distintas.

La implantación de la ingeniería de software y los estándares internacionales,

conforman un área llamada ingeniería en las empresas, que integra disciplinas

ya establecidas, a lo largo de una década esta área a emergido y es definida

como un conjunto de conocimientos, principios y prácticas que tienen relación

con el análisis, diseño, implementación y operación de una empresa (Joannou

2007).

Los elementos que integran una disciplina en la empresa son:

Campo de estudio, conocimiento o experiencia;

Reglas de conducta o métodos de práctica; y

Métodos para asegurar la aplicación de reglas.

Page 11: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

4

Integrar disciplinas en una empresa, sistemas e ingeniería de software requiere

integrar también:

Materiales de desarrollo profesional: pruebas de certificación.

Estándares en la organización: IEEE and the International

Organization for Standardization (ISO).

Disciplinas: empresa, sistemas, software y calidad.

Niveles de administración: empresa y proyecto.

Jerarquías de productos: sistemas de sistemas.

Objetivos de área: confiabilidad, dependencia y seguridad; y

Niveles de prescripción: principios, estándares y directrices (Joannou

2007).

La implantación de los estándares en la organización es un reto continuo, con

una constante actualización a las necesidades de las empresas, evolucionando

y formando parte importante del estado de arte de las tecnologías de software.

La aplicación de estándares en la empresa, asegura la solución del fenómeno

crisis del software, han sido muchas las organizaciones que han abordado, con

mayor o menor rigor, el análisis de problemas en el desarrollo de sistemas de

software. Sus trabajos se han encaminado a la localización de las causas; y a la

exposición en textos didácticos, normativos o estándares de procesos o

prácticas necesarias para abordar el desarrollo, mantenimiento y operación con

las mayores garantías de éxito (Joannou 2007).

En su mayoría los departamentos de universidades, organismos de

normalización o investigación nacionales o internacionales, sociedades de

profesionales, departamentos de defensa, departamentos de calidad y procesos

de empresas los que han ido generando normas y estándares.

Se considera como entidades de mayor reconocimiento internacional, por sus

trabajos y esfuerzos realizados para la normalización, y reconocimiento de la

ingeniería del software a: ISO, IEEE- Computer Society y SEI (Mochi 2006).

Page 12: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

5

ISO

ISO (International Organization for Standardization) fue fundada en 1947 con 87

países miembros, en 1987 la ISO y IEC (International Electrotechnical

Commission), establecieron un Comité Internacional (JTC1) para las

Tecnologías de Información (Derniame, Ali Kaba et al. 1999).

La misión del JTC1 es la estandarización en el campo de campo de los sistemas

de tecnologías de la información, incluyendo microprocesadores y equipos. Los

estándares o instrucciones técnicas más importantes para la ingeniería de

software:

• ISO/IEC 12207

• ISO/IEC TR 15504

SEI

SEI (Software Engineering Institute) integrado en la Universidad Carnegie

Mellon, los trabajos y aportaciones realizadas por el Instituto son también

referente mundial de primer orden, siendo la aportación más significativa los

modelos de madurez de las capacidades: CMM y CMMI. Ambos modelos han

demostrado su efectividad en los casi 15 años de implantación efectiva en

entornos de producción de software:

• Como marco de referencia para mejora de procesos, y

• Como criterio de evaluación para determinar la madurez, y por tanto fiabilidad

de resultados previsibles de una organización de software (Derniame, Ali Kaba

et al. 1999).

IEEE Computer Society

IEEE (Institute of Electrical and Electronics Engineers) surgió en 1963 con la

fusión del AIEE (Instituto Americano de Ingenieros Eléctricos) y el Instituto de

Ingenieros de Radio (IRE). Su misión es preservar, investigar y promover la

información de tecnologías eléctricas y electrónicas. La IEEE Computer Society

es una sociedad integrada en IEEE, formada en la actualidad por más de

Page 13: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

6

100,000 miembros en todo el mundo, su finalidad es avanzar en la teoría,

práctica y aplicación de las tecnologías de la información. Realiza conferencias,

publicaciones, cursos de formación, y desarrolla Estándares (Mochi 2006).

La figura 1 muestra los principales estándares y modelos de las entidades más

importantes:

Fig. 1. Principales estándares y modelos

(Mochi 2006)

1.3 Trabajos relacionados

En el mercado internacional actual, nos encontramos con una demanda de

productos y software de calidad, y la necesidad de proveer a las MPEs,

estándares adaptados a la medida, fáciles de implementar y fiables, además el

proporcionar una guía para la adaptación de los mismos. (Watts and Wesley

2000) y (Laporte, Alexandre et al. 2008), comparten los objetivos de

proporcionar estándares a las MPEs:

Realizar estándares para software, accesibles para MPEs.

Page 14: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

7

Proveer documentación, de requerimientos mínimos, a la medida y de

adaptación de esfuerzo.

Proveer documentación integrada, disponible a los procesos de los

estándares.

La mayor parte de los estudios y encuestas por (Laporte 2008) confirman que la

ingeniería de software actual no completa todas las necesidades de las

organizaciones, especialmente aquellas con poco nivel de capital.

Investigaciones muestran que las MPEs encuentran complicado relacionar los

estándares ISO a las necesidades de su negocio y justificar la aplicación de

esos estándares a sus prácticas de negocio. La mayor parte de las MPEs no

pueden pagar los recursos en cuestión, por el número de empleados, costo y

tiempo, o buscar un beneficio en establecer el proceso de software en un ciclo

de vida.

Grupo WG24

(Laporte 2008) y el grupo WG24, en sus estudios y encuestas realizadas

definieron los requerimientos específicos de las MPEs, para poder implementar

estándares como ISO/SC7, además de recolectar información para identificar

problemas y soluciones potenciales, que puedan ayudar a aplicar estándares en

las MPEs y así hacerlas más competitivas:

El contexto de la MPE requiere un perfil de ciclo de vida dedicado y ligero.

Contextos particulares del negocio requieren perfiles particulares.

Existen diferencias significantes en los terminas de recursos disponibles e

infraestructura entre una MPE que emplea de 1 a 10 personas y un

departamento IT del mismo tamaño en una empresa grande.

Las MPE son limitadas tanto en tiempo y recursos, donde se debe lidiar

con el desconocimiento de entender como los estándares las van a

beneficiar.

Page 15: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

8

Los beneficios para las MPEs deberán de incluir el reconocimiento de un

asesor o auditor por un cuerpo acreditado.

La integración de estándares en el área de procesos de software en la empresa

es de gran importancia, sin embargo en las MPEs no es habitual, (Garcia and

Suarez 2007) plantean una vista general de la administración de proyectos

usando un cuestionario de dos fases, para identificar procesos realizados y no

realizados. El cuestionario que se propone está basado en las áreas de

procesos del Nivel 2 de Capability Maturity Model Integration for Development

v1.2. Se espera que la aplicación del cuestionario a los procesos, ayude a las

MPEs a identificar:

Procesos y prácticas que han sido realizadas pero no documentadas.

Procesos que necesitan mayor atención.

Procesos que no han sido implementados por mala administración ó

desconocimiento.

El cuestionario utiliza preguntas cerradas y límites en el número de las posibles

respuestas. Este organizado de la siguiente manera:

Respuestas-Realizadas-Nivel 5: Siempre, usualmente, algunas veces,

rara vez y nunca.

2 Respuestas de Validación: No lo sé y no aplica.

Espacios adicionales de Información: Comentarios.

Cada respuesta involucra una única interpretación e indica el nivel de

rendimiento en base a PMP (Performance Level Classification).

Aunque modelos como CMMI and ISO/IEC 15504, son ofrecidos a las

organizaciones para mejorar sus procesos, existen muchas empresas que no los

Page 16: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

9

usan, con el cuestionario propuesto se busco evaluar el estado actual en las

practicas de administración de procesos.

Existen estándares internacionales para empresas de software, sin embargo

fueron concebidos para grandes empresas, las nuevas investigaciones y

propuestas buscan acotar estos estándares, para aplicarlos en las MPEs.

Los estándares internacionales para mejora de procesos, como ISO/IEC

JTC1/SC7, son difíciles de adaptar a las MPEs, la utilización de metodologías

ágiles junto con estos estándares, puede llegar a una fusión empírica que se

ajuste a las necesidades de las MPEs. (Mc Caffery, Taylor et al. 2007)

determinan que limitadas en recursos y tamaño, MPEs desarrolladoras de

software, buscan mejora en sus procesos para mayor competitividad, en un

escenario anterior las empresas de software se enfocan en tiempo para

mercadeo, innovación y creatividad así a menudo ignoran modelos SPI como

CMM y CMMI, cuyo principal objetivo inicial es lograr estabilidad y previsibilidad.

Entonces, para realizar los objetivos del negocio, las MPEs muestran un

incremento hacia las metodologías ágiles, que prometen desarrollos rápidos en

tiempo y una mejor flexibilidad en la implementación del producto.

Los métodos ágiles son procesos empíricos que requieren frecuente revisión y

respuesta en implementación. No son fácilmente evaluados usando ISO/IEC

15504 y CMMI, aunque se puede usar la estructura de algunos métodos como

Scrum y XP hasta ISO 900117 y los niveles CMMI 2 y 3.

La utilización de estándares en la empresa, acopla toda la estructura

organizacional y disciplinas de la empresa, (Joannou 2007) identifica que

Integrar las disciplinas de la empresa, sistemas e ingeniería de software

requiere integrar:

Material de desarrollo profesional: entrenamiento, examinación y

certificación.

Estándares para el desarrollo de la empresa: IEEE e ISO

Page 17: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

10

Disciplinas: empresa, sistemas, software y calidad.

Niveles de administración: empresa y proyectos.

Jerarquías en productos: sistemas de sistemas.

Áreas de objetivo: estabilidad, dependencia, seguridad.

Niveles de prescripción: principios, estándares y guías base.

En Latinoamérica y específicamente en México, investigaciones por grupos

internacionales, integran estándares y modelos para acotarlos a la estructura de

las MPEs, (Laporte 2008) concluyen que, en México, se consideran estándares

como ISO/IEC 12207, ó modelos como CMMI, que son muy generales ó muy

costosos para las empresas mexicanas. Un Modelo de Procesos mexicano fue

desarrollado después de una solicitud por el ministro de economía, este provee

a la Industria Mexicana de Software un modelo basado en prácticas

internacionales y con las siguientes características:

Fácil de entender;

Fácil de aplicar;

Económico de adaptar;

Como base, puede lograr evaluaciones exitosas con otros Estándares o

modelos, como ISO 9000:200 o CMMI®

Este modelo está dividido en cuatro partes:

1. Definición de Conceptos y Productos;

2. Requerimiento de Procesos (MoProSoft);

3. Guías para Implementación de Procesos;

4. Guías para Evaluación de Procesos.

El Modelo de Procesos MoProSoft utiliza ISO/IEC 12207 como su estructura

general, así como procesos de: ISO9000:2000, CMMI®, Project Management

Body of Knowledge (PMBOK) y de Software Engineering Body of Knowledge

Page 18: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

11

(SWEBOK). MoProSoft también almacena, el modelo de Proceso de

Requerimientos de ISO/IEC 15504-2 (Secretaria de Economia 2004).

El porcentaje de cobertura por MoProSoft respecto a estas prácticas es:

ISO 9001:2000 92%

ISO/IEC 12207 95%

CMMI level 2 77%

MoProSoft se enfoca principalmente en los procesos y considera tres bases

organizacionales o niveles estructurales donde los procesos son organizados:

1. Alta Dirección, contiene la gestión de los procesos del negocio, su

propósito es establecer la razón de existencia de la organización, sus

objetivos y las condiciones requeridas para lograrlos.

2. Gerencia, consiste en la gestión de Procesos, gestión de Proyectos y

gestión de Recursos.

3. Operación, consiste en la gestión de Proyectos Específicos, Desarrollo y

Mantenimiento de Software.

La integración de los estándares en la empresa muestra un avance sin embargo

aun no es común, que se implementen estándares en MPEs, (Laporte 2008), en

encuestas e investigaciones obtuvieron que los datos arrojados muestran una

diferencia marcada en el porcentaje de compañías certificadas en proporción a

su tamaño: menos del 18% de MPEs están certificadas, mientras que el 53% de

grandes compañías (de las cuales tienen más de 25 empleados) reclaman ser

certificadas. Entre el 82% de las MPEs no tienen certificación alguna. En

grandes empresas que usan Estándares, dos familias de Estándares y modelos

emergen en la lista:

Page 19: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

12

Estándar ISO (55%)

Modelos de Software Engineering Institute (47%)

WG24 anticiparon el débil uso de estándares por las MPEs, preguntando sobre

las razones de esto, los motivos que predominaron son:

1. Carecer de recursos (28%)

2. Los estándares no son requeridos (24%)

3. La naturaleza de los estándares, 15% de las respuestas consideraron que

los estándares son difíciles-burocráticos y no proveen la adecuada guía

para el uso en el entorno de negocios de MPEs.

Tres cuartos de las MPEs externan que es importante que sean evaluadas por

un estándar certificado, 40% de ellas solicitan certificación ISO.

Desde la perspectiva de la MPE, los beneficios que se tienen con la certificación

son: incrementar la competitividad, mayor confidencia y satisfacción del cliente,

mayor calidad en el producto software, mejora en los procesos, decremento en

el riesgo de desarrollo, facilidad de comercialización y gran potencial de

exportación (Laporte, Alexandre et al. 2008).

Sin embargo, las MPEs también expresan la necesidad de asistencia para

adoptar e implementar estándares: más del 62% desean mas guías con

ejemplos, y el 55% preguntaron por estándares ligeros y de fácil entendimiento

completo y con plantillas. Finalmente, las demandas indican sí puede ser posible

implementar estándares con el mínimo costo, tiempo y recursos.

En esto identificamos que las empresas creen que es de gran importancia

certificarse con algún estándar, aun siendo la empresa de tipo MPE (Laporte,

Alexandre et al. 2008).

Page 20: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

13

1.4 Descripción del problema a investigar La industria reconoce que las Micro y Pequeñas Empresas Desarrolladoras de

Software (MPEs) tienen una importante contribución en la economía mundial,

desarrollando partes importantes de software que son fácilmente integrados en

empresas de mayor tamaño.

Estándares internacionales y modelos como ISO/IEC12207 ó CMMI, fueron

desarrollados para agrupar lo mejor y más apropiado de las buenas prácticas y

usos del desarrollo de software, sin embargo estos estándares no han sido

diseñados para MPEs (integradas desde 1 a 25 empleados), y por consecuencia

es difícil aplicarlos en ellas (Laporte 2008).

Investigaciones muestran que las MPEs, tienen percepciones negativas de los

estándares y modelos de procesos, primariamente por el alto costo,

documentación excesiva y burocracia. Como adición las MPEs muestran

dificultad al relacionar estándares como ISO/IEC 12207 a las necesidades de su

negocio y justificar la aplicación de un estándar internacional de este tipo en sus

operaciones (Laporte 2008).

La mayor parte de las MPEs, no tienen los recursos necesarios para la

aplicación de un estándar de gran tamaño, y por consiguiente no ven redituable

su implantación (Laporte, Alexandre et al. 2008).

México cuenta con una posición favorable para convertirse en un competidor de

talla mundial en el ramo de la industria de software, gracias a su ubicación

geográfica, perfil demográfico y estado de desarrollo tecnológico. No obstante el

potencial de desarrollo es evidente, la industria de software es apenas incipiente

en nuestro país: participa con tan sólo el 0.10% del PIB (cifras de 2000). Aunque

no existe un padrón exhaustivo de esta industria que proporcione información

exacta, una muestra de 206 empresas desarrolladoras de software muestra el

perfil actual de la industria que es mayoritariamente micro y pequeña, con un

Page 21: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

14

tamaño muy inferior al del promedio internacional, que es de 250 empleados

(Secretaria de Economia 2009).

Tabla 1. Tamaño de las empresas desarrolladoras de software en México

(Secretaria de Economia 2009)

1.5 Justificación Existen puntos clave que son de beneficio para los clientes de las

organizaciones dedicadas al desarrollo y mantenimiento de software como son:

Certidumbre, ya que las empresas verificadas deben llevar a cabo sus

actividades con prácticas validadas por las normas mexicanas.

Calidad, porque al llevar a cabo buenas prácticas de desarrollo y

mantenimiento de software los resultados son medibles

Capacidad, ya que los procesos con los que se desarrolla ó mantiene el

software son repetibles (Alvarez 2009).

Las buenas prácticas de desarrollo y mantenimiento de software son el pilar

fundamental en el que las organizaciones dedicadas a esta actividad centran el

logro de sus objetivos de negocio, de esta forma los clientes se aseguran que

Page 22: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

15

las organizaciones son capaces y cumplen correctamente con su objetivo que es

el desarrollo de software de calidad.

Se estima que en 2006 existían en México 4’290,108 empresas, de las cuales el

99.8 por ciento son Micro, Pequeñas y Medianas Empresas.

Una microempresa se considera a la que tiene entre 0 y 10 trabajadores. Esto

es así, independientemente de que el negocio se dedique a la industria, al

comercio o los servicios (Secretaria de Economia 2009).

Ventajas de las Micro Empresas:

Las microempresas son un motor de crecimiento económico y de empleo

fundamental para el país ya que, de acuerdo a resultados del último censo

económico del INEGI:

De cada 100 empresas mexicanas 96 son microempresas.

Contribuyen con el 40.6% del empleo.

Aportan el 15% del PIB.

Desventajas de las Micro Empresas:

La competitividad y productividad de las microempresas, sobre todo de las de

tipo tradicional está siendo amenazada por la incorporación de modernos

conceptos de negocio, que evidencian:

Limitada profesionalización.

Crecimiento desordenado.

Rezago tecnológico.

Altos consumos de energía.

Imagen comercial descuidada e insalubre.

Administración informal.

Limitados accesos al financiamiento (Alvarez 2009).

Page 23: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

16

Hasta el momento se han registrado 138 empresas evaluadas en algún proceso

de calidad en 20 Estados de la República Mexicana: Aguascalientes, Baja

California, Chihuahua, Coahuila, Colima, DF, Hidalgo, Jalisco, México,

Michoacán, Nuevo León, Oaxaca, Puebla, Querétaro, Sinaloa, Sonora,

Tlaxcala, Veracruz, Yucatán y Zacatecas (Secretaria de Economia 2009).

Las empresas desarrolladoras de software demandan el uso de estándares

internacionales como ISO/IEC JTC1/SC7 conforme el incremento en la calidad

del software avanza, los procesos maduran y obtienen confianza en la misma,

sin embargo, estos estándares no fueron escritos para el desarrollo de MPEs

(integradas desde 1 a 25 empleados). México se ve afectado por este problema:

• La productividad de las empresas desarrolladoras de software es en general

baja, debido a la falta de uso de procesos avanzados. Esto les impone una

fuerte desventaja para competir frente a oferentes de otros países.

• México carece de centros tecnológicos que ofrezcan servicios de mejora y

aseguramiento de la capacidad de procesos de las empresas.

• Se carece de modelos, normas y de organismos evaluadores de la capacidad

de procesos de la producción de software. Las evaluaciones internacionales

de capacidad de procesos son costosas.

• Debido a la inexistencia de metodologías que permitan medir y evaluar la

calidad de software que se adquiere, los compradores locales se enfocan

más al precio que a la calidad (Secretaria de Economia 2009).

Desarrollar e Implantar un Modelo de Procesos apegado a los estándares

internacionales para el desarrollo de software aseguramos en las MPEs la

calidad en sus productos y servicios donde se obtienen beneficios como:

Incremento en la competitividad.

Mayor confidencia y satisfacción del cliente.

Page 24: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

17

Mayor calidad en el producto software.

Mejora en los procesos.

Decremento en el riesgo de desarrollo.

Facilidad de comercialización y gran potencial de exportación (Laporte

2008).

Contar con un Modelo de Procesos especifico para MPEs crea condiciones para

que nuestro país y cualquier otro con empresas de tipo MPE asegure una

industria de software competitiva internacionalmente y desarrolle su crecimiento

en el corto plazo.

1.6 Los objetivos que se persiguen 1.6.1 Objetivo general

Crear un Modelo de Procesos para Micro y Pequeñas Empresas (MPEs)

Desarrolladoras de Software que asegure la calidad de sus productos y servicios

conforme a los Estándares Internacionales de Calidad.

1.6.2 Objetivos específicos

Generar un Modelo de Procesos que sirva de aplicación en empresas

reales, que demanden implementar un estándar que se apegue a la

estructura de Micro o Pequeña empresa.

Promover el uso de Estándares en las Micro y Pequeñas Empresas en

México.

La industria de software reconoce las Micro y Pequeñas Empresas por su

importante contribución de productos y servicios. Sin embargo, estándares

internacionales como ISO/IEC JTC1/SC7 no fueron escritos específicamente

Page 25: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

18

para estas (integradas desde 1 a 25 empleados) y por consecuencia es difícil

aplicarlos.

Originar el desarrollo Nacional e Internacional de las Micro y Pequeñas

Empresas.

En un mundo de creciente competitividad, las empresas deben mostrar un

carácter evolutivo y dinámico, donde la capacidad de adaptación a cambios

estratégicos no afecte la estructura organizacional, aplicar un estándar en las

MPEs, certifica que la producción de la misma se apega a estándares

internacionales de calidad.

1.7 Hipótesis del trabajo Desarrollar un Modelo de Procesos específico para MPEs apegado a

Estándares Internacionales, Modelos de Procesos y Metodologías Agiles para

Desarrollo de Software, crea condiciones para asegurar la calidad de los

productos y servicios de las MPEs.

1.8 Descripción de la organización del trabajo En este trabajo de investigación se aplicara el Modelo MoProSoft, así como

metodologías ágiles para elaborar un Modelo de Procesos para Micro y

Pequeñas Empresas Desarrolladoras de Software, que cumpla con los objetivos

que estas empresas requieren para la aplicación de estándares como ISO/IEC

12207, ó modelos como CMMI, acotándolo a las necesidades que una Micro o

Pequeña Empresa necesita para poder implantar un Modelo de Procesos que

sea:

Fácil de entender.

Fácil de aplicar;

Page 26: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

19

Económico de adaptar;

Ser un Modelo confiable, para lograr evaluaciones exitosas con otros

estándares o modelos, como ISO 9000:200 o CMMI®.

El capítulo 1 está compuesto por el contexto del problema donde se presenta la

descripción del problema a investigar, antecedentes y trabajos relacionados, así

como la descripción de los objetivos generales y específicos que se persiguen

en el trabajo de investigación.

El capítulo 2 se conforma por el estado del arte donde se muestra de lo general

a lo específico definiciones de un proyecto software y la importancia de la

ingeniería de software en la calidad de un producto de este tipo. Las

características propias de una MPE, así como un análisis de metodologías agiles

a utilizar en el desarrollo del modelo de procesos propuesto.

El capítulo 3 se exhibe la propuesta del modelo de procesos y sus

características, además de detallar cada nivel en sus requisitos, tareas y

herramientas a utilizar, complementándolo con su gráfico correspondiente a

cada nivel.

Por último el capítulo 4 establece las conclusiones obtenidas en el proceso del

trabajo de investigación así como el trabajo futuro que se puede desarrollar en

base a las experiencias obtenidas.

En la figura 2 se observan las metodologías y modelo a utilizar en el Modelo de

Procesos para Micro y Pequeñas Empresas Desarrolladoras de Software

(MPMPES).

Page 27: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

20

Fig. 2. Modelo y metodologías ágiles a utilizar en MPMPES

La fase inicial requiere actividades de recolección de información, incluyendo

datos bibliográficos y datos experimentales. Los datos a investigar contienen

referencias sobre el uso de estándares y metodologías en las Micro y Pequeñas

Empresas, estadísticas de aplicación de estándares a nivel nacional e

internacional y datos recolectados de empresas que indiquen la importancia de

usar un estándar en ellas. Así mismo presentaré datos de la demanda actual

para las empresas y específicamente las micro y pequeñas en implantar

estándares que sean adaptados a su medida y su contexto en particular,

incluyendo un conjunto de guías y perfiles.

El Modelo de Procesos se considera apegado a MoProSoft en conjunto con

metodologías ágiles de desarrollo de software, se definen los conceptos básicos

pare describirlo:

Page 28: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

21

Categoría de procesos: Un conjunto de procesos que abordan la misma área

general de actividad dentro de una organización.

Proceso: Conjunto de prácticas relacionadas entre sí, llevadas a cabo a través

de roles y por elementos automatizados, que utilizando recursos y a partir de

insumos producen un satisfactor de negocio para el cliente.

Objetivo: Fin a que se dirige o encamina una acción u operación.

Indicador: Mecanismo que sirve para mostrar o significar una cosa con

evidencias y hechos.

Rol: Es responsable por un conjunto de actividades de uno o más procesos. Un

rol puede ser asumido por una o más personas de tiempo parcial o completo.

Producto: Cualquier elemento que se genera en un proceso.

Práctica: Un conjunto de elementos, tales como actividades, roles,

infraestructura y mediciones, que al llevarse a cabo describen la ejecución de un

proceso.

Actividad: Conjunto de tareas específicas asignadas para su realización a uno o

más roles.

Verificación: Actividad para confirmar que el producto refleja propiamente los

requerimientos especificados para él.

Validación: Actividad para confirmar que el producto resultante es capaz de

satisfacer los requerimientos para su aplicación especificada o uso previsto.

Page 29: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

22

Flujo de trabajo: Esquema que expresa las relaciones entre las actividades de

un proceso. Una relación puede ser secuencial, paralela, cíclica, de selección o

anidada.

Guía de ajuste: Modificación a las prácticas, entradas y salidas de un proceso,

siempre y cuando no afecten al cumplimiento de sus objetivos.

Gestión: Hacer diligencias conducentes al logro de un negocio.

Administración: Organizar trabajo y disponer recursos.

Organización: Empresa o área interna de una organización dedicada al

desarrollo y/o mantenimiento de software.

Infraestructura: Conjunto de elementos o servicios que se consideran

necesarios para la creación y funcionamiento de una organización.

Medición: Acción o efecto de medir.

Base de conocimiento: Es un repositorio de todos los productos tales como

productos de software, planes, reportes, registros, lecciones aprendidas y otros

documentos.

Situación excepcional: Circunstancia que impide el desarrollo de una actividad.

Lección aprendida: Experiencia positiva o negativa obtenida durante la

realización de alguna actividad.

Prospección: Estudio de la potencialidad o de la capacidad que tiene alguna

cosa para producir o dar resultados en el futuro, a partir del análisis de los datos

reunidos previamente (Oktaba 2007).

Page 30: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

23

1.9 Metodología

El proyecto se desarrollará siguiendo los procesos considerados en MoProSoft y

las metodologías ágiles, integrando las fases del ciclo de vida tradicionales con

los procesos de administración de proyectos y los procesos de soporte

necesarios para un desarrollo satisfactorio del trabajo de investigación

propuesto.

A continuación se describen las etapas y procesos considerados para la

consecución del proyecto.

Investigación bibliográfica y definición del problema a investigar.

Análisis de micro y pequeñas empresas: Definición de los requerimientos,

especificación y estructura de la organización.

Identificación de uso de estándares internacionales en las micro y

pequeñas empresas nacionales e internacionales.

Modelo apegado a MoProSoft y metodologías ágiles para desarrollo de

software.

Reuniones semanales para revisar los avances del proyecto.

Seguimiento de tesis y productos generados. Revisión de tesis,

elaboración de artículos de investigación

Liberación del proyecto.

Documentación del proyecto.

Elaboración de informes semestrales: Informe semestral e Informe final.

Page 31: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

24

CAPÍTULO II

Estado del

Arte

Page 32: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

25

2.1 Proyectos de software Un proyecto en la definición de (Palacio 2007) a través de los conceptos

productos y servicios es:

1. Que los productos sean desarrollados a medida, partiendo de un diseño y la

posterior ejecución de un plan de ejecución y del mismo modo, que los servicios

puedan ser actuaciones únicas y específicas, concebidas y realizadas para las

necesidades de la ocasión.

2. Que los productos sean el resultado en serie de cadenas o procesos de

producción y los servicios, procedimientos normalizados, ejecutados según

protocolos y prácticas estandarizadas, que con carácter repetitivo se emplean

siempre para prestar el mismo servicio, o servicios del mismo tipo.

Cuando se encuentra en cualquiera de las dos situaciones anteriores y el

resultado obtenido sea un producto, a este proceso se llama proyecto, pero

cuando el resultado sea un servicio, entonces se llama operaciones.

Los proyectos tienen las siguientes características (Palacio 2007):

Los realizan personas.

Se ejecutan con recursos limitados.

Se llevan a cabo siguiendo una estrategia de actuación.

Producen un resultado único.

Se desarrollan en un marco temporal preestablecido. Tienen un inicio y fin

definidos.

Concluyendo lo anterior un proyecto es un conjunto de actividades necesarias

para producir un resultado previamente definido, en un rango de fechas

determinado y con una asignación específica de recursos.

Page 33: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

26

Un proyecto software es aquel proyecto que genera como producto final una

aplicación o solución software. En la realización de producto se realizan un

conjunto de procesos, que conocemos como el ciclo de vida del desarrollo del

software.

A menudo se identifican las siguientes nueve fases dentro del ciclo de vida del

desarrollo del software:

1. Inicio del proyecto.

2. Especificación de los requisitos.

3. Diseño.

4. Codificación o implementación.

5. Test unitarios.

6. Test de integración.

7. Test del sistema.

8. Test de aceptación.

9. Sistema en uso (Mantenimiento) (Fowler 2003).

Al no contar con una metodología en las diferentes fases del desarrollo de

software se pueden presentar diversos factores de riesgo.

2.2 Factores de riesgo en el desarrollo de software

Se consideran factores de riesgo del desarrollo de productos software, a todos

aquellos factores que puedan provocar el fracaso del proyecto y

consecuentemente la no obtención del producto deseado (O.Mizuno, Kikuno et

al. 2000).

Esto incluye la obtención de un producto que no cumple los requisitos del

cliente, que no ha sido terminado en los plazos establecidos o simplemente que

Page 34: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

27

no es un producto de calidad, con muchos errores y defectos que lo etiquetan

como incompleto (Mizuno, Adachi et al. 2001).

Se pueden encontrar diferentes métodos para cuantificar el grado de riesgo de

un proyecto y multitud de factores que pueden ocasionar riesgos reales en los

proyectos. (O.Mizuno, Kikuno et al. 2000) establece un conjunto de factores de

riesgo que deben tenerse en cuenta en cualquier proyecto de desarrollo de

software:

Factor Humano

En toda tarea que intervienen las personas se consideran los fallos humanos y

todo lo que esto lleva. En proyectos software tenemos en cuenta sobre todo:

Conocimientos, experiencia, habilidades del equipo de desarrollo y del

gestor del proyecto.

Estado anímico, físico y psíquico del equipo.

Diversidad del equipo.

Factor complejidad

Otro factor muy importante que se debe valorar en riesgos asociados a

proyectos software, es la complejidad del mismo proyecto, esto indica cuan

alerta a los detalles se debe estar. Un proyecto más complejo implica una mayor

probabilidad de que algo salga mal y por tanto, que el proyecto fracase.

Los principales indicadores son:

Tamaño del equipo de desarrollo.

Tamaño del proyecto.

Dependencias del proyecto respecto a equipos externos, internos.

Características de las tareas.

Page 35: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

28

Factores tecnológicos

Debido a que un proyecto software es del ámbito tecnológico, este factor juega

un papel determinante cuando se desea lograr los objetivos. Pueden afectar de

diferentes maneras:

Infraestructura insuficiente o inexistente. En la solución o desarrollo.

Conocimientos técnicos del equipo de desarrollo. De las tecnologías del

proyecto.

Mala especificación de los requisitos no funcionales. Puede provocar

errores en el desarrollo.

Factores externos

Externos al equipo de desarrollo, pero no al proyecto. Incluyen riesgos como:

Cliente poco razonable. Puede provocar inestabilidad de los requisitos.

El desarrollador no se hace responsable de fallas o errores del software.

Factores gestión

Son todos aquellos que implican cualquier tipo de intento por controlar los

recursos humanos, temporales y técnicos del proyecto:

Gestión de los cambios en los requisitos.

Planificación basada en el conocimiento. En el conocimiento o

experiencia en proyectos similares anteriores.

Planificación excesivamente optimista cuando el equipo desconoce la

tecnología.

Problemas en proyectos anteriores quitan tiempo al equipo de desarrollo

actual.

Asignación de las responsabilidades técnicas.

Implicación/apoyo del equipo directivo.

Page 36: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

29

Los diferentes tipos de factores de riesgo que afectan un proyecto software

pueden verse disminuidos y/o eliminados si seguimos metodologías que guíen a

los desarrolladores a alcanzar los objetivos de la mejor manera posible, este

conjunto de metodologías, procedimientos, reglas y documentación provienen de

la Ingeniería de Software.

2.3 Ingeniería de software

El software según la definición de (Lewis 1994), es la suma total de los

programas de computadora, procedimientos, reglas, la documentación asociada

y los datos que pertenecen a un sistema de cómputo”. El mismo autor, define

que un producto de software es un producto diseñado para un usuario. En el

mismo contexto la ingeniería de software provee un enfoque sistemático al

desarrollo, operación, mantenimiento y retiro del software. Es así como la

ingeniería de software permite lograr soluciones efectivas-eficaces, elaborando

productos de software funcionales y de calidad.

(Jacobson 1992) define el proceso de ingeniería de software como un conjunto

de etapas parcialmente ordenadas con la intención de lograr un objetivo, en este

caso, la obtención de un producto de calidad. La calidad del software se obtiene

al crear productos de software que cumplan con las necesidades y

requerimientos del usuario, y su diseño e implementación sea probado,

documentado y certificado para su uso operativo funcional.

En el concepto de ingeniera de software por (López 2003) establece una

relación entre las ciencias de computación y la ingeniería de software al afirmar

que esta última es el área donde se estudian principios de ciencias de

computación, administración y otras para aplicarlos al desarrollo de software,

esto quiere decir que la ingeniería de software, toma elementos de otras

disciplinas para utilizarlos en la construcción de software. Así como lo determina

Page 37: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

30

(Joannou 2007) integrar las disciplinas de la empresa, sistemas e ingeniería de

software requiere integrar:

Material de desarrollo profesional: entrenamiento, examinación y

certificación.

Estándares para el desarrollo de la empresa: IEE e ISO.

Disciplinas: empresa, sistemas, software y calidad.

Niveles de administración: empresa y proyectos.

Jerarquías en productos: sistemas de sistemas.

Áreas de objetivo: estabilidad, dependencia, seguridad.

Niveles de prescripción: principios, estándares y guías base.

En otros conceptos de ingeniería de software en (López 2003) se afirma que es

el establecimiento y uso de principios robustos de la Ingeniería a fin de obtener

en forma económica software que sea fiable y que funcione eficientemente sobre

maquinas reales.

La IEEE define que la ingeniería software como la aplicación de un enfoque

sistemático, disciplinado y cuantificable hacia el desarrollo, operación y

mantenimiento del software.

La ingeniería de software tiene varios modelos, paradigmas o metodologías den

los cuales se apoya para el desarrollo de software, los cuales son mencionados

a continuación:

Modelo en cascada o Clásico (modelo tradicional)

Modelo en espiral (modelo evolutivo)

Modelo de prototipos

Desarrollo por etapas

Desarrollo iterativo y creciente o Iterativo e Incremental

RAD (Rapid Application Development)

Page 38: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

31

El proceso de desarrollo de software requiere por un lado un conjunto de

conceptos, una metodología y un lenguaje propio. A este proceso también se le

llama el ciclo de vida del software que comprende cuatro grandes fases:

concepción, elaboración, construcción y transición. La concepción define el

alcance del proyecto y desarrolla un caso de negocio. La elaboración define un

plan del proyecto, especifica las características y fundamenta la arquitectura. La

construcción crea el producto y la transición transfiere el producto a los usuarios

(Lewis 1994).

Como se puede observar la ingeniería de software a través de sus principios,

procedimientos y técnicas permite desarrollar y mantener el software y su

principal objetivo es obtener productos software de calidad.

2.4 Calidad de software

Al hablar de calidad de software, nos introducimos a un apartado actual, donde

la calidad de los productos va ligada con la satisfacción del cliente y la

competitividad entre organizaciones, (Monsalve 2002) menciona que, la

satisfacción hacia el uso de un producto puede marcar una gran diferencia en el

mercado de productos similares. Es así como el desarrollo de artículos que

satisfacen las expectativas de los clientes y usuarios harán la diferencia entre

dos organizaciones que desarrollan productos que compiten en el mercado. La

preocupación por ofrecer productos acompañados de altos niveles de calidad no

es una actividad nueva. A lo largo de este siglo han surgido distintas

interpretaciones de como brindar calidad.

Como antes se ha mencionado los productos de software no deben carecer de

calidad, la calidad en los productos de software considera diversas actividades.

La gestión de la calidad dentro de este tipo de proyectos puede estandarizarse

dentro de la organización y certificarse a la comunidad de clientes.

Page 39: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

32

Calidad se puede definir como "una característica o atributo de una cosa". De

esta forma se podría decir que la calidad de los productos puede medirse como

una comparación de sus características y atributos. Así, este concepto puede

aplicarse a cualquier producto.

Una de las formas de realizar una medida de calidad es observar las diferencias

ocurridas en la producción dos productos iguales. La producción de artículos de

cualquier especie no asegura que dos de ellos sean totalmente iguales. Quizás

sea preciso realizar observaciones acuciosas para lograr distinguir las

variaciones entre uno y otro, ya que estas pueden no ser obvias. Es más, quizás

sea necesario disponer de instrumentos adecuados y de precisión para poder

observar dichos cambios de la producción.

Uno de los principales objetivos de dar calidad a los productos es minimizar las

diferencias entre unidades producidas. Estas diferencias tienen diversos

orígenes y, por tanto, distintas y amplias formas de corregirlos, dependiendo de

la naturaleza del producto. Lo primordial es tener en cuenta el concepto de

brindar calidad a lo que se está realizando. De este modo, el brindar calidad es

una actividad esencial para un negocio que produce productos que serán

utilizados por otras personas (Monsalve 2002).

Cuando asociamos los términos calidad y software, según (Carvajal 2008) se

define la calidad de software como, la conformidad a los requisitos y la

adecuación al uso. Si valoramos la percepción más común de la calidad del

software se suele reconocer como la ausencia de errores que contenga nuestro

producto, ya que un producto con fallos, difícilmente cubrirá las funcionalidades

requeridas. Esta definición basada en los errores del producto software se suele

expresar como:

1. Radio de errores. Número de errores por millones de líneas del código fuente,

por puntos de función u otras unidades.

Page 40: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

33

2. Fiabilidad. Número de errores durante n horas de funcionamiento, tiempo sin

errores ó la probabilidad de no tener ningún error durante cierto tiempo.

El cliente toma un papel importante en la calidad o la percepción de calidad en el

software, conocida como satisfacción del cliente.

(Stephen 2002) Considera dos conjuntos de objetivos en la calidad de las soluciones software:

La calidad del producto software.

La calidad de los procesos.

Por calidad del producto es básicamente que cumpla los requisitos establecidos

por los clientes, presente un bajo radio de errores, una alta fiabilidad un buen

grado de satisfacción de los usuarios.

En la calidad de los procesos, se persigue el mismo objetivo, obtener un

producto de calidad, sólo que se aspira llegar a este objetivo mediante un control

y una gestión de todo el proceso de desarrollo.

De aquí deriva que si los procesos son de calidad se tiene un mayor número de

probabilidades de que el producto final sea también de calidad. Normalmente

esta distinción se puede observar en la mejora de la calidad del software.

(Stephen 2002) también define que la calidad del software está formada por dos niveles:

1. La calidad intrínseca del producto. 2. La satisfacción del cliente.

La principal meta de un equipo desarrollador de software debería ser siempre

producir software catalogado como de alta calidad. Pero para ello se deben

tener en cuenta algunas ideas previas (Monsalve 2002):

Page 41: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

34

Productos software son realizados por personas para personas

Así, las personas desarrolladoras deben tener en cuenta claramente que son

otras personas las que utilizarán sus productos, los que pueden estar sujetos a

fallos constantes. Aún a pesar de los avances actuales en Inteligencia Artificial,

los asistentes software para el desarrollo de software no son demasiado

confiables como para que la mano humana no intervenga en este proceso. El

desarrollo de productos software es una actividad sujeta a muchos factores que

la pueden hacer poco confiable.

Muchos desarrolladores piensan en la calidad como un atributo exclusivo de los

productos. Que esta empieza a considerarse una vez que las primeras líneas de

código son escritas. El concepto de calidad involucra muchos factores previos a

esta etapa, debiendo ponerse atención a cada una de estas etapas anteriores.

Sujeto a lo anterior, (Robert H. 1990) define que la calidad que pueden alcanzar

los productos software, y en general cualquier producto, está sometido a como

se desarrolla cada una de las etapas de la vida del producto, partiendo por la

definición de la idea del producto hasta la entrega y mantención del mismo. Así

la entrega de calidad a un producto considera actividades tales como:

Administración de la calidad

Asegurando minimizar las diferencias entre los recursos presupuestados y los

recursos realmente utilizados en las distintas etapas. Dichos recursos incluyen el

equipo de desarrollo, el equipamiento y tiempo de desarrollo.

Uso de tecnología de Ingeniería de Software eficiente

Considerando métodos de desarrollo y herramientas, aplicación de técnicas

formales a lo largo de todo el proceso.

Page 42: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

35

Minimización de las variaciones entre los productos

Disminuyendo las diferencias y defectos entre versiones, pruebas en las

diferentes etapas del desarrollo.

Control de la documentación

Tanto de apoyo al desarrollo como a la entrega al usuario final, generada en

cada etapa, y verificación de los posibles cambios y modificaciones que pudiera

sufrir además de una correcta mantención y servicios de post-venta.

Calidad por etapas.

La calidad está presente en todas las etapas del proceso de desarrollo de los

productos software. A grandes rasgos se puede realizar una clasificación de

como interviene la aplicación de la calidad en dichas etapas. De esta forma

podemos distinguir que la calidad se puede asegurar en el diseño, en la

producción y la satisfacción final. (Monsalve 2002)

Calidad en el diseño

Se pretenden características definidas para la realización del producto software

y que se deberían cumplir posteriormente. Aquí la calidad se basa en definir un

listado de especificaciones a seguir. Involucra descripción de los procesos de

desarrollo, tareas y responsabilidades de los equipos de desarrollo. Dichos

procesos pueden estar estandarizados, por lo cual puede certificarse que el

trabajo se realiza bajo alguna norma de calidad, como puede ser la norma de

calidad ISO 9000-3:1993 que establece guías de acción para la aplicación de

ISO 9001 orientada al desarrollo, suministro y mantención de software.

En esta etapa la calidad aumenta en la medida que se realiza una alta

especificación de los procesos y se propone una estrecha tolerancia a la

modificación, estableciendo los métodos correctivos a las desviaciones

ocurridas.

Page 43: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

36

Calidad en la producción

Se entiende el logro de la calidad en el grado que la producción se atine al

cumplimiento de los requerimientos de diseño. Si los requerimientos están bien

definidos y especificados el cumplimiento de la calidad en esta etapa no debería

tornarse en una tarea de complicaciones grandes, ya que las bases del trabajo

estarían previamente definidas.

Calidad de satisfacción

Esta es la medida de la calidad apreciada por los usuarios finales de los

productos software. En cierta medida es el entendimiento y aprecio del producto

software. Esta calidad es la culminación de un proceso previo sometido a

distintas aplicaciones de calidad de trabajo. No puede esperarse en esta etapa

una alta calidad si no hubo preocupación por ella en las etapas anteriores.

En gran parte, esta etapa es en donde más se aprecia la calidad dada a un

producto pues es aquí cuando se produce la comercialización y uso masivo de él

(Robert H. 1990).

Los usuarios verán una mayor calidad en un producto software en la medida que

este responde a los requerimientos, desarrolla un buen rendimiento, tiene

facilidad de uso, presenta una real ayuda y la documentación de usuario final

acompañada es realmente útil. Estas apreciaciones de calidad hacia un

determinado producto elevarán el nivel de confianza a la organización

desarrolladora, lo que puede elevar su posición en el mercado.

(Monsalve 2002) Resalta que para lograr una alta calidad del producto final este

debe estar soportado por una preocupación de asegurar la calidad en las etapas

previas a alcanzar dicho estado final. Lo que permite ir escalando en la oferta de

calidad es mantener un riguroso control de la calidad.

Page 44: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

37

Control de la calidad

El control de la calidad definido por (Stephen 2002) es realizar una observación

constante acerca del cumplimiento de las tareas que pueden ofrecer una calidad

objetiva a la forma en cómo se está desarrollando un proyecto de Ingeniería de

Software. Es decir, una vigilancia permanente a todo el proceso de desarrollo y

ciclo de vida del software. Esta meta puede alcanzarse mediante frecuentes

inspecciones a las metodologías de trabajo y uso de herramientas, revisiones de

prototipos y testeo exhaustivo de los productos finales.

El control de la calidad permite realizar las rectificaciones pertinentes al

desarrollo en cuanto este empieza a desviarse de sus objetivos, alejando la

inclusión de la calidad al trabajo. Estas rectificaciones son posibles gracias a una

retroalimentación de las etapas superiores, creado un aprendizaje al observar

las salidas de cada etapa, hasta el producto final, y mejorar los procesos que

dan origen al sistema.

La retroalimentación, así como cada etapa realizada, debe generar

documentación, tanto como del diseño de los procesos de la etapa como de los

resultados obtenidos en cada etapa (y que servirá de entrada a la etapa

siguiente). Esto permite realizar el mejoramiento de los procesos débiles, lo que

definitivamente desembocará en un aseguramiento de la calidad en los procesos

ejecutados por la organización.

Por otra parte la documentación generada puede servir a modo de

entrenamiento de integrantes recientemente incorporados a los equipos de

desarrollo, los cuales no estarán familiarizados con los conceptos de calidad

manejados por dichos equipos (Robert H. 1990).

En el control de calidad se debe tener presente los costos que esta involucra.

(Monsalve 2002) menciona que si se piensa en las tareas que se debe realizar

en este control, puede observase que es necesario llevar a cabo tareas de

Page 45: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

38

búsqueda de problemas, testeo, realimentación, rectificación, elaboración,

modificación y estudio de la documentación; entre otras actividades. Todas

ellas tienen costos involucrados (incluso puede darse la inclusión de equipos

destinados al aseguramiento de la calidad: los grupos SQA). Debe existir un

compromiso, ya que un excesivo costo en el control de la calidad puede hacer

que este proceso se torne ineficiente.

El mejoramiento de la calidad implica reducir los costos ya que se tendría un

cierto nivel de calidad ya asegurado.

Como conclusión a la calidad en los productos software, el asegurar la calidad

en las primeras etapas de este involucra que los costos del control en las etapas

posteriores tenderán a disminuir al tener menos aspectos que controlar pues,

nuevamente, la calidad estaría asegurada en sus bases.

El conocer el proyecto de software, aplicar ingeniería de software para el

desarrollo y poder asegurar la calidad en su desarrollo es solamente la base

para el que el equipo de desarrollo logre los objetivos.

El equipo de desarrollo en este caso de una MPE tiene que elegir la metodología

ó modelo adecuado que se ajuste a las características mismas de una MPE.

2.5 Micro y pequeñas empresas La definición de micro y pequeña empresa (MPE) suele ser muy ambiguo,

ya que no existe una definición comúnmente aceptada de estos términos. Por

ejemplo, los participantes del congreso de software a medida de CMM en 1995

no pudieron entrar en consenso en la definición de pequeña empresa.

Posteriormente, en 1998 en el panel de la conferencia SEPG en CMM y

proyectos pequeños, pequeño se definió como "proyectos de 3 a 4 meses de

duración con un equipo de desarrollo de 5 ó menos" (Laporte, Alexandre et al.

2008).

Page 46: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

39

Johnson y Broadman definieron a la pequeña empresa como aquella con

“Menos de 50 desarrolladores de software y un pequeño proyecto aquel con

menos de 20 desarrolladores de software”.

Otra definición de MPE fue la definida por (Laporte, Alexandre et al. 2008) y es:

“Cualquier empresa que produzca servicios de Tecnologías de Información y

proyectos con un equipo de trabajo de 1 a 25 empleados”.

Tomando en cuenta una perspectiva legal la Comisión Europea define tres

niveles en la pequeña a mediana empresa (PME):

Pequeña a mediana – “Emplean menos de 250 personas y tienen un ingreso

anual que no excede los 50 millones de Euros, y/o su balance anual total no

excede los 43 millones de Euros”.

Pequeña – “Emplea menos de 50 personas, y su balance total anual no excede

los 10 millones de Euros”.

Micro – “Emplea menos de 10 personas, y su balance total anual no excede los

4 millones de Euros”

La industria de software reconoce a las micro y pequeñas empresas (MPEs,

Very Small Enterprises, VSEs por sus siglas en inglés) por su importante

contribución de productos y servicios. Un ejemplo claro del crecimiento de las

micro y pequeñas empresas es la industria de software Irlandés un componente

clave para la economía nacional de Irlanda. Acorde a las empresas en Irlanda, al

final de 2004 alrededor de 750 empresas de software contrataron casi 12,000

personas, sin embargo, la mayoría de estas empresas de software son micro

empresas de las cuales el 1.9% tiene más de 100 empleados y más del 60%

tiene 10 empleados o menos (Laporte 2008).

Page 47: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

40

Las MPEs, si bien no son un fenómeno de nacimiento reciente, despiertan cada

vez más interés, tanto en el ámbito académico como en el de la opinión pública;

al punto que son consideradas “el motor de la economía europea” (Alvarez

2009).

Para entender aun mejor la dicotomía entre las diferentes definiciones es

necesario examinar el tamaño de las empresas de software operando en el

mercado. En Europa, el 85% del sector de empresas de tecnologías de

Información tiene de 1 a 10 empleados. En el contexto de las firmas de software

irlandesas el 1.9 % (10 empresas) de un total de 630, tienen más de 100

empleados en contraparte con el 61% de las empresas que tiene 10 empleados

o menos. En Canadá, específicamente en el área de Montreal, se ha encontrado

que el 78% de empresas desarrolladoras de software tienen menos de 25

empleados y el 50% menos de 10 empleados. En Brasil, las pequeñas empresas

representan aproximadamente el 70% del total de empresas (Laporte, Alexandre

et al. 2008).

Tabla 2. Tamaño de las empresas desarrolladoras de software en Montreal

(Laporte 2008)

La MPE en América Latina juega un papel muy importante en la cohesión social,

ya que contribuye significativamente a la generación de empleo, de ingresos,

erradicación de la pobreza y dinamiza la actividad productiva de las economías

locales, si bien es cierto que los estudios difieren en la estimación de la

Tamaño

De

Empresas de

Software

Desarrollo de

Proyectos

Empleados Número % Número %

1 a 25 540 78% 5,105 29%

26 a 100 127 18% 6,221 36%

Más de 100 26 4% 6,056 35%

TOTAL 693 100% 17,382 100%

Page 48: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

41

contribución al Producto Interno Bruto, se estima que en promedio contribuyen

con el 20% del PIB y que, en algunos casos, esta contribución llega a alcanzar el

50% (Alvarez 2009).

En México Según el Instituto Nacional de Estadística, Geografía e Informática

(INEGI), existen alrededor de 2.84 millones de empresas en nuestro país, de las

cuales el 99.7% pertenecen al sector de las micro, pequeñas y medianas

empresas (tan sólo el 97% son MPEs), las cuales generan el 42% del Producto

Interno Bruto (PIB) y cerca del 64% del empleo formal en nuestro país.

La tabla 3 muestra como están distribuidas las micro y pequeñas empresas del

país por sector y el peso porcentual que tiene cada sector sobre el total de

empresas con estas características

Tabla 3. Repartición de las MPE en México por sector

(Secretaria de Economia 2004)

México cuenta con una posición favorable para convertirse en un competidor de

talla mundial en el ramo de la industria de software, gracias a su ubicación

geográfica, perfil demográfico y estado de desarrollo tecnológico. No obstante el

potencial de desarrollo es evidente, la industria del software es apenas incipiente

en nuestro país: participa con tan sólo el 0.10% del PIB (cifras de 2000). Aunque

no existe un padrón exhaustivo de esta industria que proporcione información

exacta, una muestra de 206 empresas, véase tabla 1, desarrolladoras de

software muestra el perfil actual de la industria que es mayoritariamente micro y

Page 49: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

42

pequeña, con un tamaño muy inferior al del promedio internacional, que es de

250 empleados (Secretaria de Economia 2009).

Características de la MPE

Las características únicas de las MPEs así como las situaciones únicas propias

de su tamaño propician que el entorno del negocio sea diferente, algunas de

estas únicas diferencias del comportamiento entre las MPEs y las grandes

empresas son mencionadas en la tabla 4:

Tabla 4. Diferencias entre una pequeña y gran empresa

(Laporte, Alexandre et al. 2008)

El software producido por las MPE es sujeto a un numero distintivo e intrínseco

de características que lo hacen diferente a su contraparte las grandes empresas,

esto mismo afecta sus contenidos, su naturaleza y lo extenso en las actividades

de desarrollo. Hemos clasificado las características de una MPE acorde a cuatro

Característica Pequeña Empresa Gran Empresa

Practicas en Planeación No

estructurada/Operacional

Estructurada/Estratégica

Flexibilidad Alta Estructurada/Estratégica

Orientación al Riesgo Alto Medio

Procesos de

Administración

Informal Bajo

Capacidad de

Retroalimentación y

Aprendizaje

Limitados Alto

Impactos de un Mercado

Negativo

Profundos Manejables

Ventajas Competitivas Centradas en el capital

humano

Centradas en el capital

de la organización

Page 50: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

43

categorías: Finanzas, Cliente, Procesos Internos de Negocio y Crecimiento

y Aprendizaje (Laporte, Alexandre et al. 2008).

Finanzas

Las MPE son económicamente vulnerables así como su flujo de efectivo y

dependen de los beneficios de los proyectos, es por esto que necesitan

desarrollar proyectos con buenos beneficios económicos. Tienden a desarrollar

proyectos con pocos beneficios y con demasiados impactos negativos:

demasiadas correcciones de errores, demasiado mantenimiento, pocos recursos

para retroalimentación, poco o nada de inversión para actividades de

aseguramiento de calidad, sin inversión para reúso de procesos de software,

poco capital para responder a riesgos, y un limitado capital para mejoras de

procesos y/o obtener certificaciones o asesorías.

Cliente

A menudo cada producto desarrollado por una MPE es para un cliente, donde el

cliente está a cargo de la administración del producto final; la integración del

software, instalación y operación.

Es una práctica normal para el cliente no definir la cantidad de la calidad los

requerimientos y la satisfacción del cliente depende de que tanto se hayan

cubierto los requerimientos específicos que pueden sufrir cambios a lo largo del

proyecto. Existe una estrecha relación entre los miembros del equipo de

desarrollo y el cliente, que muestra que el desarrollo de software en las MPE

está orientado altamente en la relación humana y la comunicación entre estos es

de suma importancia.

Procesos Internos de Negocio

Los negocios internos de una MPE son usualmente enfocados en el desarrollo

de sistemas de software a la medida, donde el producto software es elaborado

progresivamente y donde típicamente no tiene una fuerte relación con otros

proyectos. La mayor parte de la administración de procesos (como los recursos

Page 51: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

44

humanos y la infraestructura) son realizados a través de mecanismos informales,

mayor parte a través de comunicación, donde la toma de decisiones y solución

de problemas son efectuados frente a frente.

Crecimiento y Aprendizaje

Las características de crecimiento y aprendizaje de una MPE sin tipificados por

una falta de aceptación a la asesoría de procesos de software, a la mejora de los

mismos y a la falta de recursos humanos que acepten la estandarización. Es

usual tener una percepción negativa por parte de las MPEs a estándares hechos

por grandes empresas para grandes empresas.

Estándares en las MPEs

En el Mercado Internacional actual, nos encontramos con una demanda de

productos y software de calidad, y la necesidad de proveer a las MPEs,

estándares adaptados a la medida, fáciles de implementar y fiables, además el

proporcionar una guía para la adaptación de los mismos.

La mayor parte de los estudios y encuestas por (Laporte 2008) confirman que la

Ingeniería de Software actual no completa todas las necesidades de las

organizaciones, especialmente las de tipo MPE.

La mayor parte de las MPEs no tienen los recursos para una certificación, por el

número de empleados, costo y tiempo.

(Laporte 2008) Define los requerimientos específicos de las MPEs, para poder

implementar estándares como ISO/SC7, además de recolectar información para

identificar problemas y soluciones potenciales, que puedan ayudar a aplicar

estándares en las MPEs y así hacerlas más competitivas:

El contexto de la MPE requiere un perfil de ciclo de vida dedicado y ligero.

Contextos particulares del negocio requieren perfiles particulares.

Page 52: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

45

Existen diferencias significantes en los terminas de recursos disponibles e

infraestructura entre una MPE que emplea de 1 a 10 personas y un

departamento IT del mismo tamaño en una empresa grande.

Las MPE son limitadas tanto en tiempo y recursos, donde se debe lidiar

con el desconocimiento de entender como los estándares las van a

beneficiar.

Los beneficios para las MPEs deberán de incluir el reconocimiento de un

asesor o auditor por un cuerpo acreditado.

Los Estándares Internacionales para empresas de software, no fueron

concebidos para grandes empresas, las nuevas investigaciones y propuestas

buscan acotar estos estándares, para aplicarlos en las MPEs.

Los Estándares internacionales para mejora de procesos, como ISO/IEC

JTC1/SC7, son difíciles de adaptar a las MPEs, la utilización de metodologías

ágiles junto con estos estándares, puede llegar a una fusión empírica que se

ajuste a las necesidades de las MPEs.

Entonces, para realizar los objetivos del negocio, las MPEs muestran un

incremento hacia las metodologías ágiles, que prometen desarrollos rápidos en

tiempo y una mejor flexibilidad en la implementación del producto.

Los métodos ágiles son procesos empíricos que requieren frecuente revisión y

respuesta en implementación. No son fácilmente evaluados usando ISO/IEC

15504 y CMMI, aunque se puede usar la estructura de algunos métodos como

Scrum y XP hasta ISO 900117 y los niveles CMMI 2 y 3.

En Latinoamérica y específicamente en México, investigaciones por grupos

internacionales, integran estándares y modelos para acotarlos a la estructura de

las MPEs, (Laporte 2008) concluyen que, en México, se consideran estándares

como ISO/IEC 12207, ó modelos como CMMI, que son muy generales ó muy

costosos para las empresas Mexicanas. Un Modelo de Procesos Mexicano fue

desarrollado después de una solicitud por el ministro de economía, MoProSoft,

Page 53: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

46

provee a la Industria Mexicana de Software un modelo basado en prácticas

internacionales y con las siguientes características:

Fácil de entender;

Fácil de aplicar;

Económico de adaptar;

Como base, puede lograr evaluaciones exitosas con otros Estándares o

modelos, como ISO 9000:200 o CMMI®

MoProSoft está dividido en cuatro partes:

1. Definición de Conceptos y Productos;

2. Requerimiento de Procesos (MoProSoft);

3. Guías para Implementación de Procesos;

4. Guías para Evaluación de Procesos.

El Modelo de Procesos MoProSoft utiliza ISO/IEC 12207 como su estructura

general, así como procesos de: ISO9000:2000, CMMI®, Project Management

Body of Knowledge (PMBOK) y de Software Engineering Body of Knowledge

(SWEBOK). MoProSoft también almacena, el modelo de Proceso de

Requerimientos de ISO/IEC 15504-2.

El porcentaje de cobertura por MoProSoft respecto a estas prácticas es:

ISO 9001:2000 92%

ISO/IEC 12207 95%

CMMI level 2 77%

MoProSoft se enfoca principalmente en los procesos y considera tres bases

organizacionales o niveles estructurales donde los procesos son organizados:

Page 54: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

47

1. Alta Dirección, contiene la gestión de los procesos del negocio, su

propósito es establecer la razón de existencia de la organización,

sus objetivos y las condiciones requeridas para lograrlos.

2. Gerencia, consiste en la gestión de Procesos, gestión de Proyectos

y gestión de Recursos.

3. Operación, consiste en la gestión de Proyectos Específicos,

Desarrollo y Mantenimiento de Software.

Fig. 3. Niveles del modelo de procesos MoProSoft

(Oktaba 2007)

En la tabla 5 se muestra el número de empresas en México que consideraron

usar algún modelo en el desarrollo de sus productos software.

Page 55: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

48

Tabla 5. Empresas en México que adoptaron algún modelo de procesos

(Secretaria de Economia 2009)

MODELO

CMM

CMMI

MOPROSOFT

Número de

empresas

14

36

90

TOTAL

140

El número de empresas en México que adoptaron algún modelo de desarrollo de

software, aunque es considerable, la mayor parte de estas empresas es de

escala mediana y grande (Secretaria de Economia 2009).

El grupo WG24 afirma que MoProSoft se enfoca más en las necesidades de

grandes organizaciones que en las MPEs (Laporte 2008).

Para lograr las necesidades de las MPEs en calidad en sus productos y servicios

las MPEs son atraídas por las metodologías ágiles, Estándares fáciles de

implementar, que acorten el tiempo de desarrollo del Software proporcionando

una mejor flexibilidad para cumplir sus objetivos de negocio.

Para lidiar con las limitaciones en recursos las MPEs necesitan asesoramientos

cortos, ligeros, fáciles de entender e implantar, por consiguiente las MPEs

demandan la mejora en los procesos para el desarrollo de Software, aunque lo

manifiestan como un gran desafío.

Page 56: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

49

2.6 Metodologías para desarrollo de software

El concepto de metodología extraído de (Carvajal 2008) define que es una

colección de procedimientos, técnicas, herramientas y documentos auxiliares

que ayudan a los desarrolladores de software en sus esfuerzos por implementar

nuevos sistemas de información. Una metodología está formada por fases, cada

una de las cuales se puede dividir en sub-fases, que guiarán a los

desarrolladores de sistemas a elegir las técnicas más apropiadas en cada

momento del proyecto y también a planificarlo, gestionarlo, controlarlo y

evaluarlo.

Las metodologías intentan marcar un camino común a través del cual poder

producir software con éxito. El proceso de desarrollo del software está

compuesto por actividades, pero también por subprocesos, el control de estas

actividades y su verificación, llevan implícito el concepto de calidad. Muchas

metodologías incluyen dentro de sus técnicas el control de los procesos de

desarrollo, con el fin de garantizar una solución software de calidad.

Normalmente lo hacen como si el producto software fuese un producto industrial

más y certifican sus procesos contra entidades certificadoras (ISO), las cuales

enumeran las buenas prácticas que se deben seguir.

Al hablar de metodologías y proceso de desarrollo de software, el término

modelo de procesos de software va intrínseco, (Derniame, Ali Kaba et al. 1999)

definen que un modelo de procesos es una representación del mundo real, que

captura el estado de actual de las actividades para guiar, reforzar ó automatizar

partes de la producción de los procesos.

Estos son los diferentes modelos de procesos que nos podemos encontrar

dentro del mundo del desarrollo del software:

Page 57: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

50

2.6.1 Modelo secuencial Representado por metodologías tan famosas como Cascada (Waterfall). Se

inicia con un completo análisis de los requisitos de los usuarios. Después de

varios meses de interacción con el usuario y los clientes, el equipo de desarrollo

determina un conjunto de características, requisitos funcionales y no funcionales.

Toda la información es documentada para la siguiente fase, diseño, donde el

equipo de desarrollo colabora entre sí para crear una arquitectura óptima del

sistema.

En el siguiente paso, los programadores implementan el diseño y finalmente, el

software completo es probado y enviado (Carvajal 2008).

El modelo en cascada resuelve el problema de los requisitos variables,

congelándolos, sin permitir los cambios.

Este modelo es referencia en los modelos de procesos formales (Carvajal 2008).

Fig. 4. Representación del modelo en cascada (Waterfall)

(Fundacion Wikimedia 2011)

Page 58: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

51

2.6.2 Modelos iterativos e incrementales Ambos son flexibles en el ciclo de desarrollo y repiten el modelo de cascada en

cada una de las partes en las que lo dividen (Carvajal 2008).

Desarrollo incremental

Su principal objetivo es reducir el tiempo de desarrollo, dividiendo el proyecto en

intervalos incrementales superpuestos. Del mismo modo que con el modelo en

cascada, todos los requisitos se analizan antes de empezar a desarrollar, sin

embargo, los requisitos se dividen en incrementos independientemente

funcionales. El desarrollo de cada incremento se puede solapar, ahorrando

tiempo gracias al desarrollo concurrente multitarea a lo largo del proyecto.

(Carvajal 2008)

Fig. 5. Representación del modelo incremental

(Fundacion Wikimedia 2011)

Page 59: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

52

Desarrollo iterativo

A diferencia del modelo incremental se centra más en capturar mejor los

requisitos cambiantes y la gestión de los riesgos. En el desarrollo iterativo cada

una de las iteraciones, es un producto funcional y entregable. La primera

iteración empieza con una versión muy simple, y cada una de las siguientes

iteraciones añade un conjunto de funcionalidades.

Cada una de las partes, iteraciones, siguen en si el modelo en cascada,

empezando con el análisis, seguido del diseño, implementación y finalmente las

pruebas. El desarrollo iterativo funciona bastante bien en ambientes cambiables,

ya que los requisitos son estáticos para cada iteración (Carvajal 2008).

Fig. 6. Representación del modelo iterativo

(Fundacion Wikimedia 2011)

Page 60: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

53

2.6.3 Modelo en espiral Comprende las mejores características de ciclo de vida clásico y el de prototipos

(desarrollo iterativo). Además, incluye el análisis de alternativas, identificación y

reducción de riesgos.

El modelo en espiral y el iterativo, proporcionan un nivel de agilidad muy por

encima del de cascada, pero muchos usuarios consideraron que aún no eran

suficientes para el cambiante mundo de negocios (Derniame, Ali Kaba et al.

1999).

Fig. 7. Representación del modelo en espiral

(Fundacion Wikimedia 2011)

Page 61: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

54

Existen otros modelos menos relevantes para las metodologías ágiles son V-

Model, WModel, X-Model, RAD y Orientado a Objetos (Carvajal 2008).

Por tanto cuando hablemos de metodologías se debe tener en cuenta todo lo

que va implícito dentro de ellas, sus métodos, sus modelos, sus herramientas,

su filosofía. (Letelier and Penades 2009) cuando hablan de metodologías de

desarrollo distinguen entre metodologías maduras e inmaduras, considerando a

estas últimas todas aquellas que difieran de los métodos formales y presentan

ciertos signos de debilidad, ya sea en el producto final, como en el desarrollo del

mismo.

Las metodologías tradicionales presentan largas fases de planificación y

análisis, así como un gran entusiasmo por el exceso de documentación, y

desvían a los proyectos a utilizar metodologías agiles.

2.7 Metodologías ágiles para desarrollo de software

Hasta hace poco el proceso de desarrollo llevaba asociada un marcado énfasis

en el control del proceso mediante una rigurosa definición de roles, actividades y

artefactos, incluyendo modelado y documentación detallada. Este esquema

tradicional para abordar el desarrollo de software ha demostrado ser efectivo y

necesario en proyectos de gran tamaño (respecto a tiempo y recursos), donde

por lo general se exige un alto grado de fases en el proceso. Sin embargo, este

enfoque no resulta ser el más adecuado para muchos de los proyectos actuales

donde el entorno del sistema es muy cambiante, y en donde se exige reducir

drásticamente los tiempos de desarrollo pero manteniendo una alta calidad

(Letelier and Penades 2009).

El objetivo de los métodos ágiles en definición de (Derniame, Ali Kaba et al.

1999) es permitir que una empresa sea ágil, mientras que las técnicas ágiles

Page 62: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

55

pueden variar en su ejecución y en su énfasis, todas ellas comparten

características, incluyendo el desarrollo iterativo y están centradas en la

interacción, comunicación, y en la reducción de la creación de artefactos

intermedios. Desarrollar mediante iteraciones permite al equipo de desarrollo

adaptarse a los cambios de los requisitos. Trabajar con un alto grado de

comunicación permite que el equipo pueda tomar decisiones y aplicarlas

inmediatamente. La reducción de artefactos intermedios que no dan valor

añadido al producto final, nos permite asignar más recursos al producto en sí y

podrá ser acabado antes.

(Letelier and Penades 2009) Explica que las los métodos agiles innovan, no en

las prácticas que ellos utilizan, sino el reconocimiento de las personas como

principales valedoras para que un proyecto de software triunfe, en conjunto con

una gran orientación a la efectividad y la manejabilidad. La mayoría de

seguidores de las metodologías ágiles están de acuerdo en que ser ágil, es algo

más que seguir las guías que se supone que hacen un proyecto ágil.

La verdadera agilidad es más que un conjunto de prácticas, es un estado de

ánimo.

Ante las dificultades para utilizar metodologías tradicionales con estas

restricciones de tiempo y flexibilidad, muchos equipos de desarrollo se resignan

a prescindir del “buen hacer” de la ingeniería del software, asumiendo el riesgo

que ello conlleva.

En un escenario, donde el equipo de desarrollo es limitado en tamaño y recursos

como una MPE las metodologías ágiles emergen como una posible respuesta

para llenar ese vacío metodológico. Por estar especialmente orientadas para

proyectos pequeños, las metodologías ágiles constituyen una solución a medida

para ese entorno, aportando una elevada simplificación que a pesar de ello no

renuncia a las prácticas esenciales para asegurar la calidad del producto.

Page 63: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

56

En la comunidad de la ingeniería del software, se está viviendo con intensidad

un debate abierto entre los partidarios de las metodologías tradicionales

(referidas peyorativamente como "metodologías pesadas") y aquellos que

apoyan las ideas emanadas del Manifiesto Ágil (Beck 2001). Por un lado, para

muchos equipos de desarrollo el uso de metodologías tradicionales les resulta

muy lejano a su forma de trabajo actual considerando las dificultades de su

introducción e inversión asociada en formación y herramientas. Por otro, las

características de los proyectos para los cuales las metodologías ágiles han sido

especialmente pensadas se ajustan a un amplio rango de proyectos industriales

de desarrollo de software; aquellos en los cuales los equipos de desarrollo son

pequeños, con plazos reducidos, requisitos volátiles, y/o basados en nuevas

tecnologías, como es el caso de una MPE.

En febrero de 2001 en Utah-EEUU, nace el término ágil aplicado al desarrollo de

software. Participaron un grupo de 17 expertos de la industria del software,

incluyendo algunos de los creadores o impulsores de metodologías de software.

Su objetivo fue proyectar los valores y principios que deberían permitir a los

equipos desarrollar software rápidamente y respondiendo a los cambios que

puedan surgir a lo largo del proyecto.

Se pretendía ofrecer una alternativa a los procesos de desarrollo de software

tradicionales, caracterizados por ser rígidos y dirigidos por la documentación que

se genera en cada una de las actividades desarrolladas. Varias de las

denominadas metodologías ágiles ya estaban siendo utilizadas con éxito en

proyectos reales, pero les faltaba una mayor difusión y reconocimiento.

Tras esta reunión se creó The Agile Alliance (Beck 2001), una organización, sin

ánimo de lucro, dedicada a promover los conceptos relacionados con el

desarrollo ágil de software y ayudar a las organizaciones para que adopten

dichos conceptos.

El punto de partida fue el Manifiesto Ágil, un documento que resume la filosofía

ágil.

Page 64: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

57

El Manifiesto comienza enumerando los principales valores del desarrollo ágil. Se valora (Beck 2001):

Al individuo y las interacciones del equipo de desarrollo sobre el proceso y

las herramientas. Las personas son el principal factor de éxito de un proyecto

software. Si se sigue un buen proceso de desarrollo, pero el equipo falla, el

éxito no está asegurado; sin embargo, si el equipo funciona, es más fácil

conseguir el objetivo final, aunque no se tenga un proceso bien definido. No se

necesitan desarrolladores brillantes, sino desarrolladores que se adapten bien al

trabajo en equipo. Así mismo, las herramientas (compiladores, depuradores,

control de versiones, etc.) son importantes para mejorar el rendimiento del

equipo, pero el disponer más recursos que los estrictamente son necesarios

también puede afectar negativamente. En resumen, es más importante construir

un buen equipo que construir el entorno.

Desarrollar software que funciona más que conseguir una buena

documentación. Aunque se parte de la base de que el software sin

documentación es un desastre, la regla a seguir es no producir documentos a

menos que sean necesarios de forma inmediata para tomar una decisión

importante. Estos documentos deben ser cortos y centrarse en lo fundamental.

Si una vez iniciado el proyecto, un nuevo miembro se incorpora al equipo de

desarrollo, se considera que los dos elementos que más le van a servir para

ponerse al día son: el propio código y la interacción con el equipo.

La colaboración con el cliente más que la negociación de un contrato. Las

características particulares del desarrollo de software hace que muchos

proyectos hayan fracasado por intentar cumplir unos plazos y unos costes

preestablecidos al inicio del mismo, según los requisitos que el cliente

manifestaba en ese momento.

Page 65: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

58

Por ello, se propone que exista una interacción constante entre el cliente y el

equipo de desarrollo. Esta colaboración entre ambos será la que marque la

marcha del proyecto y asegure su éxito.

Responder a los cambios más que seguir estrictamente un plan. La

habilidad de responder a los cambios que puedan surgir a los largo del proyecto

(cambios en los requisitos, en la tecnología, en el equipo, etc.) determina

también el éxito o fracaso del mismo. Por lo tanto, la planificación no debe ser

estricta puesto que hay muchas variables en juego, debe ser flexible para poder

adaptarse a los cambios que puedan surgir. Una buena estrategia es hacer

planificaciones detalladas para unas pocas semanas y planificaciones mucho

más abiertas para unos pocos meses.

Los valores anteriores inspiran los doce principios del manifiesto. Estos

principios son las características que diferencian un proceso ágil de uno

tradicional. Los dos primeros son generales y resumen gran parte del espíritu

ágil. Son (Beck 2001):

I. La prioridad es satisfacer al cliente mediante tempranas y continuas

entregas de software que le aporte un valor. Un proceso es ágil si a las pocas

semanas de empezar ya se entrega software que funcione aunque sea

rudimentario. El cliente decide si pone en marcha dicho software con la

funcionalidad que ahora le proporciona o simplemente lo revisa e informa de

posibles cambios a realizar.

II. Dar la bienvenida a los cambios. Se capturan los cambios para que el

cliente tenga una ventaja competitiva. Este principio es una actitud que deben

adoptar los miembros del equipo de desarrollo. Los cambios en los requisitos

deben verse como algo positivo. Les va a permitir aprender más, a la vez que

logran una mayor satisfacción del cliente. Este principio implica además que la

estructura del software debe ser flexible para poder incorporar los cambios sin

Page 66: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

59

demasiado coste añadido. El paradigma orientado a objetos puede ayudar a

conseguir esta flexibilidad.

Existen una serie de principios que tienen que ver directamente con el proceso

de desarrollo de software a seguir.

III. Entregar frecuentemente software que funcione desde un par de

semanas a un par de meses, con el menor intervalo de tiempo posible

entre entregas. Las entregas al cliente se insiste, en que sean software, no

planificaciones, ni documentación de análisis o de diseño.

IV. Los clientes y los desarrolladores deben trabajar juntos a lo largo del

proyecto. El proceso de desarrollo necesita ser guiado por el cliente, por lo que

la interacción con el equipo es muy frecuente

V. Construir el proyecto en torno a individuos motivados. Darles el entorno

y el apoyo que necesitan y confiar en ellos para conseguir finalizar el

trabajo. Las personas son el principal factor de éxito, todo los demás (proceso,

entorno, gestión, etc.) queda en segundo plano. Si cualquiera de ellos tiene un

efecto negativo sobre los individuos debe ser cambiado.

VI. El diálogo cara a cara es el método más eficiente y efectivo para

comunicar información dentro de un equipo de desarrollo. Los miembros del

equipo deben hablar entre ellos, éste es el principal modo de comunicación. Se

pueden crear documentos pero no todo estará en ellos, no es lo que el equipo

espera.

VII. El software que funciona es la medida principal de progreso. El estado

de un proyecto no viene dado por la documentación generada o la fase en la que

se encuentre, sino por el código generado y en funcionamiento. Por ejemplo, un

Page 67: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

60

proyecto se encuentra al 50% si el 50% de los requisitos ya están en

funcionamiento.

VIII. Los procesos ágiles promueven un desarrollo sostenible. Los

promotores, desarrolladores y usuarios deberían ser capaces de mantener

una paz constante. No se trata de desarrollar lo más rápido posible, sino de

mantener el ritmo de desarrollo durante toda la duración del proyecto,

asegurando en todo momento que la calidad de lo producido es máxima.

Finalmente los últimos principios están más directamente relacionados con el

equipo de desarrollo, en cuanto metas a seguir y organización del mismo.

IX. La atención continua a la calidad técnica y al buen diseño mejora la

agilidad. Producir código claro y robusto es la clave para avanzar más

rápidamente en el proyecto.

X. La simplicidad es esencial. Tomar los caminos más simples que sean

consistentes con los objetivos perseguidos. Si el código producido es simple y

de alta calidad será más sencillo adaptarlo a los cambios que puedan surgir.

XI. Las mejores arquitecturas, requisitos y diseños surgen de los equipos

organizados por sí mismos. Todo el equipo es informado de las

responsabilidades y éstas recaen sobre todos sus miembros. Es el propio equipo

el que decide la mejor forma de organizarse, de acuerdo a los objetivos que se

persigan.

XII. En intervalos regulares, el equipo reflexiona respecto a cómo llegar a

ser más efectivo, y según esto ajusta su comportamiento. Puesto que el

entorno está cambiando continuamente, el equipo también debe ajustarse al

nuevo escenario de forma continua. Puede cambiar su organización, sus reglas,

sus convenciones, sus relaciones, etc., para seguir siendo ágil.

Page 68: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

61

Los firmantes de los valores y principios de este Manifiesto son: Kent Beck, Mike

Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin

Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern,

Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland y

Dave Thomas (Beck 2001).

Los principios anteriores son los que recomendaré en el modelo de procesos

para el desarrollo de software en una MPE, ya que son los que más se ajustan a

la escala en recursos, equipo de trabajo y características de una MPE.

Antes de analizar algunas metodologías ágiles, la tabla 6 muestra las principales

diferencias respecto de las metodologías tradicionales (no ágiles) (Letelier and

Penades 2009).

Se ordenan esquemáticamente estas diferencias que no se refieren sólo al

proceso en sí, sino también al contexto de equipo y organización como el de tipo

MPE que es más favorable a cada uno de estas filosofías de procesos de

desarrollo de software.

Page 69: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

62

Tabla 6. Diferencias entre metodologías agiles y metodologías tradicionales

(Letelier and Penades 2009)

Aunque los creadores e impulsores de las metodologías ágiles más populares

han suscrito el manifiesto ágil y coinciden con los principios cada metodología

tiene características propias y hace hincapié en algunos aspectos más

específicos.

La Tabla 7 (Letelier and Penades 2009), compara las distintas aproximaciones

ágiles en base a tres parámetros: vista del sistema como algo cambiante, tener

en cuenta la colaboración entre los miembros del equipo y características más

específicas de la propia metodología como son simplicidad, excelencia técnica,

Page 70: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

63

resultados, adaptabilidad, etc. También incorpora como referencia no ágil el

Capability Madurity Model (CMM).

Tabla 7. Ranking de agilidad de las diferentes metodologías ágiles

(Letelier and Penades 2009)

Respecto a la tabla 7 y en apoyo de estudios realizados por (Carvajal 2008)

donde se evaluaron diversos aspectos como:, la metodología mejor

documentada, metodologías, metodologías con comunidades, metodología más

utilizada por empresas.

Los resultados se muestran a continuación:

Page 71: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

64

Fig. 8. Mejor documentación de las metodologías ágiles

(Carvajal 2008)

Metodologías con certificación (Carvajal 2008):

Dynamic System Development Method tiene DSDM certified.

Feature Driven Development tiene FDD Certified.

Scrum dispone de Scrum Certified! (Carvajal 2008)

Metodologías en Empresas (Carvajal 2008):

Agile Modeling.

Agile Model Driven Development.

Agile Project Management.

Crystal methods.

Dynamic System Development Method.

Feature Driven Development.

Lean Development.

Page 72: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

65

Scrum.

Extreme Programming.

Metodologías asociadas a la Agile Alliance (Carvajal 2008):

Agile Modeling.

Agile Model Driven Development.

Crystal methods.

Dynamic System Development Method.

Feature Driven Development.

Internet Speed Development.

Lean Development.

Pragmatic Programming.

Scrum.

Test Driven Development.

Extreme Programing.

Win Win Spiral.

Metodologías con comunidades o alianzas diferentes:

Agile Project Management, con Declaration of Interdependence for modern

management.

Dynamic System Development Method, con DSDM Consortium.

Scrum, con Scrum Alliance (Carvajal 2008).

En base a lo anterior la elección para el desarrollo del Modelo de Procesos para

Micro y Pequeñas Empresas Desarrolladoras de Software (MPMPES), en

conjunto con los niveles de MoProSoft se eligieron 4 metodologías agiles para

complementar el nivel de desarrollo y mantenimiento de software, son las

siguientes:

Page 73: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

66

1. XP

2. SCRUM

3. Crystal

4. DSDM (Dynamic Systems Development Method)

Para su análisis se han seguido los siguientes puntos mencionados por (Pekka, Outi et al. 2002)

Procesos. Roles y responsabilidades. Prácticas. Entorno de uso.

2.8 Análisis metodologías ágiles para desarrollo de software

2.8.1 eXtreme Programming (XP)

Extreme Programming es sin duda el defensor de las metodologías ágiles. Nació

como un intento, bastante exitoso, de establecer un conjunto de prácticas que

facilitasen la finalización de los proyectos.

(Beck 2001), el padre de XP, describe la filosofía de XP como principios y

prácticas son de sentido común pero llevadas al extremo, de ahí proviene su

nombre

XP es una metodología ágil centrada en potenciar las relaciones interpersonales

como clave para el éxito en desarrollo de software, promoviendo el trabajo en

equipo, preocupándose por el aprendizaje de los desarrolladores, y propiciando

un buen ambiente de trabajo (Letelier and Penades 2009).

Page 74: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

67

1. Procesos

El ciclo de vida de XP está compuesto de seis fases, ver figura 9:

Fig. 9. Fases de XP

(Carvajal 2008)

Exploración

En esta fase los usuarios escriben las historias de usuario que ellos quieren que

sean incluidas en la primera versión (requerimientos). Cada una de las tarjetas

de historia describe una funcionalidad que será añadida al programa.

El equipo de proyecto durante este tiempo se dedica a familiarizarse con las

tecnologías y herramientas que utilizará a lo largo del proyecto, probando las

herramientas y construyendo un prototipo simple para probar las posibilidades

de la arquitectura. El periodo de tiempo de esta fase puede variar desde unas

pocas semanas hasta unos pocos meses, dependiendo de la familiaridad del

equipo con las tecnologías (Letelier and Penades 2009).

Planificación de la Entrega

En esta fase el cliente establece la prioridad de cada historia de usuario, y

correspondientemente, los programadores realizan una estimación del esfuerzo

Page 75: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

68

necesario de cada una de ellas. Se toman acuerdos sobre el contenido de la

primera entrega y se determina un cronograma en conjunto con el cliente. Una

entrega debería obtenerse en no más de dos meses. Esta fase dura unos pocos

días.

Las estimaciones de esfuerzo asociado a la implementación de las historias la

establecen los programadores utilizando como medida lo siguiente (Beck 2001):

Por valor: por valor del proyecto.

Por riesgo: el desarrollo de la historia por riesgo.

Por velocidad: el desarrollo determina a qué velocidad (tiempo) se puede

desarrollar el proyecto.

EL valor del proyecto ordena las historias del usuario (requerimientos) por valor:

Críticas: historias sin las cuales el sistema no funciona o no tiene razón

de ser.

Significantes para el proyecto: no son críticas pero tienen gran

importancia para el desarrollo del proyecto.

Funciones extra: requerimientos del usuario que no tienen gran

importancia en el proyecto pero son funcionales.

Los desarrolladores ordenan las historias también por riesgo que pueden ser:

bajo, medio o alto, por ejemplo:

Se le da un puntaje de 0 a 2 a las historias de usuario (requerimientos) en base

a los siguientes factores.

Desarrollable (¿se conocen todos los detalles de la historia?)

Completo (0)

Incompleto (1)

No se sabe (2)

Flexibilidad (¿es aplicable a cambios?)

Page 76: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

69

Bajo (0)

Medio (1)

Alto (2)

Complejidad (¿qué tan difícil es para construirlo?)

Simple (0)

Estándar (1)

Complejo (2)

Iteraciones

El plan de entrega está compuesto por iteraciones de no más de tres semanas.

En la primera semana se intenta establecer una arquitectura utilizable a lo largo

del proyecto.

En la elaboración del plan de iteración deben considerarse (Beck 2001):

Historias de usuario no abordadas

Velocidad del proyecto

Pruebas de aceptación no superadas en la iteración anterior

Tareas no terminadas en la iteración anterior

Los usuarios son los que deciden que historias se van a realizar en cada

iteración, sabiendo que en la primera iteración se suele realizar una arquitectura

del sistema que pueda ser utilizada durante el resto del proyecto, seleccionando

aquellas historias que ayuden a construirla. Las pruebas funcionales creadas por

el cliente son ejecutadas al final de cada iteración, de tal manera que al final de

esta fase obtenemos una versión lista para producción.

Al final de la última iteración el sistema está listo para entrar en producción

Page 77: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

70

Producción

Esta fase se reduce a una semana, requiere de pruebas adicionales y revisiones

de rendimiento antes de ser trasladado al entorno del cliente, se toman

decisiones de inclusión de nuevas características, las ideas que se proponen

en esta fase son documentadas para su posterior implementación (Beck

2001).

Mantenimiento

Una vez se ha liberada la primera versión a los usuarios, el proyecto se debe

mantener en el entorno de producción siempre y cuando aún hayan iteraciones

en fase de producción. Se deben de realizar nuevas iteraciones a través de

tareas de soporte para el cliente (Beck 2001).

Fin del proyecto

Es cuando el cliente no tiene más historias (requerimientos) que incluir en el

sistema. Esto requiere que el sistema satisfaga las necesidades en rendimiento

y confiabilidad. Se genera la documentación final (Beck 2001).

2. Roles

(Beck 2001) Define los siguientes roles:

Programador

El programador escribe las pruebas unitarias y produce el código del sistema.

Debe existir una comunicación y coordinación adecuada entre los

programadores y otros miembros del equipo.

Cliente

El cliente escribe las historias de usuario y las pruebas funcionales para validar

su implementación. Además, asigna la prioridad a las historias de usuario y

decide cuáles se implementan en cada iteración centrándose en aportar mayor

valor al negocio. El cliente es sólo uno dentro del proyecto pero puede

Page 78: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

71

corresponder a un interlocutor que está representando a varias personas que se

verán afectadas por el sistema.

Encargado de pruebas (Tester)

El encargado de pruebas ayuda al cliente a escribir las pruebas funcionales.

Ejecuta las pruebas regularmente, difunde los resultados en el equipo y es

responsable de las herramientas de soporte para pruebas.

Encargado de seguimiento (Tracker)

El encargado de seguimiento proporciona realimentación al equipo en el proceso

XP. Su responsabilidad es verificar el grado de acierto entre las estimaciones

realizadas y el tiempo real dedicado, comunicando los resultados para mejorar

futuras estimaciones.

También realiza el seguimiento del progreso de cada iteración y evalúa si los

objetivos son alcanzables con las restricciones de tiempo y recursos presentes.

Determina cuándo es necesario realizar algún cambio para lograr los objetivos

de cada iteración.

Entrenador (Coach)

Es responsable del proceso global. Es necesario que conozca a fondo el

proceso XP para proveer guías a los miembros del equipo de forma que se

apliquen las prácticas XP y se siga el proceso correctamente.

Consultor

Es un miembro externo del equipo con un conocimiento específico en algún

tema necesario para el proyecto. Guía al equipo para resolver un problema

específico.

Page 79: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

72

Gestor (Big boss)

Es el vínculo entre clientes y programadores, ayuda a que el equipo trabaje

efectivamente creando las condiciones adecuadas. Su labor esencial es de

coordinación.

3. Prácticas

(Beck 2001) Define las siguientes prácticas:

El juego de la planificación

El equipo de desarrolladores estima el esfuerzo necesario para implementar las

historias y los clientes determinan los objetivos y tiempos de entrega.

Historias de usuario

Son los requisitos del sistema formulados en una o dos sentencias, en el

lenguaje común del cliente.

Cortas y pequeñas iteraciones

Un sistema simple se libera cada dos o tres meses y las diferentes versiones del

mismo se suceden en periodos no superiores al mes.

Metáforas

El sistema se define utilizando un conjunto de metáforas acordadas entre el

cliente y los programadores. Esta historia compartida guiará todo el proceso

describiendo cómo funciona el sistema.

Diseño simple

Se da gran importancia a la obtención de diseños simples que se puedan

implementar rápidamente, evitando diseños complejos y código extra.

Es la mejor manera de que las cosas funcionen. Cuando todo funcione se podrá

añadir funcionalidad si es necesario. La programación extrema apuesta que es

Page 80: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

73

más sencillo hacer algo simple y tener un poco de trabajo extra para cambiarlo si

se requiere, que realizar algo complicado y quizás nunca utilizarlo.

Pruebas El desarrollo del software es orientado a pruebas (Test Driven Development) Las

pruebas unitarias se escriben antes que el código y están funcionando

continuamente. Las pruebas funcionales las escriben los clientes.

Pruebas unitarias continuas, frecuentemente repetidas y automatizadas,

incluyendo pruebas de regresión. Se aconseja escribir el código de la prueba

antes de la codificación. Véase, por ejemplo, las herramientas de prueba JUnit

orientada a Java, DUnit orientada a Delphi, NUnit para la plataforma.NET o

PHPUnit para PHP. Estas tres últimas inspiradas en JUnit.

Refactorizar

Reestructurar el sistema eliminando duplicaciones, mejorando la comunicación,

simplificando y añadiendo flexibilidad.

Programación por pares

Es la técnica que promulga que dos personas escriban código en la misma

computadora.

Se recomienda que las tareas de desarrollo se lleven a cabo por dos personas

en un mismo puesto. Se supone que la mayor calidad del código escrito de esta

manera -el código es revisado y discutido mientras se escribe- es más

importante que la posible pérdida de productividad inmediata.

Propiedad colectiva

Cualquiera puede compartir cualquier parte de código con cualquier otro

componente del equipo.

Page 81: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

74

Integración continúa

Una nueva porción de código es integrada en el código fuente, tan pronto como

este lista. El sistema es integrado y construido muchas veces a lo largo del día,

todas las pruebas son ejecutadas y deben ser pasadas para aceptar la nueva

porción de código.

40 horas a la semana

Se establece un máximo de 40 horas de trabajo semanales.

Disponibilidad del cliente

Los clientes deben estar disponibles y presentes cuando sean requeridos por el

equipo de desarrollo.

Estándares de codificación

Reglas de codificación son establecidas y seguidas por los programadores. Se

enfatiza la comunicación a través del código.

Espacios de trabajo abiertos

Un gran espacio, con cubículos es lo recomendable.

4. Entorno de uso

(Beck 2001) en su opinión cree que a pesar de ser una metodología

ampliamente utilizada, tiene sus límites, los cuales aun no han sido claramente

establecidos. Especifica que XP es una metodología en la que es recomendable

trabajar con equipos de tamaño medio o pequeños, es decir entre tres y veinte

componentes como máximo. Considera intolerable esparcir los componentes de

un mismo equipo en ubicaciones distintas que no sean en la misma planta y

oficina. También considera un factor determinante la cultura de la empresa,

declarando que si observamos resistencia en cualquiera de las prácticas o

técnicas de XP es muy probable que el proyecto fracase. Otro factor clave para

utilizar con éxito XP es la tecnología, si esta no acepta cambios frecuentes o

Page 82: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

75

requiere de continua retroalimentación, es muy probable que no consigamos

sacar el proyecto adelante.

En mi opinión esta metodología es de las más completas, mayor documentadas

y con mayor aceptación que cumple con muchos de los requisitos e ideologías

agiles, y las 6 fases del ciclo de vida para el desarrollo de software me parecen

ideales para el desarrollo de software de una MPE.

2.8.2 Scrum

La primera vez que se asocio el término Scrum a los procesos de desarrollo fue

en 1986, cuando Nonaka y Takeuchi presentaron su artículo The New Product

Development Game. Nonaka y Takeuchi presentaban en este artículo un

proceso adaptativo, rápido y auto-organizado de desarrollo de productos

(Carvajal 2008).

Scrum es un proceso en el que se aplican de manera regular un conjunto

de buenas prácticas para trabajar colaborativamente, en equipo, y obtener el

mejor resultado posible de un proyecto. Estas prácticas se apoyan unas a otras

y su selección tiene origen en un estudio de la manera de trabajar de equipos

altamente productivos (Agiles 2011).

En Scrum se realizan entregas parciales y regulares del producto final,

priorizadas por el beneficio que aportan al receptor del proyecto. Por ello, Scrum

está especialmente indicado para proyectos en entornos complejos, donde se

necesita obtener resultados pronto, donde los requisitos son cambiantes o poco

definidos, donde la innovación, la competitividad, la flexibilidad y la productividad

son fundamentales (Agiles 2011).

Page 83: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

76

Scrum también se utiliza para resolver situaciones en que no se está entregando

al cliente lo que necesita, cuando las entregas se alargan demasiado, los costes

se disparan o la calidad no es aceptable, cuando se necesita capacidad de

reacción ante la competencia, cuando la moral de los equipos es baja y la

rotación alta, cuando es necesario identificar y solucionar ineficiencias

sistemáticamente o cuando se quiere trabajar utilizando un proceso

especializado en el desarrollo de producto (Letelier and Penades 2009).

1. Procesos

En Scrum un proyecto se ejecuta en bloques temporales cortos y fijos

(iteraciones de un mes natural y hasta de dos semanas, si así se necesita).

Cada iteración tiene que proporcionar un resultado completo, un incremento de

producto final que sea susceptible de ser entregado con el mínimo esfuerzo al

cliente cuando lo solicite (Agiles 2011).

El proceso parte de la lista de objetivos/requisitos priorizada del producto, que

actúa como plan del proyecto. En esta lista el cliente prioriza los objetivos

balanceando el valor que le aportan respecto a su coste y quedan repartidos en

iteraciones y entregas. De manera regular el cliente puede maximizar la utilidad

de lo que se desarrolla y el retorno de inversión mediante la replanificación de

objetivos que realiza al inicio de cada iteración, ver figura 10:

Page 84: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

77

Fig. 10. Fases de SCRUM

(Agiles 2011)

Planificación de la iteración

El primer día de la iteración se realiza la reunión de planificación de la iteración.

Tiene dos partes:

Selección de requisitos (4 horas máximo).

El cliente presenta al equipo la lista de requisitos priorizada del producto o

proyecto. El equipo pregunta al cliente las dudas que surgen y selecciona los

requisitos más prioritarios que se compromete a completar en la iteración, de

manera que puedan ser entregados si el cliente lo solicita.

Page 85: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

78

Planificación de la iteración (4 horas máximo).

El equipo elabora la lista de tareas de la iteración necesarias para desarrollar los

requisitos a que se ha comprometido. La estimación de esfuerzo se hace de

manera conjunta y los miembros del equipo se auto asignan las tareas (Agiles

2011).

Ejecución de la iteración

Cada día el equipo realiza una reunión de sincronización (15 minutos

máximo). Cada miembro del equipo inspecciona el trabajo que el resto está

realizando (dependencias entre tareas, progreso hacia el objetivo de la iteración,

obstáculos que pueden impedir este objetivo) para poder hacer las adaptaciones

necesarias que permitan cumplir con el compromiso adquirido. En la reunión

cada miembro del equipo responde a tres preguntas:

¿Qué he hecho desde la última reunión de sincronización?

¿Qué voy a hacer a partir de este momento?

¿Qué impedimentos tengo o voy a tener?

Durante la iteración el Facilitador se encarga de que el equipo pueda cumplir con

su compromiso y de que no se merme su productividad.

Elimina los obstáculos que el equipo no puede resolver por sí mismo.

Protege al equipo de interrupciones externas que puedan afectar su compromiso

o su productividad (Agiles 2011).

Inspección y adaptación

El último día de la iteración se realiza la reunión de revisión de la iteración. Tiene

dos partes:

Demostración (4 horas máximo).

El equipo presenta al cliente los requisitos completados en la iteración, en forma

de incremento de producto preparado para ser entregado con el mínimo

esfuerzo. En función de los resultados mostrados y de los cambios que haya

Page 86: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

79

habido en el contexto del proyecto, el cliente realiza las adaptaciones necesarias

de manera objetiva, ya desde la primera iteración, replanificando el proyecto.

Retrospectiva (4 horas máximo).

El equipo analiza cómo ha sido su manera de trabajar y cuáles son los

problemas que podrían impedirle progresar adecuadamente, mejorando de

manera continua su productividad. El Facilitador se encargará de ir eliminando

los obstáculos identificados (Agiles 2011).

2. Roles

Facilitador (Scrum Master)

Es importante darse cuenta que Scrum Master es más que un rol, es la

responsabilidad de funcionamiento de modelo, por tanto muchas veces es

aconsejable utilizar a personas y puestos más adecuados según la organización.

Un Scrum Master debe interactuar tanto con el equipo como con el cliente y con

los gestores (Agiles 2011).

Lidera al equipo llevando a cabo las siguientes responsabilidades:

Velar por que todos los participantes del proyecto sigan las reglas y proceso de

Scrum, encajándolas en la cultura de la organización, y guiar la colaboración

entre el equipo y con el cliente de manera que las sinergias sean máximas. Esto

implica:

Asegurar que la lista de requisitos priorizada esté preparada antes de la

siguiente iteración.

Facilitar las reuniones de Scrum (planificación de la iteración, reuniones

diarias de sincronización del equipo, demostración, retrospectiva), de

manera que sean productivas y consigan sus objetivos.

Enseñar al equipo a auto gestionarse. No da respuestas, si no que guía al

equipo con preguntas para que descubra por sí mismo una solución

(Agiles 2011).

Page 87: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

80

Quitar los impedimentos que el equipo tiene en su camino para conseguir el

objetivo de cada iteración (proporcionar un resultado útil al cliente de la manera

más efectiva) y poder finalizar el proyecto con éxito. Estos obstáculos se

identifican de manera sistemática en las reuniones diarias de sincronización del

equipo y en las reuniones de retrospectiva.

Proteger y aislar al equipo de interrupciones externas durante la ejecución de la

iteración (introducción de nuevos requisitos). De esta manera, el equipo puede

mantener su productividad y el compromiso que adquirió sobre los requisitos que

completaría en la iteración (notar, que el equipo debe reservar tiempo para

colaborar con al cliente en la preparación de la lista de requisitos para la próxima

iteración) (Agiles 2011).

Equipo de desarrollo

Grupo de personas que de manera conjunta desarrollan el producto del

proyecto. Tienen un objetivo común, comparten la responsabilidad del trabajo

que realizan (así como de su calidad) en cada iteración y en el proyecto.

El tamaño del equipo está entre 5 y 9 personas. Por debajo de 5 personas

cualquier imprevisto o interrupción sobre un miembro del equipo compromete

seriamente el compromiso que han adquirido y, por tanto, el resultado que se va

a entregar al cliente al finalizar la iteración. Por encima de 9 personas, la

comunicación y colaboración entre todos los miembros se hace más difícil y se

forma subgrupos (Agiles 2011).

Es un equipo auto organizado, que comparte información y cuyos miembros

confían entre ellos. Realiza de manera conjunta las siguientes actividades en la

definición de (Agiles 2011):

Seleccionar los requisitos que se compromete a completar en una

iteración, de forma que estén preparados para ser entregados al cliente.

Page 88: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

81

Estimar la complejidad de cada requisito en la lista de requisitos priorizada

del producto o proyecto.

En la reunión de planificación de la iteración decide cómo va a realizar su

trabajo

Seleccionar los requisitos que pueden completar en cada iteración,

realizando al cliente las preguntas necesarias.

Identificar todas las tareas necesarias para completar cada requisito.

Estimar el esfuerzo necesario para realizar cada tarea.

Cada miembro del equipo se auto asigna a las tareas.

Durante la iteración, trabajar de manera conjunta para conseguir los

objetivos de la iteración. Cada especialista lidera el trabajo en su área y el

resto colaboran si es necesario para poder completar un requisito.

Al finalizar la iteración

Demostrar al cliente los requisitos completados en cada iteración.

Hacer una retrospectiva la final de cada iteración para mejorar de forma

continua su manera de trabajar.

El equipo es multidisciplinar

Los miembros del equipo tienen las habilidades necesarias para poder

identificar y ejecutar todas las tareas que permiten proporcionar al cliente

los requisitos comprometidos en la iteración.

Tienen que depender lo mínimo de personas externas al equipo, de

manera que el compromiso que adquieren en cada iteración no se ponga

en peligro.

Se crea una sinergia que permite que el resultado sea más rico al nutrirse

de las diferentes experiencias, conocimientos y habilidades de todos.

Colaboración creativa.

Page 89: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

82

Los miembros del equipo dedicarse al proyecto a tiempo completo para evitar

dañar su productividad por cambios de tareas en diferentes proyectos, para

evitar interrupciones externas y así poder mantener el compromiso que

adquieren en cada iteración.

Todos los miembros del equipo trabajan en la misma localización física, para

poder maximizar la comunicación entre ellos mediante conversaciones cara a

cara, diagramas en pizarras blancas, etc.

El equipo debe ser estable durante el proyecto, sus miembros deben cambiar lo

mínimo posible, para poder aprovechar el esfuerzo que les ha costado construir

sus relaciones interpersonales, engranarse y establecer su organización del

trabajo (Agiles 2011).

Cliente

Las responsabilidades del Cliente (que puede ser interno o externo a la

organización) son:

Ser el representante de todas las personas interesadas en los resultados del

proyecto (internas o externas a la organización, promotores del proyecto y

usuarios finales [idealmente también debería ser un usuario clave] o

consumidores finales del producto) y actuar como interlocutor único ante el

equipo, con autoridad para tomar decisiones y definir los objetivos del producto o

proyecto (Agiles 2011).

Dirigir los resultados del proyecto

Es el propietario de la planificación del proyecto: crea y mantiene la lista

priorizada con los requisitos necesarios para cubrir los objetivos del

producto o proyecto, conoce el valor que aportará cada requisito.

Reparte los objetivos/requisitos en iteraciones y establece un calendario

de entregas.

Antes de iniciar cada iteración replanifica el proyecto en función de los

requisitos que aportan más valor en ese momento, de los requisitos

completados en la iteración anterior y del contexto del proyecto en ese

Page 90: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

83

momento (demandas del mercado, movimientos de la competencia, etc.)

(Agiles 2011).

Colaborar con el equipo para planificar, revisar y dar detalle a los objetivos

de cada iteración

Participar en la reunión de planificación de iteración, proponiendo los

requisitos más prioritarios a desarrollar, respondiendo a las dudas del

equipo y detallando los requisitos que el equipo se comprometer a hacer.

Estar disponible durante el curso de la iteración para responder a las

preguntas que puedan aparecer.

No cambiar los requisitos que se están desarrollando en una iteración,

una vez está iniciada.

Participar en la reunión de demostración de la iteración, revisando los

requisitos completados (Agiles 2011).

3. Prácticas

Scrum dispone de prácticas y herramientas para la gestión de las diferentes

fases de Scrum (Carvajal 2008). A continuación las principales prácticas y

herramientas:

Lista de Objetivos (Product Backlog)

Define los requisitos del sistema o el trabajo a hacer a lo largo del proyecto. Está

compuesto por una lista de requisitos de negocio y técnicos, actualizados y

priorizados.

La lista de objetivos/requisitos priorizada representa la visión y expectativas del

cliente respecto a los objetivos y entregas del producto o proyecto. El cliente es

el responsable de crear y gestionar la lista (con la ayuda del Facilitador y del

equipo, quien proporciona el coste estimado de completar cada requisito). Dado

que reflejar las expectativas del cliente, esta lista permite involucrarle en la

dirección de los resultados del producto o proyecto.

Page 91: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

84

Contiene los objetivos/requisitos de alto nivel del producto o proyecto, que

se suelen expresar en forma de historias de usuario. Para cada

objetivo/requisito se indica el valor que aporta al cliente y el coste

estimado de completarlo. La lista está priorizada balanceando el valor que

cada requisito aporta al negocio frente al coste estimado que tiene su

desarrollo, es decir, basándose en el Retorno de la Inversión (ROI).

En la lista se indican las posibles iteraciones y las entregas esperadas por

el cliente (los puntos en los cuales desea que se le entreguen los

objetivos/requisitos completados hasta ese momento), en función de la

velocidad de desarrollo del (los) equipo(s) que trabajará(n) en el proyecto.

Es conveniente que el contenido de cada iteración tenga una coherencia,

de manera que se reduzca el esfuerzo de completar todos sus objetivos.

La lista también tiene que considerar los riesgos del proyecto e incluir los

requisitos o tareas necesarios para mitigarlos (Agiles 2011).

En la tabla 8 se muestra un ejemplo de Lista de objetivos:

Tabla 8. Lista de objetivos en Scrum

(Agiles 2011)

Page 92: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

85

Planificación de la Iteración (Sprint Planning)

La planificación de las tareas a realizar en la iteración se divide en dos partes:

Primera parte de la reunión. Se realiza en un estimado de tiempo como

máximo 4 horas

El cliente presenta al equipo la lista de requisitos priorizada del producto o

proyecto, pone nombre a la meta de la iteración (de manera que ayude a tomar

decisiones durante su ejecución) y propone los requisitos más prioritarios a

desarrollar en ella.

El equipo examina la lista, pregunta al cliente las dudas que le surgen, añade

más condiciones de satisfacción y selecciona los objetivos/requisitos más

prioritarios que se compromete a completar en la iteración, de manera que

puedan ser entregados si el cliente lo solicita (Agiles 2011).

Segunda parte de la reunión. Se realiza en un estimado de tiempo como

máximo 4 horas

El equipo planifica la iteración, elabora la táctica que le permitirá conseguir el

mejor resultado posible con el mínimo esfuerzo. Esta actividad la realiza el

equipo dado que ha adquirido un compromiso, es el responsable de organizar su

trabajo y es quien mejor conoce cómo realizarlo.

Define las tareas necesarias para poder completar cada objetivo/requisito,

creando la lista de tareas de la iteración (Sprint Backlog) basándose en la

definición de completado.

Realiza una estimación conjunta del esfuerzo necesario para realizar cada tarea.

Cada miembro del equipo se autoasigna a las tareas que puede realizar (Agiles

2011).

Lista de tareas de la iteración (Sprint Backlog)

Lista de tareas que el equipo elabora en la reunión de planificación de la

iteración (Sprint planning) como plan para completar los objetivos/requisitos

Page 93: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

86

seleccionados para la iteración y que se compromete a demostrar al cliente al

finalizar la iteración, en forma de incremento de producto preparado para ser

entregado.

Esta lista permite ver las tareas donde el equipo está teniendo problemas y no

avanza, con lo que le permite tomar decisiones al respecto.

Para cada uno de los objetivos/requisitos se muestran sus tareas, el esfuerzo

pendiente para finalizarlas y la auto asignación que han hecho los miembros del

equipo (Agiles 2011).

En la tabla 9 se muestra un ejemplo de lista de tareas de la iteración:

Tabla 9. Lista de tareas de la iteración en Scrum

(Agiles 2011)

Page 94: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

87

Reunión diaria de sincronización del equipo (Scrum daily meeting)

El objetivo de esta reunión es facilitar la transferencia de información y la

colaboración entre los miembros del equipo para aumentar su productividad, al

poner de manifiesto puntos en que se pueden ayudar unos a otros.

Cada miembro del equipo inspecciona el trabajo que el resto está realizando

(dependencias entre tareas, progreso hacia el objetivo de la iteración, obstáculos

que pueden impedir este objetivo) para al finalizar la reunión poder hacer las

adaptaciones necesarias que permitan cumplir con el compromiso conjunto que

el equipo adquirió para la iteración (en la reunión de planificación de la iteración)

(Agiles 2011).

Cada miembro del equipo debe responder las siguientes preguntas en un lapso

de tiempo como máximo 15 minutos:

¿Qué he hecho desde la última reunión de sincronización? ¿Pude hacer todo lo

que tenía planeado? ¿Cuál fue el problema?

¿Qué voy a hacer a partir de este momento?

¿Qué impedimentos tengo o voy a tener para cumplir mis compromisos en esta

iteración y en el proyecto?

Como apoyo a la reunión, el equipo cuenta con la lista de tareas de la iteración,

donde se actualiza el estado y el esfuerzo pendiente para cada tarea, así como

con el gráfico de horas pendientes en la iteración (Agiles 2011).

Demostración de requisitos completados (Sprint Review)

Reunión informal donde el equipo presenta al cliente los requisitos completados

en la iteración, en forma de incremento de producto preparado para ser

entregado con el mínimo esfuerzo, haciendo un recorrido por ellos lo más real y

cercano posible al objetivo que se pretende cubrir.

Page 95: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

88

En función de los resultados mostrados y de los cambios que haya habido en el

contexto del proyecto, el cliente realiza las adaptaciones necesarias de manera

objetiva, ya desde la primera iteración, replanificando el proyecto.

Se realiza en un lapso de tiempo como máximo 4 horas (Agiles 2011).

Retrospectiva (Sprint Retrospective)

Con el objetivo de mejorar de manera continua su productividad y la calidad del

producto que está desarrollando, el equipo analiza cómo ha sido su manera de

trabajar durante la iteración, por qué está consiguiendo o no los objetivos a que

se comprometió al inicio de la iteración y por qué el incremento de producto que

acaba de demostrar al cliente era lo que él esperaba o no:

¿Qué cosas han funcionado bien?

¿Cuales hay que mejorar?

¿Qué cosas quiere probar hacer en la siguiente iteración?

¿Qué ha aprendido?

¿Cuáles son los problemas que podrían impedirle progresar adecuadamente? El

Facilitador se encargará de ir eliminando los obstáculos identificados que el

propio equipo no pueda resolver por sí mismo.

Notar que esta reunión se realiza después de la reunión de demostración al

cliente de los objetivos conseguidos en la iteración, para poder incorporar su

feedback y cumplimiento de expectativas como parte de los temas a tratar en la

reunión de retrospectiva

Se realiza en un lapso de tiempo como máximo 3 horas (si la iteración es

mensual) (Agiles 2011).

Gráficos de trabajo pendiente (Burndown charts)

Un gráfico de trabajo pendiente a lo largo del tiempo muestra la velocidad a la

que se está completando los objetivos/requisitos. Permite extrapolar si el Equipo

podrá completar el trabajo en el tiempo estimado (Agiles 2011).

Se pueden utilizan los siguientes gráficos de esfuerzo pendiente:

Page 96: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

89

Días pendientes para completar los requisitos del producto o proyecto

(product burndown chart), realizado a partir de la lista de requisitos priorizada

(Product Backlog).

Horas pendientes para completar las tareas de la iteración (sprint

burndown chart), realizado a partir de la lista de tareas de la iteración (Iteration

Backlog) (Agiles 2011).

Este tipo de gráfico permite realizar diversas simulaciones: ver cómo se aplazan

las fechas de entrega si se le añaden requisitos, ver cómo se avanzan si se le

quitan requisitos o se añade otro equipo, etc. (Agiles 2011).

En las figuras 11 y 12 se muestran los ejemplos:

Fig. 11. Gráfico a partir de lista de requisitos en SCRUM

(Agiles 2011)

Page 97: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

90

Fig. 12. Gráfico a partir de horas pendientes de iteración en SCRUM

(Agiles 2011)

4. Entorno de uso

Scrum es una metodología que es usada cuando el cliente requiere tener

resultados a corto plazo, cambiar a menudo los requisitos del proyecto, ver si se

cumplen sus expectativas a lo largo del desarrollo (Carvajal 2008).

Por parte de la empresa desarrolladora de software ofrece tener equipos

altamente productivos y motivados, solucionar los problemas que impiden que

los equipos progresen, utilizar un proceso de gestión ligero aún en proyectos

complejos (Carvajal 2008).

Scrum es una metodología que cubre a la perfección las áreas de gestión de

proyecto ágiles. La mayoría de los esfuerzos se están centrando en combinar

metodologías ágiles que sean complementarias, como por ejemplo Scrum y XP.

Es de resaltar las diversas prácticas y herramientas graficas que maneja Scrum

(Agiles 2011).

Page 98: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

91

2.8.3 Metodologías Crystal

Se trata de un conjunto de metodologías para el desarrollo de software

caracterizadas por estar centradas en las personas que componen el equipo (de

ellas depende el éxito del proyecto) y la reducción al máximo del número de

artefactos producidos. Han sido desarrolladas por Alistair Cockburn. El

desarrollo de software se considera un juego cooperativo de invención y

comunicación, limitado por los recursos a utilizar. El equipo de desarrollo es un

factor clave, por lo que se deben invertir esfuerzos en mejorar sus habilidades y

destrezas, así como tener políticas de trabajo en equipo definidas. Estas

políticas dependerán del tamaño del equipo, estableciéndose una clasificación

por colores, por ejemplo Crystal Clear (3 a 8 miembros) y Crystal Orange (25 a

50 miembros). En este análisis analizare Crystal Clear, ya que es el acorde para

una MPE (Carvajal 2008).

1. Procesos

La familia de metodologías Crystal no especifica ningún ciclo de vida concreto, ni

ningún modelo de procesos, en vez de eso lo que hace es determinar una guía

de las políticas estándar, productos de trabajo, asuntos locales, herramientas,

estándares y roles (Carvajal 2008).

Políticas estándar

Son las prácticas necesarias que se aplican a lo largo de todo proceso de

desarrollo del software. Se recomiendan las siguientes:

Entregas incrementales hechas regularmente.

Seguimiento del progreso mediante hitos claves basados en entregas de

software, más que en entrega de documentos.

Usuario involucrado directamente.

Pruebas automáticas regresivas de las funcionalidades.

Dos usuarios criticando cada entrega.

Page 99: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

92

Talleres del producto y puesto a punto de la metodología, en medio y al

final de cada iteración (Carvajal 2008).

Artefactos

Secuencia de entregas, modelado de objetos, manual de usuario, casos de

pruebas y código.

A modo particular Clear incluye anotaciones de los casos de uso y

características del producto. La planificación en Clear se pide que se haga

pensando en las diferentes entregas y reuniones con los clientes (Carvajal

2008).

Asuntos locales

Son asuntos locales aquellos procedimientos que Crystal especifica que deben

hacerse, pero el cómo, es responsabilidad del proyecto. Por ejemplo, la

documentación del proyecto es necesaria, pero como se haga es un asunto local

del proyecto (Carvajal 2008).

Herramientas

Las herramientas que necesita la metodología Crystal Clear son un compilador,

una herramienta de control de versiones y una herramienta de gestión, además

de pizarras, que ayudan a sustituir algunos documentos escritos y la realización

de reuniones (Carvajal 2008).

Actividades

Crystal propone seleccionar las notaciones estándares, convenciones de diseño,

estándares de formato y de calidad, a ser usadas en un proyecto.

Las actividades se verán en mayor detalle en el punto de prácticas.

En la figura 13 se pueden ver las principales actividades que se llevan a cabo en

una iteración.

Page 100: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

93

Fig. 13. Iteración en Crystal

(Carvajal 2008)

2. Roles

Sponsor.

Diseñador de programas senior.

Diseñador de programas.

Usuario. A tiempo parcial como mínimo (Carvajal 2008).

3. Prácticas

Planificación por etapas

Básicamente consiste en la planificación del siguiente incremento del sistema.

La planificación debe finalizar con una versión ejecutable cada tres o cuatro

meses como máximo. El equipo selecciona los requisitos que serán

Page 101: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

94

implementados en el incremento y planifican lo que creen que serán capaces de

hacer (Carvajal 2008).

Revisiones y resúmenes

Cada incremento consta de diferentes iteraciones y cada iteración incluye las

siguientes actividades: construcción, demostración y resumen de los objetivos

del incremento (Carvajal 2008).

Monitorización

Los progresos del proyecto son monitorizados a partir de las diferentes entregas

del equipo durante el proceso de desarrollo. El progreso se mide con los hitos

clave y la estabilidad de las fases (muy inestable, fluctúa y lo suficiente estable

para revisar) (Carvajal 2008).

Paralelismo y flujo

Cuando el monitor de estabilidad nos indica un estado lo suficientemente estable

para su revisión, entonces es el momento para pasar a la siguiente tarea

(Carvajal 2008).

Técnicas de puesta a punto de la metodología

Se basa en la realización de entrevistas y talleres elaborar una metodología

específica para cada proyecto.

Una de las ideas centrales es modificar o fijar el proceso de desarrollo, es muy

importante ver que cada vez que finaliza una iteración, el equipo tiene más

experiencia y puede modificar aspectos para que la metodología se adapte

mejor al proyecto (Carvajal 2008).

Punto de vista del usuario.

En Crystal Clear se sugiere la opinión de dos usuarios por cada versión del

producto liberada (Carvajal 2008).

Page 102: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

95

4. Entorno de uso

La metodología Crystal Clear tiene ciertas limitaciones que no les permiten

desarrollar proyectos con un alto componente crítico (altos factores de riesgo),

de la mismo forma que ambas prescriben su uso a entornos locales. Crystal

Clear restringe su entorno de trabajo a un solo equipo, situado en una misma

oficina (Carvajal 2008).

La guía de trabajo que presenta Crystal Clear es altamente recomendable para

equipos pequeños. Da flexibilidad y prioriza la parte humana (como todas las

Metodologías Agiles), apuntando a lograr eficiencia, habitabilidad y confianza en

los miembros del equipo (Carvajal 2008).

Presta especial importancia a la ubicación física del grupo, donde la

comunicación cumple el principal rol. La entrega frecuente de código confiable y

funcional mantiene el foco y evita distracciones.

El equipo es el que elige qué técnicas aplicar según lo que consideren apropiado

en cada proyecto (Letelier and Penades 2009).

2.8.4 Método de desarrollo de sistemas dinámicos (DSDM)

DSDM tiene sus orígenes en 1994 y desde entonces se ha convertido en uno de

los frameworks de desarrollo rápido de aplicaciones más utilizados y conocidos.

DSDM es un framework sin ánimo de lucro y sin propietarios para el desarrollo

rápido de aplicaciones, mantenido por el DSDM Consortium.

La idea fundamental de DSDM se basa en que en vez de fijar las

funcionalidades de un producto y después el tiempo y el coste, fijar primero el

tiempo y el coste y con esto fijado, determinar las funcionalidades que se

pueden implementar en el producto (Carvajal 2008).

Page 103: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

96

1. Procesos

DSDM está formado por las cinco siguientes fases: estudio de viabilidad, estudio

de negocio, modelo funcional de las iteraciones, iteraciones de diseño y

construcción e implementación, ver figura 14:

Fig. 14. Fases de DSDM

(Carvajal 2008)

Las dos primeras fases son secuenciales y se hacen solo una vez, mientras que

las otras tres son iterativas e incrementales a lo largo de todo el proceso de

desarrollo. DSDM trata las iteraciones como cajas de tiempo y estas duran un

predeterminado periodo de tiempo, una vez finalizadas, las iteraciones también

finalizan. El tiempo de duración de una iteración se decide de antes de iniciarla y

normalmente va desde unos pocos días, hasta unas pocas semanas (Carvajal

2008).

Estudio de viabilidad

En esta fase se estudia la idoneidad de utilizar DSDM en el proyecto que nos

ocupa y por tanto, se decide si utilizarlo o no. Otros aspectos que se tienen en

Page 104: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

97

cuenta en el estudio de viabilidad son las posibilidades técnicas de llevar a cabo

el proyecto y los riesgos presentes.

De esta fase se obtienen dos artefactos o productos de trabajo, son un reporte

de viabilidad y un esbozo del plan de desarrollo del proyecto. A veces, si la

tecnología con la que tratamos es desconocida, se realizar un prototipo para

conocerla mejor y ver sus posibilidades. Esta fase no debe pasar de unas pocas

semanas (Carvajal 2008).

Estudio de negocio

Esta es la fase en que las características principales del negocio y la tecnología,

son evaluadas. La manera recomendada del llevar a cabo esta fase es mediante

la realización de talleres, donde participaran los clientes más expertos en la

materia, de tal manera que sean capaces de identificar todas las facetas

fundamentales del sistema y acordar unas prioridades de desarrollo. Los

procesos de negocio y las clases de usuario afectadas se describirán en la

definición del área de negocio. Descripciones de alto nivel de los procesos de

negocio se incluyen en la definición del área de negocio, ya sea usando

diagramas Entidad Relación u objetos del modelo de negocio. Otros artefactos

que se generan en esta fase son una definición de la arquitectura del sistema y

un esbozo del plan de desarrollo del prototipo (Carvajal 2008).

Modelo funcional de las iteraciones

Es la primera de las fases iterativas e incrementales. En cada iteración los

contenidos y el enfoque son planificados, la iteración continua y los resultados

son analizados para mejorar las futuras iteraciones. Se realizan las tareas tanto

de análisis como de codificación, se construyen prototipos, y las experiencias

extraídas de ellos son para mejorar los modelos de análisis. Los prototipos no se

descartan por completo, sino que a medida que su calidad va aumentando, se

van incluyendo en el sistema final. Se genera un modelo funcional, el cual

contiene el código del prototipo y los modelos de análisis. Otra tarea que se

realiza en cada una de las iteraciones es la realización de pruebas.

Page 105: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

98

Otros artefactos que se generan en esta fase son una lista ordenada en función

de la prioridad de las funciones que son entregadas al final de la iteración y

documentación del prototipo funcional, que incluyen comentarios de los usuarios

sobre la iteración actual.

También se genera un listado con los requisitos no funcionales y un análisis de

los riegos que pueden surgir a lo largo del desarrollo (Carvajal 2008).

Iteraciones de diseño y construcción

Estas son las fases en las que principalmente se construye el sistema. El

resultado final es un sistema probado, que como al menos satisface los mínimos

requisitos establecidos. Esta fase es iterativa e incremental y el diseño y los

prototipos funcionales son revisados por los clientes, ocasionando los cambios

que sean necesarios en el sistema con sus aportaciones y comentarios (Carvajal

2008).

Implementación

En esta fase se pasa del entorno de desarrollo al entorno de producción. Se da

formación a los usuarios y finalmente se entrega el sistema para que lo utilicen.

En esta fase, además de la liberación del sistema, también se deben entregar un

manual de usuario y un informe de revisión del proyecto. En este último

documento, se especifican los futuros desarrollos necesarios, si es que los hay.

DSDM define cuatro posibles situaciones para los futuros desarrollos:

1. No se necesite realizar mayor desarrollo.

2. Se han dejado sin realizar un conjunto de requisitos importantes y en este

caso se tiene que reiniciar todo el proceso desde el principio.

3. Se han quedado algunas funcionalidades o críticas sin implementar,

entonces se vuelve a la fase de modelo funcional de iteraciones.

Page 106: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

99

4. La última situación es que algunos problemas técnicos no han podido ser

resueltos debido a falta de tiempo, ahora se corregirán realizando las

iteraciones que hagan falta desde la fase de diseño e implementación

(Carvajal 2008).

2. Roles

Desarrolladores y desarrollador sénior

Son los únicos roles que establece a nivel de desarrollo y cubren todos los

posibles papeles de las tareas de desarrollo como son el análisis, diseño,

implementación e incluso pruebas (Carvajal 2008).

Coordinador técnico

Es el responsable de la calidad técnica del proyecto y define la arquitectura del

sistema (Carvajal 2008).

El usuario embajador

Sus principales tareas son las de aportar el conocimiento de la comunidad de

usuarios al proyecto y de informar a los usuarios de los progresos del proyecto

(Carvajal 2008).

El asesor de los usuarios

Puede ser cualquier usuario que represente un importante punto de vista para el

proyecto. Por ejemplo un miembro del departamento de tecnología o un auditor

financiero, etc. (Carvajal 2008).

Visionario

Es un usuario que participa del proyecto y que tiene una percepción más real de

los objetivos de negocio del sistema y del proyecto. Normalmente suele ser el

tutor del proyecto y el que tuvo la idea inicial para realizarlo. Entre sus tareas se

encuentra supervisar que se identifican todos los requisitos de negocio y que se

van implementando en el orden de importancia correcto (Carvajal 2008).

Page 107: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

100

Sponsor ejecutivo

Es la persona de la compañía que tiene la autoridad financiera y la

responsabilidad. Por ende, el sponsor ejecutivo es el que suele tener la última

palabra en la toma de decisiones (Carvajal 2008).

3. Prácticas Existen nueve prácticas que definen la ideología y las bases de toda actividad en

DSDM (Carvajal 2008).

La involucración activa del usuario es imperativa

Unos pocos usuarios experimentados deben seguir todo el proceso de desarrollo

para asegurar una valoración correcta y a tiempo.

Los equipos DSDM deben tener libertad poder para tomar decisiones

En rápidos ciclos de desarrollo no se pueden tolerar largos periodos de decisión.

Los usuarios involucrados tienen el conocimiento para decidir hacia donde se

dirige el proyecto.

El objetivo es la entrega frecuente de productos

Las decisiones erróneas pueden ser solventadas si los ciclos son cortos y los

usuarios proporcionan unas valoraciones correctas.

Adecuación a los objetivos de negocio es el criterio esencial para aceptar

las entregas

Si los objetivos de negocio aún no han sido satisfechos no podemos dedicarnos

a mejorar técnicamente el sistema.

Page 108: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

101

El desarrollo iterativo e incremental es necesario para convergir en una

solución de negocio correcta

Rara vez los requisitos no varían a lo largo del proyecto, si dejamos al sistema

evolucionar a través del desarrollo iterativo, los errores se pueden corregir y

encontrar antes.

Todos los cambios durante el desarrollo son reversibles

A lo largo de todo el proyecto es sencillo tomar un camino incorrecto, pero con

cortas iteraciones y asegurando que todos nuestro pasos se puedan deshacer,

los caminos incorrectos pueden ser rectificados.

Los requisitos son la línea de base en alto nivel

Congelar los requisitos se puede hacer solo a alto nivel, para que los detalles de

los requisitos puedan variar libremente. De este modo fijamos los requisitos

esenciales en etapas tempranas del proyecto.

Las pruebas se integran a lo largo del ciclo de vida

Todos los componentes del sistema deberían ser probados por los

desarrolladores y usuarios al mismo tiempo que son desarrollados.

Un enfoque colaborativo y cooperativo compartido por todos los

integrantes de la empresa es esencial

Las decisiones de lo que es entregado y de lo que falta por realizar es siempre

un compromiso y requiere aceptación por todas las partes que participan.

4. Entorno de uso El tamaño de los equipos en DSDM varía desde un mínimo de dos integrantes

hasta seis, pudiendo coexistir múltiples equipos en un mismo proyecto. La razón

de que como mínimo haya dos componentes por equipo radica en que como

mínimo debe haber un desarrollador y un cliente. El número máximo ha sido

Page 109: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

102

extraído de diferentes experiencias con las metodologías. DSDM se puede

aplicar tanto a proyectos grandes como pequeños, siempre que los sistemas

grandes sean divisibles en componentes que puedan ser desarrollados por

equipos pequeños (Carvajal 2008).

Se sugiere la utilización de DSDM en aplicaciones empresariales antes que en

aplicaciones científicas (Carvajal 2008).

La selección de buenas prácticas, métodos y herramientas, que hayan sido

probadas es sin duda una estrategia inteligente, disponer de varias

metodologías donde elegir nos facilitará mucho ante un entorno hostil que

pudiera afectar los requisitos y objetivos de un proyecto software (Letelier and

Penades 2009).

En este análisis de estas cuatro metodologías da paso al siguiente capítulo del

desarrollo del modelo MPMPES donde en conjunto con MoProSoft y estas

metodologías agiles aplicadas al nivel de desarrollo y mantenimiento de software

se adapta a las principales virtudes y características de una MPE.

Page 110: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

103

CAPÍTULO III

Desarrollo del

Modelo MPMPES

Page 111: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

104

3.1 Modelo propuesto para el desarrollo

El modelo MPMPES se desarrollo siguiendo los procesos considerados en

MoProSoft y las Metodologías Ágiles, integrando las fases del ciclo de vida

tradicionales con los procesos de administración de proyectos y los procesos de

soporte necesarios para un desarrollo satisfactorio de un proyecto software en

una MPE.

MoProSoft considera tres bases organizacionales o niveles estructurales donde

los procesos son organizados (ver figura 3):

1. Alta Dirección, contiene la gestión de los procesos del negocio, su

propósito es establecer la razón de existencia de la organización,

sus objetivos y las condiciones requeridas para lograrlos.

2. Gerencia, consiste en la gestión de Procesos, gestión de Proyectos

y gestión de Recursos.

3. Operación, consiste en la gestión de Proyectos Específicos,

Desarrollo y Mantenimiento de Software.

En este Modelo MPMPES, considere 2 niveles estructurales que se apegan a las

características organizacionales y funcionales de un MPE:

1. Gerencia, contiene la gestión de procesos del negocio, gestión de

proyectos y gestión de recursos.

2. Operación, consiste en la gestión de proyectos, y Desarrollo y

Mantenimiento de Software.

Page 112: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

105

En la figura 15 se muestran los niveles de MPMPES:

Fig. 15. Niveles de MPMPES

A continuación describiré los 2 niveles, las actividades y requisitos de cada

proceso involucrado.

Page 113: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

106

3.2 Gerencia (GER)

3.2.1 Gestión de negocio, proyectos y recursos El propósito de la gestión del negocio es establecer el porqué de la existencia de

la organización, sus objetivos principales y condiciones para lograrlos, es

necesario considerar las necesidades de los clientes y los resultados obtenidos

para proponer cambios y mejoras continuas.

El propósito de la gestión de proyectos es asegurar que los proyectos

contribuyan al cumplimiento de los objetivos y estrategias de la organización.

El propósito de la gestión de recursos, es conseguir y dotar a la organización de

recursos humanos, infraestructura, ambiente de trabajo y proveedores, así como

la creación de una base de conocimiento de la organización.

Objetivo:

O1 Lograr que la organización trabaje en función de un plan estratégico

mediante la correcta implementación y mejoras del mismo si así se requiere.

O2 Cumplir con el Plan Estratégico de la organización mediante la generación y

realización de proyectos.

O3 Mantener bajo control las actividades de Gestión de Proyectos mediante el

cumplimiento del Plan de Gestión de Proyectos.

O4 Atender los Comentarios y Quejas del cliente mediante la definición y

ejecución de Acciones Correctivas o Preventivas.

O5 Lograr los objetivos del Plan Estratégico mediante la provisión de los

recursos humanos calificados e infraestructura suficiente.

O6 Proveer a los miembros de la organización, recursos y mecanismos

adecuados mediante la Base de Conocimiento.

Page 114: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

107

Actividades:

A1 Planificación Estratégica (O1)

Entradas: Propuesta de Mejoras.

Actividad: Define un plan estratégico, sobre lo que es más importante para

lograr el éxito de la organización con los siguientes elementos:

a) Misión, Visión y Valores;

b) Objetivos de la Organización, así como la forma de alcanzarlos por medio

de la definición de estrategias;

c) Cartera de proyectos que habilite la ejecución de estrategias;

d) Presupuesto, incluye gastos e ingresos;

e) Plan de comunicación con el cliente, incluye elementos de comunicación

con el cliente para su atención.

El plan estratégico se verifica y se valida, en caso de que haya una propuesta de

mejoras, es necesario revisar los elementos que son afectados y realizar los

cambios necesarios.

Salidas: Plan Estratégico.

A2 Mejora Continua

Entradas: Reporte de acciones correctivas o preventivas relacionadas con los

clientes, reportes financieros, propuestas tecnológicas, considerando los

factores externos de la organización.

Actividad: Se realizan las siguientes tareas:

a) Análisis de Reporte de acciones correctivas o preventivas relacionadas

con los clientes, reportes financieros, propuestas tecnológicas,

considerando los factores externos de la organización;

b) Generación del reporte de valoración en base al análisis;

c) Generación y Validación de la propuesta de mejoras al plan estratégico,

tomando en cuenta el reporte de valoración.

Page 115: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

108

Salidas: Propuesta de Mejoras.

A3 Planificación de Proyectos (O2, O4)

Entradas: Plan Estratégico.

Actividad: Se realizan las siguientes tareas:

a) A partir de de la Cartera de Proyectos identificada, en el Plan Estratégico

se establece o se actualiza el Plan de Gestión de Proyectos,

considerando los proyectos y oportunidades de proyectos de la

organización. Este plan contiene los siguientes elementos:

i) Plan de Ventas, se planea la realización de acciones para generar

y cerrar las oportunidades de proyectos, la presentación de

propuestas y la firma de contrato;

ii) Plan de Proyectos, se planea la asignación de recursos, el

seguimiento y la evaluación de los proyectos contratados.

b) Establecer Mecanismos de Comunicación con los Clientes.

Salidas: Plan de Gestión de Proyectos.

A4 Realización (O2, O3, O4)

Entradas: Plan de Gestión de Proyectos, Plan del Proyecto, Documento de

Aceptación.

Actividad: se realizan las siguientes tareas:

a) Ejecución del Plan de Proyectos y elaboración de los Contrato(s);

b) Ejecución del Plan de Gestión de Proyectos, generando para cada

proyecto el Registro del Proyecto, la Descripción del Proyecto y las

Metas Cuantitativas para el Proyecto;

c) Cierre de los Proyectos al recibir Documento(s) de Aceptación.

Salidas: Contrato(s), Registro(s) de Proyecto, Descripción(es) del Proyecto,

Metas cuantitativas para el Proyecto.

Page 116: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

109

En la figura 16 se muestran los procesos anteriores:

Fig. 16. Procesos de la gestión de negocio (GER)

Page 117: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

110

A5 Planificación de Recursos (O5, O6)

Entradas: Plan Estratégico.

Actividad: se realizan las siguientes tareas:

a) generación o actualización del Plan de Bienes, Servicios e Infraestructura,

a partir del Plan Estratégico;

b) generación o actualización del Plan de Recursos Humanos a partir del

Plan Estratégico;

c) generación o actualización del Plan de Conocimiento de la Organización,

a partir del Plan Estratégico.

Salidas: Plan de Bienes, Servicios e Infraestructura, Plan de Recursos

Humanos, Plan de Conocimiento de la Organización.

En la figura 17 se muestra el proceso de Planificación de Recursos:

Fig. 17. Proceso planificación de recursos (GER)

Page 118: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

111

A6 Preparación Plan de Bienes, Servicios e Infraestructura (O5)

El propósito de Bienes, Servicios e Infraestructura es proporcionar proveedores

de bienes, servicios e infraestructura que satisfagan los requisitos de los

proyectos

Entradas: Plan de Bienes, Servicios e Infraestructura.

Actividad: se realizan las siguientes tareas:

a) revisión del Plan de Bienes, Servicios e Infraestructura;

b) definición de criterios para:

i) selección y aceptación de los bienes y servicios;

ii) evaluación de los proveedores.

Salidas: Solicitud de Bienes ó Servicios.

A6.1 Instrumentación

Entradas: Solicitud de Bienes o Servicios, Proveedores.

Actividades: se realizan las siguientes tareas:

a) Solicitud de Bienes o Servicios, Proveedores;

b) selección de los proveedores y adquisición de bienes y servicios de

acuerdo a la Solicitud de Bienes o Servicios y la actualización de

Proveedores.

Salidas: Registro de Bienes ó Servicios, Proveedores.

En la figura 18 se muestran los procesos de Registro de Bienes, Servicios e

Infraestructura:

Page 119: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

112

Fig. 18. Procesos de bienes, servicios e infraestructura (GER)

En las actividades de la figura 18 está la solicitud de bienes, servicios e

infraestructura, así como los proveedores y el registro de los bienes de la

organización.

Page 120: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

113

A7 Preparación Plan de Recursos Humanos (O5, O6)

El propósito de Recursos Humanos es proporcionar los recursos humanos

adecuados para cumplir las responsabilidades asignadas a los roles dentro de la

organización.

Entradas: Plan de Recursos Humanos

Actividad: se realizan las siguientes tareas:

a) revisión del Plan de Recursos humanos;

b) definición de criterios para:

i) selección, asignación y aceptación de los recursos humanos;

ii) capacitación u otras acciones que satisfagan estas necesidades;

iii) evaluación de desempeño.

c) elaboración o actualización del Plan de Capacitación con base en el Plan

de Recursos Humanos.

Salidas: Plan de Capacitación.

A7.1 Instrumentación

Entradas: Plan de Recursos Humanos, Plan de Capacitación.

Actividad: se realizan las siguientes tareas:

a) selección, asignación y aceptación de los recursos humanos, en caso que

se contrate nuevo persona, integrarlo en el Registro de Recursos

Humanos;

b) capacitación de recursos humanos de acuerdo al Plan de Capacitación y

actualización del Registro de Recursos Humanos.

Salidas: Registro de Recursos Humanos.

Page 121: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

114

En la figura 19 se muestran los procesos Plan de Recursos Humanos y Plan de

Capacitación:

Fig. 19. Procesos de plan recursos humanos y capacitación (GER)

En las actividades de la figura 19 está los procesos del plan de recursos

humanos, el registro de recursos humanos, así como el plan de capacitación

necesario para el personal humano.

Page 122: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

115

A8 Preparación Plan de Conocimiento de la Organización (O6)

El propósito de Conocimiento de la Organización es mantener disponible y

administrar la Base de Conocimiento que contiene la información y los productos

generados por la organización.

Entradas: Plan de Conocimiento de la Organización.

Actividad: se realizan las siguientes tareas:

a) Elaboración del Diseño de la Base de Conocimiento;

i) identificación, documentación o actualización de las actividades

para la definición o modificación de la Base de Conocimiento de

acuerdo al Plan de Conocimiento de la Organización;

ii) identificación de los mecanismos de consulta, mantenimiento y

respaldo en función de los requisitos de los usuarios

Salidas: Diseño de la Base de Conocimiento.

A8.1 Realización

Entradas: Diseño de la Base de Conocimiento.

Actividad: se realizan las siguientes tareas:

a) generación o actualización del la Base de Conocimiento de la

organización de acuerdo al Diseño de la Base de Conocimiento;

b) implantación o mantenimiento de la Base de Conocimiento para que se

incorporen y se consulten los productos provenientes de procesos y

proyectos

Salidas: Base de Conocimiento.

En la figura 20 se muestran los procesos de Plan de Conocimiento de la

Organización:

Page 123: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

116

Fig. 20. Procesos de plan de conocimiento de la organización (GER)

En las actividades de la figura 20 está el diseño de la base de conocimiento de

la organización, así como las actividades de generación, mantenimiento y

actualización de la misma.

Page 124: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

117

3.3 Operación

3.3.1 Administración de proyectos (OPE.1) El propósito de la Administración de Proyectos es establecer y llevar a cabo

sistemáticamente las actividades que permitan cumplir con los objetivos de un

proyecto en tiempo y costo esperados.

Objetivo:

O1 Lograr los objetivos del proyecto en tiempo y costo mediante la coordinación

y el manejo de los recursos del mismo.

O2 Mantener informado al Cliente mediante la realización de reuniones de

avance del proyecto.

A1 Planificación del Proyecto (O1)

Entradas: Descripción del Proyecto, Metas.

Actividad: se realizan las siguientes tareas:

a) definición de Actividades con base en la Descripción del Proyecto, el

proceso de Desarrollo y Mantenimiento de Software y con el Cliente;

b) definición con el Cliente del Protocolo de Entrega;

c) determinación del Tiempo Estimado en las actividades considerando las

Metas para el proyecto;

d) integración del Equipo de Desarrollo, asignando roles y responsabilidades

basándose en la Descripción del Proyecto;

e) establecimiento del Calendario de las actividades;

f) calculo del Costo Estimado del proyecto, considerando las Metas para el

proyecto;

g) generación del Plan de Desarrollo en función del Plan del Proyecto.

Salidas: Plan de Desarrollo, Plan del Proyecto.

Page 125: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

118

A2 Realización (O1, O2)

Entradas: Plan de Desarrollo, Plan del Proyecto, Entrega de Software.

Actividad: Se realizan las siguientes tareas:

a) asignación de tareas al Equipo de Desarrollo;

b) revisión del Producto, Equipo de Desarrollo y Calendario;

c) recopilación de los Reportes de Actividades;

d) realización de reuniones de revisión con el Equipo de Desarrollo y el

Cliente;

e) revisión de los productos generados, que forman parte de la Entrega de

Software.

A3 Cierre (O1)

Entradas: Plan de Desarrollo, Plan del Proyecto, Entrega de Software.

Actividad: se realizan las siguientes tareas:

a) cierre formal del proyecto y Entrega del Software de acuerdo a lo

establecido en el Plan del Proyecto y obtención del Documento de

Aceptación;

b) generación de Sugerencias de Mejora en el proceso.

Salidas: Documento de Aceptación, Sugerencias de Mejora.

La figura 21 muestra los procesos de Administración de Proyectos:

Page 126: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

119

Fig. 21. Procesos de administración de proyectos

En las actividades de la figura 21 está la administración de proyectos, donde se

describe la descripción del proyecto, sus metas, el plan de desarrollo,

calendarización de actividades conforme al plan, así como la definición de

actividades a desarrollar a lo largo del proyecto

3.3.2 Desarrollo y mantenimiento de software (OPE.2) El propósito de Desarrollo y Mantenimiento de Software es la realización

sistemática de las actividades en base a las fases de la metodología ágil XP:

Exploración, Planificación de la Entrega, Iteración, Producción, Mantenimiento y

Termino del Proyecto así como integrando actividades de las metodologías

agiles XP, SCRUM, Crystal y DSDM, cumpliendo con los requisitos

especificados para el proyecto.

Page 127: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

120

En el Desarrollo y Mantenimiento de Software se utilizaron las fases que define

eXtreme Programming, asimismo cuando se haga mención en las actividades y

prácticas se señalará de que metodología ágil proviene.

Objetivo:

O1 Lograr que los productos de salida sean consistentes con los productos de

entrada en cada fase del ciclo de desarrollo mediante las actividades, prácticas y

pruebas.

O2 Llevar a cabo las actividades de las fases mediante el cumplimiento del Plan

de Desarrollo.

O3 Satisfacer al cliente mediante: tempranas, incrementales y continuas

entregas de software que le aporten un valor.

O4 Coordinar el proyecto entre el Cliente y el Equipo de Desarrollo.

O5 Realizar tareas de mantenimiento y soporte al cliente.

A1 Fase de Exploración (O1, O2, O4)

Entradas: Plan de Desarrollo.

Actividad: se realizan las siguientes tareas:

a) distribución de tareas a los miembros del equipo de desarrollo según su

rol, de acuerdo al Plan de Desarrollo;

b) obtención de los requerimientos de parte del cliente a través de las

historias de usuario (XP);

c) familiarización del equipo con las tecnologías y herramientas a utilizar a lo

largo del proyecto (DSDM);

d) creación de un prototipo simple para probar las posibilidades de la

arquitectura (XP).

Salidas: Especificación de Requerimientos.

Page 128: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

121

A2 Planificación de la Entrega (O1, O2, O4)

Entradas: Plan de Desarrollo, Especificación de Requerimientos.

Actividad: se realizan las siguientes tareas:

a) Establecer a través del cliente la prioridad de cada requerimiento (XP,

Crystal);

b) Estimación en esfuerzo, valor y riesgo cada requerimiento (XP);

c) Creación de una lista de requerimientos priorizada (SCRUM);

d) Planeación de la inclusión de nuevos requerimientos si así lo desea el

cliente para la próxima iteración (XP).

Salidas: Requerimientos para la próxima Iteración.

A3 Iteración (O1, O2, O3, O4)

Entradas: Plan de Desarrollo, Especificación de Requerimientos,

Requerimientos para la próxima Iteración.

Actividad: se realizan las siguientes tareas:

a) Establecer un plan de iteración de no más de tres semanas (XP);

b) Creación de lista de tareas de la iteración en conjunto con el cliente

(SCRUM);

c) Creación de una arquitectura utilizable a lo largo del proyecto (XP,

DSDM);

d) Aplicación de pruebas unitarias continuas, frecuentemente repetidas y

automatizadas, incluyendo pruebas de regresión. (Crystal, XP);

e) Realización de reuniones de sincronización con los miembros del Equipo

de Desarrollo (SCRUM);

f) Realización de gráficos de trabajo pendiente. (SCRUM);

g) Aplicación de Retrospectiva de la Iteración (SCRUM).

Page 129: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

122

Salidas: Plan de Iteración, Arquitectura del Proyecto.

A4 Producción (O1, O2, O3, O4)

Entradas: Plan de Desarrollo, Plan de Iteración, Arquitectura del Proyecto.

Actividad: se realizan las siguientes tareas:

a) Realización de pruebas adicionales y revisiones de rendimiento (XP);

b) Decisión en conjunto con el cliente de la inclusión de nuevas

características para su posterior implementación (XP, Crystal);

c) Liberación de la versión funcional al cliente (XP).

Salidas: Versión Funcional.

A5 Mantenimiento (O1, O2, O4, O5)

Entradas: Plan de Desarrollo, Versión Funcional.

Actividad: se realizan las siguientes tareas:

a) Mantención del proyecto en producción si aun hay iteraciones por incluir.

(XP);

b) Analizar nuevas iteraciones en conjunto con la opinión del cliente.

(Crystal);

c) Realización de Tareas de Soporte al Cliente (XP).

Salidas: Tareas de Soporte al Cliente

A6 Término del Proyecto (O1, O2, O4)

Entradas: Plan de Desarrollo.

a) Pasar a al Termino del Proyecto cuando el cliente no tenga más

requerimientos que incluir y el Proyecto satisfaga las necesidades en

rendimiento y confiabilidad. (XP, Crystal);

b) Liberación de la Versión Final de Software (XP, DSDM);

c) Elaboración y Liberación de Manual de Usuario al Cliente; (XP, DSDM)

Page 130: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

123

d) Entrega de Software al Cliente;

e) Elaboración de un informe de revisión de proyecto (DSDM).

Salidas: Versión Final de Software, Manual de Usuario, Entrega de

Software.

La figura 22 muestra los procesos de Desarrollo y Mantenimiento de Software:

Fig. 22. Procesos de desarrollo y mantenimiento de software

A continuación se muestra el mapa general del modelo MPMPES:

Page 131: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

124

Fig. 23. Mapa general MPMPES

Page 132: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

125

CAPÍTULO IV

Conclusiones

Page 133: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

126

4.1 Conclusiones Las empresas, en su estructura, sus procesos, y en todas las disciplinas que la

integran, buscan lograr la calidad en productos y servicios, la certificación en

algún estándar internacional o usando metodologías de procesos, lo anterior va

de la mano con obtener lo que la organización necesita:

Productos de calidad;

Fiables;

Estables;

Funcionales;

y que reflejen los requerimientos.

Si bien los estándares internacionales como ISO/SC7, son usados en empresas

de mediano y gran tamaño, aun no son fácilmente implementadas en empresas

pequeñas y muy pequeñas, muchos son los factores: pocos recursos, personal

reducido, además de la dificultad que encuentran organizaciones de este tipo

para adaptar estos estándares, sin embargo este tipo de empresas requieren y

reclaman el uso de estándares y obtener una certificación con los mismos.

Diversas investigaciones, abundan en como acotar estos estándares, tomando

el camino de la fusión entre los mismos, integrando metodologías de procesos,

ciclos de vida, metodologías ágiles, etc. El campo de acción es muy amplio,

sobre todo en Latinoamérica donde la mayoría de las organizaciones son de tipo

pequeño y muy pequeño, Grupos internacionales buscan integrar estos

estándares en la empresa, y obtener resultados tangibles en las mismas.

En esta tesis se desarrolló un modelo capaz de solucionar esta problemática

obteniendo de MoProSoft (Oktaba 2007) su estructura y acotando sus procesos

a los requeridos por una empresa de tipo MPE, en el nivel de Desarrollo y

Mantenimiento de Software se utilizaron las fases de la metodología ágil XP

Page 134: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

127

como estructura principal, a cada fase se fusionaron las prácticas, herramientas

y actividades de las siguientes metodologías:

XP;

SCRUM;

Crystal;

DSDM.

Con lo anterior obtenemos lo mejor de cada metodología, ya que con el análisis

concluimos que cada metodología es aplicable en casos específicos, con

diferentes técnicas, procesos, actividades y herramientas formales y no

formales. Así el equipo de desarrollo de software tiene variedad tanto formal, no

formal, esquemática y grafica para desarrollar cada fase del proceso de

desarrollo y mantenimiento se software.

Si bien existen cantidad de implementaciones de modelos y paradigmas para el

desarrollo y mantenimiento de software, sin embargo el contar con un modelo de

este tipo para una micro y pequeña empresa nos sirve como una guía fácil,

adaptable y entendible para asegurar la calidad en los productos y servicios.

4.2 Trabajo Futuro

Esta tesis propone un modelo para las Micro y Pequeñas Empresas

Desarrolladoras de Software, nos proporciona una guía tanto grafica, como de

procesos y actividades a desarrollar acoplándose a las características de

tamaño y funcionales de una MPE, sin embargo el modelo puede ser aun más

avanzado si se le implementan las siguientes características:

Si se incorporan prácticas, actividades y herramientas de otras

metodologías agiles.

Page 135: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

128

Si se detallan los niveles de capacidad de cada proceso.

Si se jerarquiza los procesos por colores.

Si se realiza un patrón de procesos.

Agregar más procesos si en la práctica una MPE lo requiere.

Aplicar y analizar los resultados del modelo MPMPES en una micro ó

pequeña empresa desarrolladora de software.

Page 136: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

129

BIBLIOGRAFÍA Agiles, P. (2011). "http://www.proyectosagiles.org." Revisada noviembre de 2011, 2011. Alvarez, M. (2009). "Manual de la Micro, Pequeña y Mediana Empresa." 108. Beck, K. (2001). "http://www.agilealliance.org." Revisada Noviembre de 2011. Carvajal, J. (2008). Metodologías Ágiles: herramientas y modelo de desarrollo para aplicaciones java ee como metodología empresarial. UPC. Barcelona, Universidad de

Barcelona. Máster: 215. Derniame, J., B. Ali Kaba, et al. (1999). Software Process: Principles, Methodology, Technology., Springer. Fowler, M. (2003). "Who needs an Architect?" IEE Computer Society. Fundacion Wikimedia, I. (2011). "http://es.wikipedia.org/wiki/Software." Revisada 15 de Noviembre de 2011, 2011. Garcia, I. and L. E. Suarez (2007). "Determining Practice Achievement in Project Management using a Two-Phase Questionnaire on Small and Medium Enterprises." International Conference on Software Engineering Advances(ICSEA). Jacobson, I. (1992). "Object-Oriented Software Engineering: A Use Case Driven Aproach." ACM Press: 465-493. Joannou, P. (2007). "Enterprise, Systems, and Software Engineering-The Need for Integration." IEEE Computer Society Laporte, C. Y., S. Alexandre, et al. (2008). "A Software Engineering Lifecycle Standard for Very Small Enterprises." EuroSPI 16: 129-141. Laporte, C. Y., Alexandre, S., Renault, A., Crowder, K.V. (2008). "The Development of International Standards for Very Small Enterprises." INCOSE (International Council on Systems Engineering) Seventeenth International Symposium. Letelier, P. and C. Penades (2009). "Métodologías ágiles para el desarrollo de software: eXtreme Programming (XP)." Universidad Politécnica de Valencia: 17. Lewis, G. (1994). "What is Software Engineering?" DataPro (4015): 1-10.

Page 137: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Emilio_Damian_Bueno_Velez.pdf · Fases de SCRUM ... países miembros, en 1987 la ISO y IEC (International

130

López, O. (2003). "Ingeniería de Software: Entre la tradición de la Programación y el Managment." 2. Mc Caffery, F., P. S. Taylor, et al. (2007). "Adept: A Unified Assessment Method for Small Software Companies." IEEE Computer Society. Mizuno, O., T. Adachi, et al. (2001). "On prediction of cost and duration for risky software projects based on risk questionnaire ". Mochi, P. (2006). La industria del software en México en el contexto internacional y latinoamericano. CRIM. Cuernavaca, UNAM: 263. Monsalve, L. (2002). "Calidad de los Productos Software." Departamento Ingeniería Informática y Ciencias de la Computación: Universidad de Concepción Chile: 4. O.Mizuno, T., Y. Kikuno, et al. (2000). "Characterization of risky projects based on a project managers' evaluation." 387-395. Oktaba, H. (2007). Procesos de Software. Palacio, J. (2007). "Flexibilidad con Scrum, principios de diseño e implantación en campos Scrum." SafeCreative Octubre 2007. Pekka, A., S. Outi, et al. (2002). "Agile Software Development methods, review and analysis." VTT Electronics. Robert H., D. (1990). "Software Quality, Concepts and Plans." Secretaria de Economia, S. E. (2004). Estudio para determinar la cantidad y calidad de recursos humanos necesarios para el desarrollo de la industria de Software en México. México: 118. Secretaria de Economia, S. E. (2009). Programa para el Desarrollo de la Industria del Software (PROSOFT). S.E. Mexico. 1.3. Stephen, H. (2002). "Metrics and Models in Software Quality Engineering ". Watts, H. and A. Wesley (2000). "Introduction to Team Software Process."