GESTIÓN DEL PROCESO SOFTWARE

GESTIÓN DEL PROCESO SOFTWARE GONZALO CUEVAS AGUSTÍN (Coordinador) ANTONIO DE AMESCUA SECO TOMÁS SAN FELIU GILABERT MAGDALENA ARCILLA COBIÁN JOSÉ A.

0 downloads 78 Views 96KB Size

Recommend Stories


Proceso de desarrollo de software
Departamento de Sistemas Informáticos y Computación. Universidad Politécnica de Valencia. Proceso de desarrollo de software Introducción Un sistema i

La Industria de Software en Chile: La Calidad y Madurez del Proceso de Desarrollo de Software
SPIN-Chile 2001 Red Chilena para el mejoramiento del Proceso de Software La Industria de Software en Chile: La Calidad y Madurez del Proceso de Desar

GUÍA DEL USUARIO DEL SOFTWARE
GUÍA DEL USUARIO DEL SOFTWARE Para usuarios de DCP; esta documentación es válida para los modelos MFC y DCP. Donde aparece ‘MFC’ en este manual del us

LA NECESIDAD DEL "SOFTWARE"
Capítulo 5 – Conceptos de Sistemas Operativos ---------------------------- CAPÍTULO 5 CONCEPTOS DE SISTE

Story Transcript

GESTIÓN DEL PROCESO SOFTWARE

GONZALO CUEVAS AGUSTÍN (Coordinador) ANTONIO DE AMESCUA SECO TOMÁS SAN FELIU GILABERT MAGDALENA ARCILLA COBIÁN

JOSÉ A. CERRADA SOMOLINOS JOSÉ A. CALVO-MANZANO MIGUEL GARCÍA CORDERO

GESTIÓN DEL PROCESO SOFTWARE

1

EDITORIAL CENTRO DE ESTUDIOS RAMÓN ARECES, S.A.

Reservados todos los derechos. Ni la totalidad ni parte de este libro puede reproducirse o transmitirse por ningún procedimiento electrónico o mecánico, incluyendo fotocopia, grabación magnética, o cualquier almacenamiento de información y sistema de recuperación, sin permiso escrito de Editorial Centro de Estudios Ramón Areces, S. A.

O EDITORIAL CENTRO DE ESTUDIOS RAMÓN ARECES, S.A. Tomás Bretón, 21 - 28045 Madrid

ISBN: 84-8004-546-9 Depósito legal: M-43133-2002 Impreso por Campillo Nevado, S.A. Antonio González Porras, 35-37 28019 MADRID Impreso en España / Printed in Spain

Índice Capítulo 1: Trabajo en equipo y sus técnicas 1.1. Introducción ...................................................................... 1.2. Proceso de compromiso ................................................... 1.3. El trabajo en equipo.......................................................... 1.3.1. Tratamiento de la presión ......................................... 1.3.2. El consenso y sus características.............................. 1.3.3. Grupo - Equipo .......................................................... 1.3.4. Tamaño del equipo .................................................... 1.3.5. Propiedades de un equipo eficaz............................ 1.3.6. Consolidación de equipos........................................ 1.3.7. Modelo de crecimiento de un equipo..................... 1.3.8. Atributos del equipo................................................. 1.3.9. Problemas habituales en los equipos...................... 1.4. Reuniones.......................................................................... 1.4.1. Tipos de comportamiento ........................................ 1.4.2. Roles típicos de una reunión .................................... 1.4.3. Reglas para reuniones provechosas ........................ 1.4.4. Técnicas de decisión.................................................. 1.5. Bibliografía........................................................................

1 6 11 12 13 14 15 15 17 21 25 29 37 37 39 40 44 47

viii Gestión del proceso software

Capítulo 2: Factores humanos 2.1. Modelo del perfil de personalidad ................................. 2.1.1. Preferencias personales ............................................. 2.1.2. Ejercicio de perfil de personalidad .......................... 2.2. Mecanismos de comunicación ........................................ 2.2.1. Comunicación no verbal ........................................... 2.2.2. Comunicación verbal ................................................ 2.3. Comunicación interpersonal........................................... 2.3.1. Visibilidad ................................................................... 2.3.2. La escucha ................................................................... 2.3.3. La negociación ............................................................ 2.4. El problema del cambio ................................................... 2.5. Actitudes básicas frente al cambio ................................. 2.6. Requisitos para gestionar el cambio .............................. 2.7. Resistencia al cambio ....................................................... 2.8. Barreras al cambio............................................................ 2.9. Roles para el cambio ........................................................ 2.9.1. Inventor ....................................................................... 2.9.2. Emprendedor ............................................................. 2.9.3. Integrador ................................................................... 2.9.4. Experto ........................................................................ 2.9.5. Gestor .......................................................................... 2.9.6. Patrocinador ............................................................... 2.10. Acciones para el fracaso ................................................ 2.10.1. El promotor ............................................................... 2.10.2. La cultura .................................................................. 2.10.3. La historia ................................................................. 2.10.4. La transición ............................................................. 2.10.5. La resistencia ............................................................ 2.10.6. El agente del cambio ............................................... 2.11. Como enfrentarse a la resistencia ................................. 2.11.1. Buscar los indicios................................................... 2.1 1.2. Identificar la resistencia .......................................... 2.1 1.3. Permanecer tranquilo .............................................. 2.12. Bibliografía......................................................................

49 50 55 55 56 57 61 61 62 63 63 64 68 69 72 79 79 80 81 83 84 85 86 88 88 89 89 90 90 91 91 91 92 92

índice

Capítulo 3: Proceso software y ciclo de vida 3.1. Importancia del proceso software .................................. 3.2. Proceso software definido............................................... 3.3. Definición del proceso ..................................................... 3.3.1. Formatos de representación ..................................... 3.3.2. Pasos para la definición ............................................ 3.3.3. Ejemplo de modelo de proceso ................................ 3.4. Ejercicio de modelo de proceso ...................................... 3.5. Los modelos de proceso .................................................. 3.5.1. Modelo de madurez de la capacidad (CMM)........ 3.5.2. ISO 15504: Un modelo de referencia ....................... 3.6. Ciclo de vida ...................................................................... 3.6.1. Definición.,.................................................................. 3.6.2. Modelos de ciclo de vida .......................................... 3.6.3. Ciclo de vida en cascada ........................................... 3.6.4. Ciclo de vida incremental ......................................... 3.6.5. Ciclo de vida evolutivo ............................................. 3.7. Guías para la selección del ciclo de vida ....................... 3.7.1. Proceso de selección.................................................. 3.7.2. Ejercicio de selección de modelo de ciclo de vida 3.8. Biblioteca de proceso software....................................... 3.9. Bibliografía........................................................................

93 94 96 99 100 102 106 106 108 116 123 123 124 124 127 128 129 132 132 132 136

Capítulo 4: Gestión de requisitos 4.1. Introducción ...................................................................... 4.1.1. Actividades relacionadas con los requisitos .......... 4.2. Problemas del desarrollo del software .......................... 4.3. Definición de los requisitos del sistema ........................ 4.3.1. Declaración de necesidades del cliente .................. 4.3.2. Especificación de requisitos del sistema ................ 4.3.3. ¿Por qué se necesita la gestión de requisitos? ....... 4.4. Gestión de requisitos del sistema.................................. 4.4.1. Principios y prácticas de la gestión de requisitos . 4.4.2. Procedimientos de la gestión de requisitos ........... 4.4.3. Control de versiones de los requisitos ....................

139 140 141 142 143 144 145 146 147 149 150

ix

x Gestión del proceso software

4.4.4. Denominación e información de los requisitos ..... 4.4.5. Métricas de la gestión de requisitos ........................ 4.5. Gestión de los cambios de requisitos ............................. 4.5.1. El proceso de control de cambios............................ 4.5.2. Las directrices del control de cambios.................... 4.5.3. Procedimiento de control de cambios.................... 4.5.4. El comité de control de cambios (CCB).................. 4.5.5. Actualización y negociación de compromisos...... 4.5.6. Medición de la actividad de cambio....................... 4.6. Relación entre requisitos y elementos ........................... 4.6.1. Gestión de la traza de los requisitos ....................... 4.6.2. Motivos para hacer la traza de requisitos .............. 4.6.3. La matriz de traza de los requisitos ........................ 4.7. Herramientas de gestión de requisitos .......................... 4.7.1. Beneficios por la utilización de herramientas ........ 4.8. Estándares y modelos de procesos ................................ 4.9. Ejemplo.............................................................................. 4.9.1. Declaración de necesidades del cliente .................. 4.9.2. Especificación de requisitos del sistema................ 4.9.3. Desarrollo del ejemplo .............................................. 4.10. Bibliografía......................................................................

152 155 155 157 157 159 168 172 173 174 174 175 176 180 183 185 188 188 189 189 192

Capítulo 5: Gestión de configuración 5.1. Introducción ...................................................................... 5.1.1. Conformación de un sistema informático.............. 5.1.2. Definiciones................................................................ 5.1.3. Actividades relacionadas con los elementos......... 5.2. Problemas planteados en un sistema ............................. 5.3. Objetivos y actividades de la SCM................................. 5.3.1. Objetivos..................................................................... 5.3.2. Actividades ................................................................. 5.4. Librerías utilizadas en SCM............................................ 5.4.1. Tipos de librerías....................................................... 5.5. Herramientas de la SCM................................................. 5.5.1. Selección de herramientas ........................................ 5.6. Análisis de impactos ........................................................ 5.6.1. Procedimiento para el análisis de impactos ...........

195 196 198 200 200 201 202 202 212 213 215 215 216 217

índice

5.6.2. Elementos y tareas a tener en cuenta ...................... 5.6.3. Plantilla del informe del análisis de impactos ....... 5.7. Planificación...................................................................... 5.7.1. Plan de SCM............................................................... 5.8. Métricas.............................................................................. 5.8.1. Tipos de métricas....................................................... 5.9. Tendencias de SCM.......................................................... 5.10. Implantación de SCM en la organización ................... 5.11. El papel de las personas en el SCM............................. 5.12. Beneficios de la SCM...................................................... 5.13. Ejemplo............................................................................ 5.13.1. Actualización de DNC-O1....................................... 5.13.2. Especificación de requisitos del sistema.............. 5.13.3. Desarrollo del ejemplo............................................ 5.13.4. Actualización de la especificación RS-02 .............. 5.13.5. Pasos finales.............................................................. 5.14. Bibliografía......................................................................

221 221 221 222 226 227 227 228 230 231 233 233 234 234 240 242 242

Capítulo 6: Gestión de proyectos 6.1. Planificación del proyecto ............................................... 6.1.1. Visión general de la planificación ........................... 6.1.2. Estimación................................................................... 6.1.3. Realización del plan .................................................. 6.1.4. Ciclo de la planificación de un proyecto ................ 6.1.5. Prácticas de la planificación de proyectos............. 6.1.6. El documento del plan de proyecto software........ 6.2. Seguimiento del proyecto ................................................ 6.2.1. Visión general del seguimiento ............................... 6.2.2. Seguimiento de la ejecución del proyecto .............. 6.2.3. Adoptar acciones correctivas................................... 6.2.4. Prácticas del seguimiento de proyectos ................. 6.3. Prácticas para institucionalizar la gestión ..................... 6.4. Bibliografía........................................................................

245 247 247 248 249 250 257 263 265 266 266 268 270 275

xi

xii Gestión del proceso software

Capítulo 7: Técnicas de gestión de proyectos 7.1. Técnicas de estimación.................................................... 7.1.1. Estimación de esfuerzo . COCOMO 11..................... 7.1.2. Estimación de funcionalidad . IFPUG 4.1............... 7.2. Organización del proyecto .............................................. 7.2.1. Descomposición en actividades (WBS).................. 7.2.2. Descomposición según productos (OBS)............... 7.2.3. Descomposición en recursos (RBS)......................... 7.3. Planificación de proyectos ............................................... 7.3.1. Diagramas PERT........................................................ 7.3.2. Diagramas GANTT................................................... 7.3.3. Ejemplo........................................................................ 7.4. Seguimiento del proyecto ................................................ 7.4.1. Fichas e informes de seguimiento........................... 7.4.2. Diagramas de 45º ...................................................... 7.4.3. Histograma del avance de costes ............................ 7.4.4. Gantt de seguimiento................................................ 7.5. Bibliografía........................................................................

277 280 291 299 300 303 304 306 307 310 312 319 319 320 322 324 326

Capítulo 8: Gestión de la calidad 8.1. Introducción ...................................................................... 8.2. Conceptos asociados a la calidad software................... 8.3. Sistema de gestión de la calidad ..................................... 8.3.1. Norma ISO 9001:2000................................................ 8.4. Aseguramiento de la calidad software.......................... 8.4.1. Actividades del grupo SQA..................................... 8.4.2. El plan de SQA........................................................... 8.4.3. Ejemplo de plan de calidad ...................................... 8.5. Técnicas.............................................................................. 8.5.1. Técnicas estáticas....................................................... 8.5.2. Técnicas dinámicas .................................................... 8.6. Bibliografía........................................................................

329 331 332 333 339 340 342 348 351 351 363 374

Capítulo 9: Gestión de subcontratación .. 9.1. Introducción ...................................................................... 9.2 . Gestión de subcontratación del desarrollo ................... 9.2.1. Objetivos de la subcontratación del desarrollo ..... 9.2.2. Pasos de la subcontratación del desarrollo ............ 9.2.3. Resumen...................................................................... 9.3. La adquisición de software............................................. 9.3.1. Niveles de madurez .................................................. 9.3.2. Desarrollo del nivel 2: Repetible.............................. 9.4. Comparación entre ambos métodos .............................. 9.5. Bibliografía........................................................................

377 379 381 382 388 389 391 394 402 402

Capítulo 10: Mejora del proceso software 10.1. Contexto del problema .................................................. 10.2. Aspectos generales......................................................... 10.2.1. ¿Qué es la mejora del proceso? .............................. 10.2.2. Fracaso de los programas de mejora ..................... 10.2.3. Beneficios de la mejora ............................................ 10.3. Modelos de mejora del proceso .................................... 10.3.1. Modelo genérico de mejora de ISPI...................... 10.4. Métodos de evaluación.................................................. 10.5. Aproximación práctica a la mejora .............................. 10.5.1. Compromiso para la mejora ................................... 10.5.2. Evaluación del proceso........................................... 10.5.3. Infraestructura y planes para la mejora ................ 10.5.4. Implantación de los planes de mejora .................. 10.6. Bibliografía ......................................................................

405 408 409 411 413 414 415 416 418 418 420 437 441 445

Prólogo

El propósito fundamental de este libro queda prácticamente resumido en su título: Gestión del Proceso Software. Los tres aspectos que determinan el coste, el plazo de entrega y la calidad del software son: el equipo de personas que realiza el desarrollo software, la tecnología que se emplea y el proceso que se sigue durante dicho desarrollo. En los libros de ingeniería de software habitualmente se hace un mayor hincapié en los aspectos de la tecnología y se soslayan los otros dos o se tratan de una manera muy superficial. Este libro está centrado en el estudio de la gestión del proceso de desarrollo de software y además se introducen algunos conceptos básicos para efectuar un buen trabajo en equipo y se repasan los factores humanos que tienen una mayor incidencia en el producto software resultante.

Obj e t ivos Hay un amplio espectro de temas que están ligados a la creación y definición del proceso más adecuado para el desarrollo de software en cada organización y para cada aplicación concreta. Existen varios modelos de

xvi Gestión del proceso software

buenas prácticas (CMM, SPICE, etc.) que proporcionan una guía para mejorar paulatinamente el proceso de desarrollo de software. El estudio de todas las técnicas y buenas prácticas que sugieren los citados modelos queda fuera del alcance de este libro. Así, al fijar los objetivos del libro, se ha considerado esencial abordar al menos las técnicas y las prácticas de gestión del proceso. En el modelo CMM (Capability Maturity Model), el nivel de madurez más elemental se alcanza cuando se gestiona el proceso de desarrollo. Con la gestión del proceso, se trata de lograr que éste proceso sea repetible y que todos los miembros del equipo de desarrollo utilicen mecanismos similares para la planificación y seguimiento de los proyectos, la gestión de los requisitos, la gestión de configuración y el aseguramiento de la calidad. Dada la importancia del factor humano y el trabajo en equipo para lograr un software de calidad, otro aspecto que se trata en este libro son ciertas técnicas básicas que pueden ayudar a comprender algunos problemas que aparecen durante el desarrollo de cualquier proyecto. Por tanto, los objetivos de este libro se pueden concretar en los siguientes puntos: Vislumbrar ciertas técnicas básicas de trabajo en equipo. Comprender algunos aspectos de los factores humanos. Conocer unas buenas prácticas de gestión del proceso software. Introducir algunas técnicas básicas de mejora del proceso software.

¿A quién va dirigido el libro? Este libro está pensado como libro de texto para una asignatura de ingeniería de software del segundo ciclo de la carrera de Informática. Sin embargo, los contenidos pueden resultar interesantes para los profesionales que están involucrados en la gestión de proyectos software y que se enfrentan cada día con los problemas de la correcta gestión de los costes, los plazos de entrega y buena calidad de los productos. Algunos temas pueden resultar algo áridos pues en ellos se recopilan las que se pueden considerar como mejores prácticas. Esta consideración está basada en múltiples experiencias realizadas durante muchos años en distintos proyectos y organizaciones. Siempre que ha sido posible, se ha procurado que cada capítulo tenga ejemplos desarrollados para ilustrar la aplicación de las técnicas que se describen. Sin embargo, los ejemplos de aplicación de las prácticas que se proponen sólo pueden ser realizados en el marco de un proyecto u organización concreta.

Prólogo

xvii

Requisitos Para una correcta asimilación de los conceptos se considera necesario que el lector cumpla al menos alguno de los siguientes requisitos: Alguna experiencia en el desarrollo de proyectos software participando como un miembro más dentro de un equipo del proyecto. Algún conocimiento sobre la problemática que plantea la gestión de proyectos software de tamaño mediano o grande. Alguna práctica en el diseño y la programación de alguna aplicación informática de tamaño mediano o grande y en el que hayan participado más de tres personas.

Metodo l ogía La metodología de estudio deberá estar basada en la asimilación de los conceptos y nunca en la memorización exhaustiva de las prácticas o técnicas que se describen en el libro. Hay que tener en cuenta que las buenas prácticas deben ser adaptadas a la cultura, costumbres, directrices y estándares de cada organización. Por tanto, no tiene ningún sentido repetir de manera mimética las prácticas de otra organización o proyecto. Resulta muy útil cumplir alguno de los requisitos indicados en el apartado anterior para comprender de una manera más provechosa las prácticas que se describen en el libro. Si se carece de experiencia en la problemática que plantea el diseño y realización de aplicaciones de mediano o gran tamaño, muchas de las prácticas pueden parecer triviales. Sin embargo, hay que tener en cuenta que las prácticas que se proponen deben ser realizadas por todas las personas del equipo y que deben ser asumidas por toda la organización. Sólo después de lograr que las prácticas se institucionalicen y que todo el mundo las realice de manera rutinaria se llega a comprender su dificultad. La institucionalización es una labor que puede llevar meses o incluso años.

Estructura y contenido El libro está estructurado en diez capítulos y en cada uno de ellos se aborda un tema específico. Dada la importancia de la gestión de proyectos y sus correspondientes técnicas, este tema ha sido dividido en dos, los capítulos 6 y 7. Aunque ambos capítulos están muy relacionados, los

xviii

Gestión del proceso software

contenidos se han dividido muy claramente. En el capítulo 6 se describen las actividades y tareas para una buena gestión de proyectos, mientras que en el capítulo 7 se analizan las técnicas disponibles para esa gestión. En la estructuración por grandes unidades didácticas se pueden distinguir tres:

Unidad Didáctica 1 Esta unidad didáctica está dedicada a las características de las personas y como facilitar su integración en equipos de trabajo. También se describen las características generales del proceso software y su conformación según distintos tipos de ciclo de vida. Esta unidad está constituida por los tres primeros capítulos: Capítulo 1: Trabajo en equipo y sus técnicas. Capítulo 2: Factores humanos. Capítulo 3: Proceso software y ciclo de vida.

Unidad Didáctica 11 En cualquier proyecto resulta fundamental gestionar sus requisitos, la configuración de sus elementos, y la planificación y seguimiento de las previsiones para lograr los objetivos comprometidos. Estos temas constituyen el núcleo central de la gestión del proceso software y son los contenidos de esta unidad. En concreto, la unidad está dividida en los cuatro capítulos siguientes: Capítulo 4:Gestión de requisitos. Capítulo 5: Gestión de configuración. Capítulo 6: Gestión de proyectos. Capítulo 7: Técnicas de gestión de proyectos.

Unidad Didáctica 111 En esta unidad se continúa con la gestión del proceso software y se hace una breve introducción de cómo realizar una mejora continua de dicho proceso. El tema de la gestión de la calidad es esencial para el desarrollo de software y requiere una infraestructura específica dentro de la organización al margen de cualquier proyecto concreto. La gestión de cualquier subcontratación es cada día más importante y determina el éxito o el fracaso de la propia organización que subcontrata. Esta gestión supone un compendio del resto de actividades y técnicas de gestión utilizadas para los desarrollos propios. Cuando una organización no gestiona correctamente sus propios desarrollos difícilmente podrá subcontratarlos con alguna garantía de éxito.

Prólogo

xix

La mejora de procesos resulta compleja y requiere cambios culturales y organizativos que a veces son difíciles de abordar. En concreto se requiere una infraestructura específica dentro de la organización que debe estar al margen de cualquier proyecto. Además, el proceso de mejora debe vencer las lógicas resistencias y necesita cierto tiempo para su puesta en marcha. Así, esta unidad didáctica está dedicada a los siguientes temas: Capítulo 8: Gestión de la calidad. Capítulo 9: Gestión de subcontratación. Capítulo 10: Mejora del proceso software.

Agradecimientos La realización de este libro no habría sido posible sin la inestimable colaboración de muchos colegas, profesores y alumnos. Algunos de ellos han aportado sus sugerencias y comentarios a los distintos borradores del manuscrito. Otros nos han proporcionado ideas y sugerencias en los innumerables cursos, evaluaciones, charlas y coloquios que hemos llevado a cabo en los últimos diez años. Merecen una mención especial los profesores Dª. María Isabel Sánchez Segura, D. Juan José Cuadrado Gallego y D. Javier García Guzmán cuyas aportaciones han sido esenciales en los capítulos 6 y 7. A todos, muchas gracias.

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.