• No se han encontrado resultados

Propuesta inicial de un procedimiento, para el modelado de negocio y la gestion de requisitos de proyectos productivos.

N/A
N/A
Protected

Academic year: 2023

Share "Propuesta inicial de un procedimiento, para el modelado de negocio y la gestion de requisitos de proyectos productivos."

Copied!
92
0
0

Texto completo

(1)

Título: PROPUESTA INICIAL DE UN PROCEDIMIENTO, PARA EL MODELADO DE NEGOCIO Y LA GESTIÓN DE REQUISITOS DE PROYECTOS PRODUCTIVOS

Trabajo de Diploma para optar por el título de Ingeniero en Ciencias Informáticas

Autor(es): Yanisleivi Valdés Fernández Yoanis Costilla Camejo

Tutor(es): Ing. Yircy Diem Collazo Msc. Mariano Flores López

Junio de 2008

(2)

Ciencias Informáticas los derechos patrimoniales de la misma, con carácter exclusivo.

Para que así conste firmamos la presente a los ____ días del mes de ________ del año ________.

_________________________ _________________________

Yanisleivi Valdés Fernández Yoanis Costilla Camejo

_________________________ _________________________

Yircy Diem Collazo Mariano Flores López

(3)

DATOS DE CONTACTO

Tutor: Ing. Yircy Diem Collazo Marín

Clasificación: Profesional.

Clasificación del área de desarrollo: UCI (Ingeniería de Software)

Síntesis del Tutor: Ingeniero Informático, Año de graduada -2005, Profesor Instructor y Asesora de Calidad Facultad 1, 2 años de experiencia laboral.

Tutor: Msc. Mariano Flores López.

Clasificación: Profesional.

Clasificación del área de desarrollo: Empresa Correos de Cuba.

Síntesis del Tutor: Ingeniero en Máquinas Computadoras, Profesor Auxiliar, Máster en Gestión de Tecnologías de la Información y las Comunicaciones, 9 años de experiencia en el tema, 15 años de graduado.

(4)

A mi familia que me ha apoyado incondicionalmente a través de estos cinco años de esfuerzo y grandes logros.

A nuestro Comandante por permitir hacer realidad tantos sueños.

A mis amigos por su cariño y sus consejos.

A mis profes y tutores por sus enseñanzas y dedicación.

A las niñas de mi apto por compartir tantas cosas lindas juntas y por ser mí sostén en la vida personal y profesional a través de este largo tiempo.

A Yoanis por su ayuda, apoyo y paciencia durante este colosal trayecto de trabajo juntos.

A Yaimy por estar siempre en las buenas y en las malas.

A todos muchas gracias…

Yany

(5)

Resumir en algunos nombres de personas e instituciones todo el agradecimiento por el alcance de un sueño es una tarea bastante difícil, quizás más que su realización. En este empeño por crecer han estado involucradas muchas personas que han sido el sustento y aliento diario a no cejar en el empeño. En primer término quiero mencionar a mis padres, a quienes no solo agradezco sus consejos y el apoyo constante, sino además, y sobre todas las cosas, el privilegio de ser su hijo. A mis hermanos, a los que adoro con la vida y tanto me quieren. A toda mi familia y vecinos. A mi novia, y a toda su familia que ha sabido verme como un hijo, hermano, sobrino, nieto, a todos ellos por su cariño y dedicación. A todos los amigos y amigas que compartieron trabajo, amor, sonrisas, consejos y momentos inolvidables. A todos los profesores que han estado presentes en mi vida, que ahora pueden ver el fruto de su trabajo. A mis tutores, por su gran aporte a mi formación como profesional y como persona. Finalmente quiero agradecer a la revolución y su líder indiscutible por haber acercado tanto, tan solo a la distancia del empeño, los sueños de muchos jóvenes, que como yo, están convencidos que el futuro se construye con nuestras propias manos.

A todos gracias de corazón…

Yoanis

(6)

A mi mamá, mi papá y mi hermana…que son mi mayor tesoro.

Yany

A los que me ofrecieron su amor, amistad y brindaron su apoyo para que viera realizados mis sueños, y dentro de ellos, especialmente mis padres Arelis y Ortelio.

Yoanis

(7)

RESUMEN

El trabajo de diploma se centra en proponer un procedimiento para el modelado de negocio y la gestión de requisitos, que sea aplicable en las principales empresas productoras de software de Ciudad Habana. Para la confección del procedimiento fue necesario hacer un estudio sobre calidad del software, las principales normas internacionales, metodologías de desarrollo y las buenas prácticas adquiridas por estas entidades de la capital. El mismo estará dividido en dos grupos de entregables:

uno para el proceso modelado de negocio y otro para la gestión de requisitos, posibilitando ambos, mejoras potenciales en la elaboración y calidad de los productos desde sus inicios.

El Modelado de Negocio capta de manera global la información necesaria de todo lo referido a la entidad, su actividad y proceso a automatizar; detalla lo referido a los procesos y las modificaciones a estos, y se trata como una actividad independiente a la gestión de requisitos. Este último por su parte define los requisitos funcionales y no funcionales que debe cumplir el software

,

modela la interacción entre los casos de uso y la funcionalidad del sistema, y crea un catálogo que identifica todos los conceptos, siglas y términos técnicos usados por el cliente, además de gestionar los riesgos a manifestarse en un proyecto o producto. Este procedimiento es validado por el método de evaluación de expertos.

PALABRAS CLAVES

Buenas prácticas, procesos.

(8)

Índice

RESUMEN ... VI

INTRODUCCIÓN ... 1

CAPÍTULO 1: FUNDAMENTACIÓN TEÓRICA ... 6

1.1. Introducción ... 6

1.2. Calidad del Software ... 7

1.2.1. Evolución ... 7

1.2.2. Conceptos relacionados a Calidad ... 8

1.2.3. Tipos y rasgos de Calidad ... 11

1.2.4. Situación actual ... 12

1.3. Buenas Prácticas ... 13

1.4. Normas ... 15

1.4.1. Conceptos ... 15

1.4.2. Enfoque ... 16

1.4.3. Beneficios ... 17

1.4.4. Modelado de Negocio y Gestión de Requerimiento reflejados en las principales normas internacionales de calidad ... 19

1.5. Principales Metodologías de Desarrollo de Software... 21

1.6. Rational Unified Process (RUP) ... 26

1.6.1. Modelado de Negocio ... 26

1.6.2. Gestión de Requisitos ... 29

1.7. Conclusiones del Capítulo ... 34

CAPÍTULO 2: SOLUCIÓN PROPUESTA ... 35

2.1. Introducción ... 35

2.2. Comprensión de Metodología ... 35

2.3. Comprensión de Proceso ... 36

2.4. Propuesta Modelado de Negocio ... 39

2.4.1. Actividades del Modelado de Negocio ... 40

2.4.1.1. Diagnóstico Preliminar del cliente ... 40

(9)

2.4.1.2. Estudio del Proceso a Automatizar... 41

2.4.2. Actores y Trabajadores del negocio... 42

2.5. Propuesta Gestión de Requisitos ... 44

2.5.1. Principales actividades del procedimiento ... 44

2.5.2. Artefactos entregables. Estructuración ... 48

2.5.3. Trabajadores de la actividad gestión de requisitos ... 54

2.5.4. Prácticas recomendadas para desarrollar la gestión de requisitos ... 55

2.6. Características de la Propuesta ... 56

2.7. Principios de la Especificación del Procedimiento propuesto ... 56

2.8. Conclusiones del Capítulo ... 57

CAPÍTULO 3: EVALUACIÓN DE LA PROPUESTA ... 58

3.1. Introducción ... 58

3.2. Entrevista ... 58

3.2.1. Entrevistas realizadas a principales empresas productoras de software en Ciudad Habana... 59

3.3. Método de Evaluación de Expertos ... 68

3.3.1. Elaboración del objetivo ... 68

3.3.2. Selección del grupo de expertos ... 68

3.3.3. Elaboración de la entrevista ... 69

3.3.4. Elección de la metodología de evaluación ... 69

3.3.5. Validación de la propuesta ... 69

3.4. Análisis de costo-beneficio ... 71

3.5. Conclusiones del capítulo ... 71

CONCLUSIONES ... 73

RECOMENDACIONES ... 74

BIBLIOGRAFÍA CONSULTADA ... 75

BIBLIOGRAFÍA CITADA ... 77

ANEXOS ... 78

GLOSARIO ... 82

(10)

Índice de Figuras

Figura 1.1: Evolución de la Calidad ... 8

Figura 1.2: Tipos de Calidad ... 11

Figura 1.3: Etapas de Desarrollo de la Calidad ... 13

Figura 1.4: Etapas de CMMI ... 16

Figura 1.5: Representación gráfica de Proceso... 38

Figura 3.1: Metodologías usadas por las empresas ... 67

(11)

INTRODUCCIÓN

El desarrollo acelerado de la ciencia y las tecnologías de la información, así como la velocidad de cambio en el manejo de los negocios, ha traído como consecuencia que las empresas informáticas enfrenten cada día, un reto para brindar una respuesta rápida, eficaz y con calidad a los clientes, que cada vez se vuelven más exigentes, no sólo en cuanto al precio sino también en la confiabilidad que deben brindar los productos de software.

Cualquier organización que se dedique a la producción o comercialización de software, debe tener en cuenta que la organización de sus procesos juega un papel determinante en la competitividad de la misma.

La sociedad cubana, inmersa en el proceso de informatización decidió enfrentar el desarrollo, consolidación y expansión de la industria del software, por el amplio espectro económico que posee este mercado, desarrollando numerosos proyectos relacionados con la automatización de procesos en múltiples esferas. Un ejemplo de ello es el ingreso de Cuba en la Organización Internacional de Estandarización (ISO).

Ingreso de Cuba en la ISO.

“El ingreso de Cuba en la ISO, está estrechamente vinculada a la designación el día 23 de febrero de 1961, de Ernesto Guevara, el médico argentino y Comandante de Ejército Rebelde, como Ministro de Industrias, organismo creado para impulsar el desarrollo económico del país.

El Che, ya consciente de las demandas de un proceso de desarrollo económico e impuesto de los avances científico técnicos del mundo industrializado, emprendió y promovió el desarrollo de una campaña popular por la calidad, esbozando como premisa fundamental, la necesidad de normalización técnica, lo cual materializó en la solicitud de membrecía de Cuba a la Organización Internacional d e Normalización (ISO), en fecha tan temprana como el 5 de septiembre de 1961, lo cual constituye un verdadero testimonio de su integridad y amplia visión económica.

Cuba participó casi desde su ingreso en la ISO como miembro permanente, y en 1966 fue elegida para integrar, por primera vez, el Consejo de la ISO por un período de dos años. Gran parte de las actividades realizadas desde la dirección de Normas y Metrología, del antiguo Ministerio de Industrias, hasta hoy por la actual Oficina Nacional de Normalización, ha sido posible gracias a la inestimable colaboración recibida de la ISO, la cual ha constituido para Cuba como país en desarrollo la garantía de la calidad técnica de los trabajos, la seguridad para la elaboración de producciones destinadas a la exportación y, al mismo tiempo, una simplificación del esfuerzo técnico y científico a realizar, lo cual

(12)

nos ha permitido la entrada al comercio mundial, constituyendo un compromiso ineludible mantener y elevar el estado alcanzado”. (1)

Todo esto hace necesario que en los proyectos productivos se adopten metodologías modernas para el desarrollo y aseguramiento de la calidad del software, donde se encuentran un conjunto muy amplio de normas y estándares internacionales de Ingeniería de Software; para ello, Cuba cuenta con varios modelos de calidad, entre el que se encuentra QUALYSOFT, un producto Iberestandar cuyo título es Sistema para la Evaluación y Certificación del Software, de Naturaleza Metodológica, Ámbito Ingeniería del software y calidad, origen cubano y publicado en 1995, con estado de versión 1.0 en español. Sin embargo aún existen factores que interfieren en la buena calidad de un producto, pues a la hora de medir la eficacia del mismo, se continúan detectando diversos errores como: la captura incorrecta de requisitos, mal planteamiento de los objetivos a seguir, no se delimitan bien las fronteras del sistema; por lo que se hace indispensable que la calidad de los mismos sea guiada desde sus inicios. De ahí que este trabajo está orientado al Modelado de Negocio y la Gestión de Requisitos en las principales empresas productoras de Ciudad Habana; varias de estas inmersas en la producción son: Aicros, Softel, Correos de Cuba, Desoft, Citmatel, UCIR (minfar) y la Universidad de las Ciencias Informáticas como una más; mayormente estas empresas hacen uso del Modelado de Negocio y la Gestión de Requisitos de forma diferente; cada institución crea o copia estos flujos de trabajo y lo emplean a conveniencia, omitiéndose en ocasiones el primero de ambos, esto trae como resultados:

clientes insatisfechos y software ineficientes y con mala calidad. Aquí influye la no existencia de un procedimiento que garantice una adecuada y única forma de trabajo. Lo abordado anteriormente constituye la Situación Problémica.

El presente trabajo tiene el fin de dar respuesta al siguiente Problema Científico:

¿Como desarrollar un procedimiento que permita estandarizar el Modelado de Negocio y la Gestión de Requisitos en las principales empresas de Ciudad Habana?

Por lo tanto el objeto de estudio de este trabajo son los procedimientos para el Modelado de Negocio y la Gestión de Requisitos.

Para dar solución a la situación problémica y al problema científico se traza como objetivo general:

Desarrollar una propuesta inicial de un procedimiento para el Modelado de Negocio y la Gestión de Requisitos, basado en las buenas prácticas de las principales empresas de Ciudad Habana.

(13)

Idea a Defender:

El conjunto de buenas prácticas de las empresas de Ciudad Habana permitirá construir un procedimiento aplicable en estas instituciones productoras de software, posibilitando mejoras potenciales en la elaboración y calidad de los productos desde sus inicios.

Al concluir este trabajo se espera como posible resultado:

Contar con un procedimiento para el Modelado de Negocio y la Gestión de Requisitos, que se pueda emplear como referencia para cualquier proyecto productivo, en las empresas de Ciudad Habana.

Dentro de las tareas que se propone para dar solución a los objetivos planteados se encuentran:

 Búsqueda de información sobre los Flujos de Trabajo: Modelado de Negocio y Gestión de Requisitos.

 Realización de entrevistas al personal con conocimiento sobre el tema, en las principales instituciones productoras de software de Ciudad Habana.

 Selección de las buenas prácticas aplicadas por las principales empresas de Ciudad Habana.

 Redacción de la propuesta inicial de un procedimiento para el Modelado de Negocio y la Gestión de Requisitos de proyectos productivos.

Métodos de Investigación Científica empleados

Métodos Teóricos:

1- Histórico lógico: Permite estudiar de forma analítica la trayectoria histórica real de los fenómenos, su evolución y desarrollo.

- Su objetivo en esta investigación es el estudio de como han evolucionado y se han desarrollado las Metodologías de Desarrollo de Software desde su surgimiento hasta nuestros días, principalmente sus primeras actividades: Modelado de Negocio y la Gestión de Requisitos. Además permite ver cronológicamente la importancia que han ido alcanzando los Flujos de Trabajo.

2 - Analítico Sintético

Análisis: permite la división mental del fenómeno en sus múltiples relaciones y componentes para facilitar su estudio.

Síntesis: establece mentalmente la unión entre las partes previamente analizadas, posibilita

(14)

descubrir sus características generales y las relaciones esenciales entre ellas.

- Es necesario partir de un análisis de toda la información que fue recogida mediante otros métodos de investigación como la entrevista; para luego centrarla y sintetizarla para elaborar el procedimiento adecuado.

Métodos Empíricos:

1- Observación: La observación científica es la percepción planificada dirigida a un fin y relativamente prolongada de un hecho o fenómeno. Es el instrumento universal del científico, se realiza de forma consciente y orientada a un objetivo determinado.

- Es utilizado para conocer y analizar el comportamiento del modelado de negocio y gestión de requisitos, además para tener un control adecuado de los mismos.

2- Entrevistas: La entrevista es una conversación planificada entre el investigador y el entrevistado para obtener información.

- Se usa con el fin de obtener las experiencias adquiridas y todo el flujo de información sobre el Modelado de Negocio y la Gestión de Requisitos, en las principales entidades de la capital desarrolladoras de software.

(15)

ESTRUCTURACIÓN DEL CONTENIDO

El presente trabajo está estructurado en tres capítulos:

Capítulo 1: En este capítulo se hace un estudio de la calidad del software y sus principales aspectos:

evolución, conceptos, tipo, rasgos y tendencias actuales. Se detallan los principales conceptos de buenas prácticas. Se hace además un análisis sobre las principales normas internacionales de calidad, observándose como se ve reflejado el Modelado de Negocio y la Gestión de Requisitos en estas.

Incluye un estudio general sobre las principales metodologías de desarrollo de software y dentro de estas el Proceso Unificado de Desarrollo como paradigma de los procesos Modelado de Negocio y Gestión de Requisitos.

Capítulo 2: Este capítulo cuenta con la solución propuesta; para ello se da una explicación de cómo debe ser una metodología, para que se utiliza y lo que esta permite; además se muestra que es un proceso, los diferentes tipos, como identificarlos y otras definiciones relacionadas con la gestión de procesos. Como continuación a la estructura del capítulo se encuentra la propuesta, que se divide en dos acápites; uno para el modelado de negocio, que consta de dos actividades fundamentales como son: el diagnóstico preliminar del cliente y el estudio del proceso a automatizar; y una segunda parte para la gestión de requisitos, que posee las actividades fundamentales de este, así como la estructuración de las plantillas generadas durante el proceso y recomendaciones para un uso adecuado del procedimiento.

Capítulo 3: Para dar una evaluación de la propuesta, el capítulo contiene una explicación sobre que es una entrevista (principal método empleado para obtener información), muestra los resultados obtenidos de las entrevistas realizadas a las principales empresas productoras de software en Ciudad Habana;

se da una explicación sobre el método de evaluación de expertos (método empleado para validar la propuesta) y por último se realiza un análisis de costo-beneficio.

(16)

CAPÍTULO 1: FUNDAMENTACIÓN TEÓRICA

1.1. Introducción

La sociedad de la información es un sistema económico y social donde el conocimiento y la información constituyen fuentes fundamentales de bienestar y progreso. La generalización del empleo de las Tecnologías de la Información y las Comunicaciones (TIC) ha marcado un cambio significativo en la sociedad con respecto a la información. Las nuevas posibilidades en el acceso, almacenamiento y utilización de la información han motivado a una toma de conciencia sobre el valor de ésta como recurso. Ello exige que las empresas redefinan sus estrategias y sus procesos con la finalidad de lograr un uso eficiente de sus recursos y el aumento de su productividad, de modo que puedan competir con éxito en el mercado.

Uno de los problemas que se afrontan actualmente en la esfera de la computación es la calidad del software. Desde la década del 70, este tema ha sido motivo de preocupación para especialistas, ingenieros, investigadores y comercializadores de software, los cuales han realizado gran cantidad de investigaciones al respecto con dos objetivos fundamentales:

1. ¿Cómo obtener un software con calidad?

2. ¿Cómo evaluar la calidad del software?

Ambas interrogantes conllevan amplias respuestas, pero están estrechamente ligadas. Y precisamente debido a los pocos conocimientos sobre calidad en los sistemas de gestión, en el campo de la informática que se tienen en Cuba, los autores de este trabajo toman en consideración la necesidad de realizar un estudio sobre los principales estándares de calidad existentes en la sociedad informática mundial que tienen que ver con el enfoque a procesos y cuyo principal objetivo es la mejora continua, enfocado al Modelado de Negocio y la Gestión de Requisitos de Proyectos.

Es muy importante que se comprenda la necesidad de definir y elevar los niveles de calidad que requieren los productos y servicios para elevar la economía cubana y es por esto que Cuba precisa desarrollar el trabajo de calidad comenzando por un proceso en el cual la misma tenga cada vez un sentido más participativo, donde las responsabilidades por los resultados del trabajo y la calidad del mismo se conviertan en el eslabón fundamental.

(17)

MARCO CONCEPTUAL

“El Modelado de Negocio es una técnica para la especificación de los requisitos más importantes del sistema que da soporte al negocio. Su objetivo es comprender la estructura y la dinámica de la organización en la cual se va a implantar un sistema, además comprender los problemas actuales de la organización e identificar las mejoras potenciales y asegurar que los consumidores, usuarios finales y desarrolladores tengan un entendimiento común de la organización, brinda además una visión general de los procesos que existen en un determinado Negocio, permitiéndonos comprender a que se dedica el mismo, así como establecer una comunicación entre el cliente y el equipo de desarrollo”.

“En la Gestión de Requerimientos se define que es lo que debe hacer el sistema, siendo necesario ir a la captura de los requerimientos que este debe cumplir. Sus objetivos son: Definir el ámbito del sistema; definir una interfaz de usuarios para el sistema, enfocada a las necesidades y metas del usuario; establecer y mantener un acuerdo entre clientes y otros involucrados sobre lo que el sistema debería hacer; proveer a los desarrolladores un mejor entendimiento de los requerimientos del sistema;

proveer una base para estimar recursos y tiempo de desarrollo del sistema y otra para la planeación de los contenidos técnicos de las iteraciones”. (2)

1.2. Calidad del Software

1.2.1. Evolución

La calidad desde la segunda guerra mundial hasta la década de los 70 se basaba en la inspección del producto final al ser el mercado el que absorbía todo y esta se concentraba en la no-existencia de problemas. Las novedades que se introducían eran la implicación de los departamentos y empleados;

se empezaba a escuchar al consumidor introduciendo sus especificaciones en la definición de los productos.

A principio de los 80 en las empresas empiezan a surgir cambios y a considerar que la calidad no era solo esencial en sus aspectos técnicos, de forma que se introduce también en la gestión. Sin embargo hasta 1988 no es cuando se constituye el premio Malcolm Baldrige a la calidad, en Estados Unidos, dando meritoria importancia a los sistemas de información y análisis, así como al cliente y su satisfacción.

En la década del 90 se avanzó un paso más; se ve un especial protagonismo en todos los sectores de la economía nacional así como internacional, aunque no siempre se utiliza adecuadamente, ya que se piensa que hace referencia exclusivamente a procesos de tipo industrial, por lo que su aplicación se

(18)

limitaría, por tanto, a ese ámbito. Pero la calidad envuelve crecientemente a otras actividades no exclusivas de la industria manufacturera, como son la distribución o los servicios. De este modo, el objeto de la calidad ha sufrido una evolución desde las industrias básicamente productivas hasta las organizaciones de servicios. Y hoy al hablar de calidad se pueden referir a calidad de gestión y de resultados, y en definitiva a como se gestiona una empresa para ser más competitiva.

En la figura siguiente se muestra la evolución de la Calidad

Figura 1.1: Evolución de la Calidad

1.2.2. Conceptos relacionados a Calidad

¿Que es la calidad del software?

Con el transcurso de los años el concepto de calidad se ha venido perfeccionando, ampliando sus objetivos y variando su orientación, se puede decir que ha tomado una importancia creciente al transitar desde un mero control o inspección hasta convertirse en uno de los pilares imprescindibles en la estrategia global de una organización. Ha sufrido una transformación muy importante, pues ha pasado de la simple idea de realizar una verificación hasta tratar de asegurar calidad desde el inicio.

Calidad de Software no solo significa productos sin fallas. Significa principalmente aplicaciones que satisfacen los objetivos de negocio para los que fueron creadas y las necesidades de las personas que las utilizan, desarrolladas dentro de los presupuestos económicos y de tiempo que les fueron asignados. Es el conjunto de cualidades que lo caracterizan y que determinan su utilidad y existencia;

es sinónimo de eficiencia, flexibilidad, corrección, confiabilidad, mantenibilidad, portabilidad, usabilidad, seguridad e integridad; es medible y varía de un sistema a otro o de un programa a otro.

(19)

La calidad de un producto de software está directamente relacionada con la calidad del proceso que se usó para construirlo. Un proceso maduro de producción es un requisito indispensable para lograr producir software de calidad.

Estos conceptos han adquirido un carácter multidimensional, debido a que algunas empresas y especialistas del tema, lo han enfocado desde puntos de vistas diferentes:

 CROSBY [1979]; [1987] plantea que la calidad es: “conformidad a los requerimientos”

y añade que sólo puede ser medida por “el costo de la no conformidad”.

[1994] puntualiza que calidad es “entregar a los clientes y a nuestros compañeros de trabajo productos y servicios sin defectos y hacerlo a tiempo” “cero defectos”.

 CONWAY [1988] plantea que la calidad se alcanza al: "desarrollar la fabricación, administración y distribución a bajo costo de productos y servicios que el cliente quiera o necesite".

 EDWARDS DEMING [1986] la define como un "Predecible grado de uniformidad, a bajo costo y útil para el mercado".

 JURAN [1993] una referida al producto “calidad es el conjunto de características de un producto que satisfacen las necesidades de los clientes y en consecuencia hacen satisfactorio el producto” [1993] y otra referida a la organización “la calidad consiste en no tener deficiencias”.

 FEIGENBAUM [1971] "la resultante de una combinación de características de ingeniería y de fabricación determinantes del grado de satisfacción que el producto proporcione al consumidor durante su uso", [1996] "un sistema eficaz para integrar los esfuerzos de mejora de la gestión de los distintos grupos de la organización para proporcionar productos y servicios a niveles que permite la satisfacción del cliente".

 KAORU ISHIKAWA [1988] manifiesta que "calidad es aquella que cumple los requisitos de los consumidores" e incluye el costo entre estos requisitos. "Desarrollar, diseñar, manufacturar y mantener un producto de calidad que sea el más económico, el útil y siempre satisfactorio para el consumidor".

 YAMAGUCHI [1989] es "el conjunto de propiedades o características que definen su aptitud para satisfacer necesidades establecidas".

 Según la Organización Internacional de Normalización (ISO), calidad se define como: “grado en el que un conjunto de características inherentes cumple con los requisitos”.

En todas estas definiciones se valoran elementos comunes como la satisfacción de necesidades o perspectivas del cliente y la existencia de rasgos o requisitos para satisfacerlas.

(20)

Sin embargo la obtención de un software con calidad implica la utilización de metodologías o procedimientos estándares para el análisis, diseño, programación y prueba del software que permitan uniformar la filosofía de trabajo, en aras de lograr una mayor confiabilidad y facilidad de prueba, a la vez que eleven la productividad, tanto para la labor de desarrollo como para el control de la calidad del software. Para alcanzarla se ha decursado por varios estadios, comenzando con la verificación y pasando por el control y el aseguramiento de la calidad.

Conceptos Relacionados con Calidad

“Control de calidad: Técnicas y actividades de carácter operativo utilizadas para satisfacer los requisitos relativos a la calidad”.

“Aseguramiento de la calidad: Conjunto de acciones planificadas y sistemáticas que son necesarias para proporcionar la confianza adecuada de que un producto o servicio satisfará los requisitos dados sobre la calidad”.

“Política de calidad: Directrices y objetivos generales de una empresa relativos a la calidad, expresados formalmente por la dirección general”.

“Gestión de la calidad: Aspecto de la función general de la gestión que determina y aplica la política de la calidad”.

“Sistema de calidad: Conjunto de la estructura de organización de responsabilidades, de procedimientos, de procesos y de recursos que se establecen para llevar a cabo la gestión de la calidad”.

Otros conceptos afines surgidos de este proceso evolutivo son:

“Calidad total: Término que sitúa como primer objetivo de la gestión empresarial la calidad del producto o servicio ofrecido y la satisfacción del cliente a través de la mejora continua”.

“Mejora continua: Se denomina así a la mejora sistemática y continua de los procesos mediante la implementación de las metodologías y herramientas adecuadas”.

“Excelencia: Se define así el conjunto de prácticas sobresalientes en la gestión de una organización y el logro de resultados basados en conceptos fundamentales que incluyen la orientación hacia los resultados, orientación al cliente, liderazgo, implicación de las personas, mejora continua e innovación, alianzas mutuamente beneficiosas, responsabilidad social”. (3)

(21)

1.2.3. Tipos y rasgos de Calidad

Tipos

Existen tres tipos de calidad relacionados entre sí:

Calidad necesaria: Calidad que pide el cliente y la que le gustaría recibir.

Calidad programada: Es el nivel de calidad que se propone obtener el fabricante.

Calidad realizada: Es la calidad que se puede obtener debido a las personas que realizan el trabajo o a los medios utilizados.

Figura 1.2: Tipos de Calidad

Rasgos

Algunos de los rasgos más sobresalientes de la calidad son:

- Implica la mejora continua de la productividad y de la competitividad.

- Significa hacer las cosas bien a la primera.

- Consiste en dar al cliente los que éste desea.

- Se basa en el sentido común.

- Involucra a todos los niveles de la empresa.

Las consecuencias de la implantación de un sistema de calidad:

- Mejora de la imagen de la empresa.

- Apoyo al marketing.

- Favorece el espíritu de equipo.

- Genera valor añadido.

- Genera crecimiento sostenido basado en la excelencia.

- Es una inversión sin riesgo

(22)

1.2.4. Situación actual

- La industria del software no ha acabado de salir de la fase artesanal.

- Se padece de “prisa patológica”, que es consecuencia directa de:

 Desorganización.

 Falta de planificación.

- Alta dependencia de los “héroes”.

- Dedicamos nuestros esfuerzos de hoy a arreglar lo que se hizo mal ayer.

- El producto (software) es algo intangible y no constreñido por las leyes físicas.

- La disciplina, ingeniería del software, es relativamente reciente y muchos de sus conceptos importantes están aún inmaduros.

- Carencia de un corpus de conocimiento aceptado mayoritariamente que sirva como fundamentos.

- Escasa presión del mercado.

En una organización inmadura:

- Procesos software normalmente improvisados.

- Si se han especificado, no se siguen rigurosamente.

- Organización reactiva (resolver crisis inmediatas).

- Planes y presupuestos excedidos sistemáticamente, al no estar basados en estimaciones realistas.

- Si hay plazos rígidos, se sacrifican funcionalidad y calidad del producto para satisfacer el plan.

- No existen bases objetivas para juzgar la calidad del producto.

- Cuando los proyectos están fuera de plan, las revisiones o pruebas se recortan o eliminan - El 90% de los proyectos no alcanzan los objetivos.

- El 40% fracasan por completo.

- El 29% no se entregan nunca.

- Coste de demandas y litigios legales añadidos.

A continuación se presentan las diferentes etapas de desarrollo hasta el momento actual, por las que ha pasado Calidad:

(23)

Figura 1.3: Etapas de Desarrollo de la Calidad

1.3. Buenas Prácticas

En primer lugar entendemos por buena práctica toda actuación llevada a cabo que signifique la creación de servicios públicos de calidad o mejore significativamente una situación insatisfactoria.

Se puede considerar que las “buenas prácticas” corresponden a casos en los cuales procesos y comportamientos han obtenido resultados positivos. También se considera como un enfoque que frecuentemente es innovador, que ha sido probado y evaluado y que tiende a tener éxito en otros contextos. Una buena práctica es la innovación que permite mejorar el presente y por lo tanto es o puede ser un modelo o norma para determinado sistema.

“Buenas prácticas” significa que “existe un acuerdo en que la correcta aplicación de las habilidades, herramientas y técnicas puede aumentar las posibilidades de éxito de una amplia variedad de proyectos”. El equipo de dirección de un proyecto determina lo que es apropiado para el suyo, pues los conocimientos de las “buenas prácticas” no implican que se apliquen de manera uniforme en todos.

Las mejores prácticas, es una idea de gestión que afirma que existe una técnica, método, proceso, actividad, incentivo o gratificación que es más efectiva que cualquier otra para la obtención de un resultado determinado. La lógica empresarial determina que el resultado buscado sea la mejora de

(24)

procesos operativos que aumenten la rentabilidad, lo cual está íntimamente relacionado con la mejora de la calidad. Definiciones más operativas permiten precisar que las buenas prácticas, son aquellas que facilitan cierto grado de mejora en el desempeño global de un sistema en un contexto determinado. Las prácticas pueden ser aprendidas y transferidas a otras organizaciones, y de ahí el esfuerzo en identificarlas. (4)

Dependencias

De esta última definición se infiere que las buenas prácticas no son ninguna solución universal y que tienen múltiples dependencias que es necesario considerar. Además, la mejora global en el sistema depende del grado de madurez de las prácticas que ya se desarrollan en la organización y del contexto específico en el que se desarrollan. Añadiendo que, más importante que la mera presencia de una práctica en la organización es el modo en que se implementa. Por lo tanto, la transferencia de las buenas prácticas entre organizaciones no es ni automática ni rápida. La latencia de las prácticas varía.

Algunas, de estas producen efectos inmediatos mientras que con otras prácticas se debe esperar largo tiempo, incluso años, para ver sus efectos. Además, no es sencillo aislar que un efecto es debido a la implantación de una buena práctica. La complejidad de las organizaciones y las múltiples variables implicadas dificultan establecer verdaderas relaciones causa-efecto.

Por lo tanto, las buenas prácticas deben ser descritas adecuadamente, junto con sus dependencias, para facilitar su transferencia a otra organización para su mejor implantación con el objetivo de obtener los beneficios esperados a priori.

Otras valoraciones

Algunos dominios donde las Mejores Prácticas han sido aplicadas incluyen:

- Metodologías de Desarrollo.

- Garantía de calidad.

- Ingeniería de funcionamiento.

- Gestión de riesgos.

- Proceso de cambio.

- Ejecución de liberación.

- Control de Liberación. Rastreo de defecto.

- Dirección de exigencias.

Para ayudar a identificar buenas prácticas en una empresa se han emitido diferentes criterios internacionales:

(25)

- Argumentos empresariales. La práctica debe evidenciar una clara relación entre las ventajas para la empresa y las ventajas para la sociedad.

- Enfoque estratégico. La práctica se debe poder integrar dentro de una estrategia empresarial más amplia.

- Comunicación. La práctica se debe comunicar a través de canales formales o informales con el fin de incluir/informar a otras partes interesadas.

- Proceso dinámico. La actividad debe formar parte de un proceso dinámico de perfeccionamiento continuo en el contexto de una práctica de responsabilidad empresarial consolidada.

1.4. Normas

1.4.1. Conceptos

Se entiende por norma aquellos acuerdos documentados que contienen especificaciones técnicas u otros criterios precisos, destinados a ser utilizados sistemáticamente como reglas, directrices o definiciones de características para asegurar que los materiales, procesos y servicios son aptos para su empleo.

Las normas son un modelo, un patrón, ejemplo o criterio a seguir. Una norma es una fórmula que tiene valor de regla y tiene por finalidad definir las características que debe poseer un objeto y los productos que han de tener una compatibilidad para ser usados a nivel internacional.

La tendencia internacional actual está fundamentada en la aplicación y certificación sobre la base de las normas ISO 9000 que suponen un lenguaje común, adoptado ya por un elevado número de países.

La familia ISO 9000 constituye un conjunto coherente de normas y directrices sobre gestión de la calidad que se han elaborado para asistir a las organizaciones, de todo tipo y tamaño, en la implementación y la operación de sistemas de gestión de la calidad (SGC) eficaces. Esta familia la forman:

- La Norma ISO 9000: Sistemas de gestión de la calidad – Fundamentos y vocabulario.

- La Norma ISO 9001: Sistemas de gestión de la calidad – Requisitos.

- La Norma ISO 9004: Sistemas de gestión de la calidad – Directrices para la mejora continua del desempeño.

- La Norma ISO 19011: Directrices para la auditoría medioambiental y de la calidad.

Son normas para sistemas de aseguramiento de calidad. Su utilidad radica en que es un estándar para proporcionar a un consumidor, la confianza de que un producto o servicio determinado cumple con los requisitos de calidad especificados. Para un comprador, el hecho de que el sistema de aseguramiento

(26)

de la calidad de una compañía cumpla con las normas ISO-9000, implica que está adquiriendo un producto cuya elaboración siguió un proceso que garantiza la calidad del mismo.

Además de las normas ISO 9000, para lograr una efectiva gestión de la calidad en determinados sectores es necesario compatibilizarlas con otras normas específicas adecuadas al tipo de actividad que desarrollan. Tal es el caso de las empresas de la industria del software donde se usan metodologías tan extendidas como el CMM, CMMI, IEEE, la ISO SPICE e ISO/IEC 25030 entre otros modelos.

1.4.2. Enfoque

CMM (Modelo de Capacidad y Madurez), es un modelo de evaluación de los procesos de una organización, es decir: describe un conjunto de características basado en que tan bien una organización se apega a procesos comunes y repetibles para realizar el trabajo. Fue desarrollado inicialmente para los procesos relativos al software, además establece una medida del progreso conforme avanza, en niveles de madurez. Cada nivel a su vez cuenta con un número de áreas de proceso que deben lograrse. El alcanzar estas áreas o estadios se detecta mediante la satisfacción o insatisfacción de varias metas claras y cuantificables.

El CMM contiene cinco etapas para evaluar que tan sofisticada es una organización en el establecimiento y apego a procesos estándares.

Figura 1.4: Etapas de CMMI

CMMI (Modelo de Capacidad y Madurez Integrado), exige un enfoque riguroso de Gestión de la Calidad, donde las organizaciones deben tener sus procesos definidos, documentados y controlados en todas sus partes; además de que los procesos para cada proyecto están basados en el proceso

(27)

organizacional, mediante ajustes a las necesidades del proyecto y estos procesos puedan ser medidos para permitir mejoramiento continuo de la calidad. Dentro de cada uno de los 5 niveles de la madurez CMMI, los procesos dominantes se definen en cinco áreas: metas, cumplimiento, capacidad, medida y verificación.

Constituye un marco de referencia de la capacidad de las organizaciones de desarrollo de software en el desempeño de sus diferentes procesos, proporcionando una base para la evaluación de la madurez de las mismas y una guía para implementar una estrategia para la mejora continua de los mismos.

IEEE (Instituto de Ingenieros Eléctricos y Electrónicos), es una asociación técnico-profesional mundial dedicada a la estandarización, entre otras cosas.

Su trabajo es promover la creatividad, el desarrollo y la integración, compartir y aplicar los avances en las tecnologías de la información, electrónica y ciencias en general para beneficio de la humanidad y de los mismos profesionales. Algunos de sus estándares son: VHDL, POSIX, IEEE 1394, IEEE 488, IEEE 802, IEEE 802.11, IEEE 754, IEEE 830.

Mediante sus actividades de publicación técnica, conferencias y estándares basados en consenso, el IEEE produce más del 30% de la literatura publicada en el mundo sobre ingeniería eléctrica, en computación, telecomunicaciones y tecnología de control, organiza más de 350 grandes conferencias al año en todo el mundo, y posee cerca de 900 estándares activos, con otros 700 más bajo desarrollo.

Las normas ISO aportan grandes beneficios en el sistema de calidad a las empresas, pero aunque ella esta diseñada para agregar valor en el sistema de calidad, no siempre se cumple el objetivo.

ISO/IEC 15504 (SPICE, Mejora de Proceso de Software y Determinación de Capacidad) provee un marco para la evaluación de procesos y puede ser usado por organizaciones involucradas en la planeación, administración, control, mejora de la adquisición, suministro, desarrollo, operación, evolución y soporte de productos y servicios. Suministra una base para un enfoque común para describir los resultados de las evaluaciones de los procesos.

1.4.3. Beneficios

- Mejor documentación de los sistemas.

- Cambio cultural positivo.

- Incremento en la eficiencia y productividad.

- Mayor percepción de calidad.

- Se amplía la satisfacción del cliente.

- Se reducen las auditorías de calidad de los clientes.

(28)

- Agiliza el tiempo de desarrollo de un sistema.

A favor para la empresa

Son múltiples los beneficios que reporta la posesión de una certificación de calidad. En primer lugar, para la imagen de la empresa, ya que poseer el certificado pone de manifiesto la sensibilidad de la marca por un tipo de gestión determinada y su compromiso por mantenerlo. Asimismo también existen una serie de beneficios económicos; la mayoría de las empresas auditadas reconoce: el ajuste a esta gestión permite una mejor gestión de los recursos, de los residuos y, en general, una reducción ostensible de costes. Todo ello deriva en un aumento del valor añadido del producto, en la obtención de seguros a mejor precio, el control del gasto y la reducción de posibles sanciones.

Beneficios en la productividad

El aumento de la productividad se alcanza tras la evaluación inicial y la consiguiente mejora de los procesos que se producen durante su implementación, así como también de la mejora en la capacitación y calificación de los empleados. Al disponer de mejor documentación o de un control de los procesos, es posible alcanzar una estabilidad en el desempeño, reducir la cantidad de desperdicio y evitar la repetición del trabajo.

Un estudio llevado a cabo por investigadores de UCLA ha demostrado que "las empresas estadounidenses que cotizan en la Bolsa de Nueva York y que cuentan con la certificación de calidad ISO 9000 han logrado una mejora significativa en su desempeño financiero en comparación con aquellas empresas que no cuentan con esta certificación".

Para los consumidores: La conformidad de los productos y los servicios con las Normas Internacionales brinda convicción acerca de su calidad, seguridad y confiabilidad.

Clientes satisfechos

Aumenta el grado de satisfacción de los clientes porque los objetivos que se establecen toman en cuenta sus necesidades. La empresa procura la opinión de sus clientes y luego la analiza con el objeto de lograr una mejor comprensión de sus necesidades. Los objetivos se adaptan de acuerdo a esta información y la organización se torna más centrada en el cliente. Cuando los objetivos se concentran en el cliente, la organización dedica menos tiempo a los objetivos individuales de los departamentos y más tiempo a trabajar en conjunto para cumplir con las necesidades de los clientes. Todo esto lleva a beneficios económicos, que son la recompensa por el arduo trabajo e inversión en el sistema de administración de calidad.

(29)

1.4.4. Modelado de Negocio y Gestión de Requerimiento reflejados en las principales normas internacionales de calidad

“El modelado de negocio, y más específicamente el modelado de procesos de negocio, es la forma idónea para comunicarnos con los usuarios de todos los niveles”.

“Una del las especificaciones informáticas más antiguas y más importantes para el buen funcionamiento de una infraestructura informática de cualquier empresa son los requisitos. Estos permitirán la resolución de problemas y lograrán un mayor impacto en la productividad de los sistemas”.

A continuación se muestran algunos fragmentos o citas, referentes al Modelado de Negocio y la Gestión de Requisitos, inmersas en las principales Normas Internacionales.

CMM y CMMI

El Modelo de Capacidad de Madurez Integrado (“Capability Madurity Model” - CMMI) plantea que:

El propósito de la Gestión de Requerimientos es establecer un entendimiento común entre el usuario y el proyecto de software de los requerimientos del usuario que serán abordados en el producto. Tanto los requerimientos técnicos como los no técnicos se cubren en dicho contrato, por lo que el mismo constituye las bases para la estimación, el planeamiento, ejecución y seguimiento de las actividades del proyecto de software a través del ciclo de vida del software.

La Ingeniería de Requisitos es una disciplina cuya importancia en el desarrollo de software es crucial.

Diversos estudios apuntan a que la actividad Gestión de Requisitos, condiciona en gran manera el éxito o fracaso de un proyecto de desarrollo de software, lo que motivó en su momento su inclusión en diversos modelos de madurez del software (p.e. CMMI).

La implementación de un proceso de mejoras según el modelo CMMI está compuesto de las siguientes fases o niveles: Inicial, Repetible, Definido, Gestionado y Optimizado. Observen que condiciones deben cumplirse para alcanzar los dos primeros niveles.

Inicial: En esta fase se relevan los procesos, tareas, actividades y activos con que cuenta la organización, así como las políticas generadas por la conducción de la organización. El objetivo de esta fase es determinar las fortalezas, debilidades y oportunidades de mejora de la organización. Todo esto conducido por los objetivos de negocio de la organización.

Repetible: Se considera un nivel 2 de madurez cuando se llevan a cabo prácticas básicas de gestión de proyectos, de Gestión de Requisitos, control de versiones y de los trabajos realizados por

(30)

subcontratistas. Los equipos de los proyectos pueden aprovechar las prácticas realizadas para aplicarlas en nuevos proyectos.

Para alcanzar el primer nivel se cumple con los principales objetivos del Modelado de Negocio, sin embargo para obtener el segundo nivel, es imprescindible contar con el procedimiento de Gestión de Requisitos.

IEEE

Los requisitos son definidos durante las fases más tempranas del desarrollo de sistemas informáticos, y pueden verse como la especificación de lo que debería ser implementado [1]. Por lo tanto, y de forma más concreta, la IEEE (Institute of Electrical and Electronics Engineers) [2] los define como:

- Una condición o necesidad de un usuario para resolver un problema o alcanzar un objetivo.

- Una condición o capacidad que debe estar presente en un sistema o componentes de sistema para satisfacer un contrato, estándar, especificación u otro documento formal.

- Una representación documentada de una condición o capacidad como en [1] o [2].

Estos requisitos han de ser vistos desde un punto de vista muy relacionado con la ingeniería, lo que implica el uso de técnicas sistemáticas y repetibles para asegurar que los requisitos del sistema son completos, consistentes y relevantes. Sin estas técnicas, el equipo de desarrollo:

- No sabe cuales son las metas a lograr.

- No pueden inspeccionar y probar su trabajo de manera adecuada.

- No se puede controlar su productividad.

- No obtiene datos adecuados de sus prácticas.

- No puede predecir el tamaño y esfuerzo del siguiente proyecto.

- No puede satisfacer a sus clientes.

En resumen: no hay ingeniería profesional sin requisitos bien gestionados. Todas estas actividades relacionadas con la ingeniería de requisitos, hasta hace no mucho tiempo, eran acometidas de manera absolutamente manual, incluyendo el uso de procesadores de texto para acometer su gestión.

ISO

Con respecto a las normas ISO 9000 éstas definen un sistema de gestión “como un sistema para establecer la política y los objetivos y para lograr dichos objetivos”. Referente a la actividad de gestión de requisitos se escribe:

Las normas de la familia ISO 9000 (9000-9001-9004) permiten establecer requisitos y directrices relativos a un sistema de Gestión de Calidad. La primera de ellas describe los fundamentos y el vocabulario de un sistema de gestión de requisitos. La segunda es la norma de referencia mediante la

(31)

cual una organización documenta e implante su Sistema de Gestión de la Calidad con el objeto de demostrar su capacidad para proporcionar productos/servicios que cumplan con los requisitos de los clientes y orientarse hacia la satisfacción de los mismos.

1.5. Principales Metodologías de Desarrollo de Software

Un factor que influye sobre la toma de decisiones a la hora de seleccionar una metodología o marco de desarrollo de software, es la constante disputa que se establece entre quienes promueven el enfoque ágil versus aquellos que defienden la idea de que solo a través de metodologías formales (RUP, CMMI, MSF, etc.) es que puede lograrse el éxito de un proyecto de desarrollo de software. Existe también una tendencia que se ha encargado de fusionar lo mejor de ambos mundos, consolidando ciertas prácticas ágiles en procesos o marcos de trabajo considerados como formales.

A pesar de lo anterior, lo más importante que toda organización o persona debe tener en cuenta, es que no existe una metodología ideal para cualquier escenario en la que se aplique. La metodología de desarrollo que se seleccione, bien sea ágil o no, siempre dependerá directamente del equipo de trabajo, la cultura organizacional, lo cambiante del medio ambiente y la aceptación del usuario final.

Poniendo de más a menos ágil, de menos 'revolucionaria' a más, las metodologías más populares quedan de la siguiente forma:

- eXtreme Programming - Scrum

- MSF Agile

- MSF for CMMI Process Improvement - Rational Unified Process

Programación Extrema (XP)

Es una metodología ágil de desarrollo de software utilizada para proyectos de corto plazo, equipo reducido, y cuyo plazo de entrega es muy corto por lo que requieren de un grupo de programadores pequeño, dónde la comunicación sea factible. La metodología consiste en una programación rápida, cuya particularidad es tener como parte del equipo, al usuario final, pues es uno de los requisitos para llegar al éxito del proyecto, es por esto que la comunicación es un punto fundamental en este tipo de metodología ya que debe realizarse entre los programadores,los jefes de proyecto y los usuarios. Esta metodología se basa en las pruebas Unitarias que son las pruebas realizadas a los principales procesos para ver las fallas que pudieran ocurrir, es como adelantarse a obtener los posibles errores.

(32)

Se basa en la reutilización de código, es decir, en la re-fabricación, para lo cual se crean patrones o modelos estándares, siendo más flexible al cambio y por último se basa en la programación en pares, que es una particularidad de esta metodología proponer este tipo de programación, la cual consiste en que dos desarrolladores participen en un proyecto en una misma estación de trabajo. Cada miembro lleva a cabo la acción que el otro no está haciendo en ese momento.

Además en XP el cliente tiene derechos a: decidir que se implementa, saber el estado real y el progreso del proyecto, añadir, cambiar o quitar requerimientos en cualquier momento, obtener lo máximo de cada semana de trabajo, obtener un sistema funcionando cada tres o cuatro meses. Al igual que el cliente el desarrollador también tiene derechos a: decidir como se implementan los procesos, crear el sistema con la mejor calidad posible, pedir al cliente en cualquier momento aclaraciones de los requerimientos, estimar el esfuerzo para implementar el sistema y cambiar los requerimientos en base a nuevos descubrimientos.

Scrum

Scrum es una metodología ágil para gestionar proyectos de software. Aunque surgió como práctica en el desarrollo de productos tecnológicos, resulta válido en los entornos que trabajan con requ isitos inestables, y necesitan rapidez y flexibilidad; situaciones habituales en el desarrollo de algunos sistemas de software.

Scrum es una metodología de desarrollo muy simple, que requiere trabajo duro, porque la gestión no se basa en el seguimiento de un plan, sino en la adaptación continua a las circunstancias de la evolución del proyecto. Es un modo de desarrollo de carácter adaptable. Es orientado a las personas antes que a los procesos. Emplea desarrollo ágil: iterativo e incremental.

El desarrollo se inicia desde la visión general de producto, dando detalle solo a las funcionalidades que, por ser las de mayor prioridad para el negocio, se van a desarrollar en primer lugar, y pueden llevarse a cabo en un periodo de tiempo breve (entre 15 y 60 días).

Cada uno de los ciclos de desarrollo es una iteración (sprint) que produce un incremento terminado y operativo del producto. Estas iteraciones son la base del desarrollo ágil, y Scrum gestiona su evolución a través de reuniones breves de seguimiento en las que todo el equipo revisa el trabajo realizado desde la reunión anterior y el previsto hasta la reunión siguiente.

Control de la evolución del proyecto

Scrum controla de forma empírica y adaptable la evolución del proyecto, con las siguientes prácticas de la gestión ágil:

Revisión de las Iteraciones:

(33)

Al final de cada sprint o iteración, se realiza una revisión con todas las personas implicadas en el proyecto. Este es el periodo máximo que se puede tardar en reconducir una desviación del proyecto o de las circunstancias del producto.

Desarrollo incremental:

En el proyecto, no se trabaja con diseños o abstracciones. El desarrollo incremental implica que al final de cada iteración se dispone de una parte del producto operativa que se puede inspeccionar y evaluar.

Desarrollo evolutivo:

Como modelo ágil, es útil en entornos con incertidumbre e inestabilidad de requisitos. Intentar predecir en las fases iniciales cómo será el resultado final, y sobre dicha predicción desarrollar el diseño y la estructura del producto no es realista, porque las circunstancias obligarán a remodelarlo muchas veces. No se considera que la descripción detallada del producto, del servicio, de la estrategia o de la arquitectura del software (según el caso) deban realizarse en la primera “fase” del proyecto. El desarrollo ágil no es un desarrollo por fases.

Auto-organización:

Durante el desarrollo de un proyecto surgen circunstancias impredecibles en todas las áreas y niveles.

En Scrum los equipos son auto-organizados, con margen de decisión suficiente para tomar las decisiones que consideren oportunas.

Microsoft Solution Framework (MSF)

MSF se caracteriza por ser una metodología flexible e interrelacionada con una serie de conceptos, modelos y prácticas de uso, que controlan la planificación, el desarrollo y la gestión de proyectos tecnológicos. MSF se centra en los modelos de proceso y de equipo dejando en un segundo plano las elecciones tecnológicas. Además es un proceso adaptable ya que es usado en cualquier parte como un mapa, del cual su uso es limitado a un específico lugar, escalable que puede organizar equipos tan pequeños entre 3 ó 4 personas, así como también, proyectos que requieren 50 personas a más, es flexible porque es utilizada en el ambiente de desarrollo de cualquier cliente.

MSF se compone de varios modelos encargados de planificar las diferentes partes implicadas en el desarrollo de un proyecto: Modelo de Arquitectura del Proyecto, Modelo de Equipo, Modelo de Proceso, Modelo de Gestión del Riesgo, Modelo de Diseño de Proceso y finalmente el Modelo de Aplicación.

(34)

Modelo de Arquitectura del Proyecto: Diseñado para acortar la planificación del ciclo de vida. Este modelo define las pautas para construir proyectos empresariales a través del lanzamiento de versiones.

Modelo de Equipo: Este modelo ha sido diseñado para mejorar el rendimiento del equipo de desarrollo.

Proporciona una estructura flexible para organizar los equipos de un proyecto. Puede ser escalado dependiendo del tamaño del proyecto y del equipo de personas disponibles.

Modelo de Proceso: Diseñado para mejorar el control del proyecto, minimizando el riesgo, y aumentar la calidad acortando el tiempo de entrega. Proporciona una estructura de pautas a seguir en el ciclo de vida del proyecto, describiendo las fases, las actividades, la liberación de versiones y explicando su relación con el Modelo de equipo.

Modelo de Gestión del Riesgo: Diseñado para ayudar al equipo a identificar las prioridades, tomar las decisiones estratégicas correctas y controlar las emergencias que puedan surgir. Este modelo proporciona un entorno estructurado para la toma de decisiones y acciones valorando los riesgos que puedan provocar.

Modelo de Diseño del Proceso: Diseñado para distinguir entre los objetivos empresariales y las necesidades del usuario. Proporciona un modelo centrado en el usuario para obtener un diseño eficiente y flexible a través de un enfoque iterativo. Las fases de diseño conceptual, lógico y físico proveen tres perspectivas diferentes para los tres tipos de roles: los usuarios, el equipo y los desarrolladores.

Modelo de Aplicación: Diseñado para mejorar el desarrollo, el mantenimiento y el soporte, proporciona un modelo de tres niveles para diseñar y desarrollar aplicaciones software. Los servicios utilizados en este modelo son escalables, y pueden ser usados en un solo ordenador o incluso en varios servidores.

El modelo de proceso MSF combina los mejores principios del modelo en cascada y del modelo en espiral. Combina la claridad que planea el modelo en cascada y las ventajas de los puntos de transición del modelo en espiral. El Modelo de proceso MSF consta de cinco fases distintas:

Previsión, Planificación, Desarrollo, Estabilización e Implementación.

(35)

Visión y Alcances (previsión):

La fase de visión y alcances tiene como objetivo obtener una visión del proyecto compartida, comunicada, entendida y alineada con los objetivos del negocio. Además, identificar los beneficios, requerimientos funcionales, sus alcances y restricciones; y los riesgos inherentes al proyecto.

Esta fase trata también, la unificación del equipo detrás de una visión común. El equipo debe tener una visión clara de lo que quisiera lograr para el cliente y ser capaz de indicarlo en términos que motivarán a todo el equipo y al cliente. Se definen los líderes y responsables del proyecto.

Planificación:

Esta fase tiene como objetivo llevar a cabo el diseño de la solución, obtener un cronograma de trabajo que cumpla con lo especificado en la fase de Visión dentro del presupuesto, tiempo y recursos acordados para los diferentes entregables del proyecto. Este cronograma debe identificar puntos de control específicos que permitan generar entregas funcionales y cortas en el tiempo.

Desarrollo:

El objetivo de la fase de Desarrollo es realizar la mayor parte de la construcción de los componentes (tanto documentación como código). Además, obtener iterativamente de la fase de Planeación y de la Estabilización, versiones del producto entregable y medible que permitan de cara al cliente probar características nuevas de forma sucesiva. Esto incluye los ajustes de cronograma.

Estabilización:

La Estabilización tiene por objetivo lograr una versión final del producto probada, ajustada y aprobada en su totalidad.

Se conducen pruebas sobre la solución, enfatizando en el uso y operación bajo condiciones realistas.

El equipo se enfoca en priorizar y resolver errores y preparar la solución para el lanzamiento.

Implantación:

Durante esta fase el equipo implanta la tecnología base y los componentes relacionados, estabiliza la instalación, traspasa el proyecto al personal soporte y operaciones, y obtiene la aprobación final del cliente.

Según lo antes expuesto se puede indicar que la metodología MSF se adapta a proyectos de cualquier dimensión, desde proyectos pequeños a proyectos largos y complejos, y de cualquier tecnología.

Cada una de estas Metodologías de Desarrollo de Software, hacen uso del Modelado de Negocio y la Gestión de Requisitos, unas con mayor magnitud que otras y de igual forma pasa entre cada una de ellas, respecto a estos dos procedimientos (Modelado de Negocio y la Gestión de Requisitos). Sin

(36)

duda alguna la última de esta lista de cinco, la más robusta, la más empleada por las principales empresas de Ciudad Habana y la que posee las etapas: Modelado de Negocio y Gestión de Requisitos más sólidas, es RUP.

1.6. Rational Unified Process (RUP)

1.6.1. Modelado de Negocio

1.6.1.1. Comprensión de Modelado de Negocio

Negocio: Cualquier ambiente o entorno en cual está enmarcado el problema.

Proceso del Negocio: Funciones que se desarrollan en el ambiente o entorno que se definió como negocio.

El Modelado de Negocio es una técnica para la especificación de los requisitos más importantes del sistema que da soporte al negocio. Su objetivo es comprender la estructura y la dinámica de la organización en la cual se va a implantar un sistema, además comprender los problemas actuales de la organización e identificar las mejoras potenciales; asegurar que los consumidores, usuarios finales y desarrolladores tengan un entendimiento común de la organización. Brinda además una visión general de los procesos que existen en un determinado negocio, permitiendo comprender a que se dedica el mismo, así como establecer una comunicación entre el cliente y el equipo de desarrollo. El modelado de negocio describe los procesos de negocio, identificando quiénes participan y las actividades que requieren automatización.

“Uno de los primeros pasos del análisis en cualquier proyecto, independientemente del tamaño del mismo (salvo los mantenimientos más triviales), debe consistir en alinear el mencionado proyecto con la estrategia y las metas del negocio o institución. Los proyectos, de hecho, no son sino medios para realizar dicha estrategia y dichas metas”.

“El modelado del negocio es la técnica por excelencia para alinear los desarrollos con las metas y objetivos de las empresas e instituciones. Si se realiza de tal forma en que el modelo quede consensuado entre los grupos interesados (es decir, los stakeholders), las posibilidades de éxito del proyecto aumentarán en forma muy importante. El modelado de negocio, y más específicamente el modelado de procesos de negocio, es la forma idónea para comunicarnos con los usuarios de todos los niveles”. (4)

¿Cuándo se debe desarrollar el Modelo de Negocio y cuándo el Modelo del Dominio?

Referencias

Documento similar

Durante las actividades anteriores del proceso de Toma de decisiones en la Gestión de Cambios se han obtenido una serie de indicadores que caracterizan la naturaleza del cambio

A partir del problema definido se tiene como objeto de estudio: El proceso de desarrollo de software del SIGEP y los procesos que tienen lugar en los CRS y las UTSO del