Gestión de proyectos de software

22
ESPECIALIZACIÓN EN GERENCIA INGENIERÍA DEL SOFTWARE Gestión de proyectos de software

description

Clase de gestión de proyectos de software - capítulo de aseguramiento de la calidad.

Transcript of Gestión de proyectos de software

Page 1: Gestión de proyectos de software

ESPECIALIZACIÓN EN GERENCIAINGENIERÍA DEL SOFTWAREGestión de proyectos de software

Page 2: Gestión de proyectos de software

Vean, pues, los ingenieros cómo para ser ingeniero no basta con ser ingeniero.

Mientras se están ocupando en su faena particular, la historia les quita el suelo de

debajo de los pies. Es preciso estar alerta y salir del propio oficio: otear bien el paisaje

de la vida que es siempre total-Ortega y Gasset, 1933

Page 3: Gestión de proyectos de software

¿Qué es un proyecto?

Un proyecto es un esfuerzo temporal que se lleva a cabo para crear un producto, servicio oresultado único. La naturaleza temporal de los proyectos indica un principio y un finaldefinidos. El final se alcanza cuando se logran los objetivos del proyecto o cuando se termina el proyecto porque sus objetivos no se cumplirán o no pueden ser cumplidos, o cuando ya no existe la necesidad que dio origen al proyecto. Temporal no necesariamente significa de corta duración.

-(PMBOK 4th, 2009)

Page 4: Gestión de proyectos de software

¿Qué es la gestión/dirección de proyectos?

La gestión de proyectos es la aplicación de conocimientos, habilidades, herramientas y técnicas a las actividades del proyecto para cumplir con los requisitos del mismo. Se logra mediante la aplicación e integración de estos 5 grupos de procesos: iniciación, planificación, ejecución, seguimiento y control y cierre.

Dirigir o gestionar un proyecto por lo general implica: identificar requisitos, abordar las diversas necesidades, inquietudes y expectativas de los interesados, equilibrar las restricciones contrapuestas del proyecto (alcance, calidad, cronograma, presupuesto, recursos y riesgo)-(PMBOK 4th, 2009)

Page 5: Gestión de proyectos de software
Page 6: Gestión de proyectos de software

¿Qué es la gestión de proyectos de software?

-Pressman R., 2002.

Necesidades

1

Proyecto

Realización

2

3

4

5

6

7

La gestión de proyectos de software, es el conjunto de actividades conducentes a lograr que todo el proyecto esté controlado, estimado y con metas medibles y alcanzables.

Page 7: Gestión de proyectos de software

¿Cuál es el objetivo de la gestión de proyectos de software?

La gestión de proyectos de software persigue la misma finalidad que todas las gestiones de proyectos en ingeniería:

Estimar qué sucederá con un proyecto nuevo,

Controlar todas las actividades de la ejecución del proyecto, y

Analizar qué sucedió con un proyecto ya finalizado

En todos los casos se tratará de dar respuestas cuantitativas a preguntas precisas tales como:

¿Cuál será el plazo de entrega? ¿Cuántas personas necesito? ¿Qué tan eficiente es el desarrollo del

proyecto? ¿Cuánto costará el proyecto?

La gestión de proyectos de software es una rama especializada de la Ingeniería del Software.

-Grompone J., 1996.

Page 8: Gestión de proyectos de software

¿Quién debe ser el gerente del proyecto de software?

La gestión eficaz de un proyecto de software se centra en las cuatro P’s: personal, producto, proceso y proyecto. El orden no es arbitrario. El gestor que se olvida de que el trabajo de ingeniería del software es un esfuerzo humano, nunca tendrá éxito en la gestión de proyectos.

[ ]-Pressman R., 2002

Características de la persona que puede conducir un proyecto de software:

• Motivación. La habilidad para motivar (con un «tira y afloja») al personal técnico para que produzca conforme a sus mejores capacidades. Un profesional persuasivo, audaz y capaz de crear ambiente armonioso en el trabajo

• Organización. La habilidad para amoldar procesos existentes (o inventar unos nuevos) que permita al concepto inicial transformarse en un producto. Capacidad para lograr que se hagan las cosas que se deban hacer, en el momento que corresponda.

• Ideas o innovación. La habilidad para motivar al personal para crear y sentirse creativos incluso cuando deban de trabajar dentro de los límites establecidos para un producto o aplicación de software particular. Un profesional convincente, atinado en el que el equipo pueda confiar.

-Modelo MOI, Jerry Weinberg, 1986

Page 9: Gestión de proyectos de software

Variables que se deben controlar en la gestión de proyectos de software:

• Calidad (funcionalidad) del proceso

• Costo del proyecto• Tiempo del proyecto

Page 10: Gestión de proyectos de software

Actividades que permiten una adecuada gestión del proyecto de software:

• Estimación de esfuerzo• Planificación

INICIO

• Asignación, comunicación y seguimiento de tareas

• Gestión de incidencias• Gestión de requisitos• Aseguramiento de la

calidad• Aseguramiento de la

seguridad (interfaz de la seguridad)

• Gestión de la configuración• Gestión de la

documentación• Gestión de versiones

SEGUIMIENTO Y CONTROL

• Inclusión en histórico de proyectos

• Acta de la gestión del proyecto• Archivo de la documentación

del proyecto

CIERRE

Page 11: Gestión de proyectos de software

GESTIÓN DEL PROYECTOCapítulo: aseguramiento de la calidad del softwareSu objetivo es proporcionar un marco común de referencia para la definición y puesta en marcha del plan de aseguramiento de calidad aplicable al proyecto software. Si en la organización ya existe un sistema de calidad, dichos planes deberán ser coherentes con el mismo, completándolo en los aspectos no contemplados relativos a normas particulares del cliente, usuario o sistema concreto.

La calidad es el grado en que un conjunto de características inherentes cumple con unos requisitos[ ]

- ISO 9000:2000

Page 12: Gestión de proyectos de software

El Aseguramiento de la Calidad pretende dar confianza en que el producto reúne las características necesarias para satisfacer todos los requisitos del Sistema de Información

[ ]Cuando aplicamos el concepto de calidad al software, éste deja de ser subjetivo cuando se determinan cuales son los atributos de calidad del software. Pero no deja de ser accidental ya que en ciertas situaciones, un determinado conjunto de características de calidad puede ser más importante que en ciertas otras.

Resumiendo, la calidad del software es medible y varía de un sistema a otro o de un programa a otro.

GESTIÓN DEL PROYECTOCapítulo: aseguramiento de la calidad del software

Page 13: Gestión de proyectos de software

GESTIÓN DEL PROYECTOExtended ISO 9126 Model of Software Quality

Page 14: Gestión de proyectos de software

El cumplimiento de los requerimientos funcionales y de performance explícitamente definidos, de los

estándares de desarrollo explícitamente documentados y de las características implícitas esperadas del desarrollo de software profesional.

GESTIÓN DEL PROYECTOCapítulo: aseguramiento de la calidad del software

- Pressman, 2002

Page 15: Gestión de proyectos de software

Un modelo adecuado para el aseguramiento de la calidad del software, es aquel que permita controlar atributos relacionados con tres aspectos: capacidad para soportar cambios, características de

proceso y de operación, adaptabilidad a nuevos entornos. - Dromey, 1995

Page 16: Gestión de proyectos de software

Cada atributo de calidad responde a un factor de calidad y cada factor apunta a uno o varios criterios de calidad. Es aquí donde la subjetividad termina para el concepto de calidad del software

Page 17: Gestión de proyectos de software

La intención es separar el software en atributos que puedan ser medidos ocuantificados (en términos de costo beneficio). Ejemplos de estos atributos sonconfiabilidad, adaptabilidad, usabilidad y funcionalidad.

Para clasificar los atributos de calidad del software se definieron varios modelos, uno ellos fue el modelo FURPS+. Este modelo fue desarrollado por Robert Grady y Deborah Caswell de Hewlett Packard

Page 18: Gestión de proyectos de software

Una vez el equipo del proyecto logra decidir sobre los atributos de calidad que tendrá en cuenta para el proyecto, debe incluir en la gestión del proyecto lo siguiente por cada atributo:

• Definición: ¿Cómo se va a comprender el atributo para el proyecto? • Medición: ¿Dónde se va a controlar el atributo? ¿En qué parte del proyecto

se medirá?• Fórmula: ¿Qué método se utilizará para definir el resultado de la medición?• Tolerancia de calidad: ¿Cuál será el resultado sobre el que se considerará

que el atributo es de calidad? ¿Cuál será el criterio de calidad?

Page 19: Gestión de proyectos de software

Factor de calidad

DefiniciónSe evaluará

enFórmula/Aplicación Tolerancia

Corrección

El grado en que una aplicación satisface sus especificaciones y consigue los objetivos encomendados por el cliente. Pretende validar la pregunta ¿El software hace lo que se pide?

AnálisisDiseñoConstrucciónImplementación

Corrección=CRF-I/CRF-T

* CRF-I: Cantidad de requerimientos funcionales implementados* CRF-T: Total de requerimientos funcionales del proyecto

95%

Fiablidad

El grado que se puede esperar de un software para que lleve a cabo las operaciones especificadas con la precisión requerida . Responde a la pregunta ¿El software es fiable todo el tiempo?

Implementación Fiabilidad=COF/COT

*COF: Cantidad de operaciones fiables*COF: Cantidad de operaciones totales

90%

Eficiencia

La cantidad de recursos hardware y software que necesita una aplicación para realizarlas operaciones con los tiempos de respuesta adecuados. ¿Qué relación existe entre los recursos definidos en la plataforma tecnológica y los utilizados en la implementación del software?

Implantación % Recursos tecnológicos requeridos contrastado con la definición de la plataforma tecnológica

¿¿¿???

Facilidad de uso

El esfuerzo requerido para aprender el manejo de un software.

Pruebas de usuario

Nivel 1: El usuario requiere formación, manual y personal de soporte.Nivel 2: El usuario requiere formación y manualNivel 3: El usuario solo requiere manual.

Page 20: Gestión de proyectos de software

• OPERACIONES DEL PRODUCTO

– Corrección: el grado en que una aplicación satisface sus especificaciones y consigue los objetivos encomendados por el cliente (¿Hace lo que se pide?)

– Fiabilidad: el grado que se puede esperar de una aplicación lleve a cabo las operacionesespecificadas y con la precisión requerida (¿Lo hace de forma fiable todo el tiempo?)

– Eficiencia: la cantidad de recursos hardware y software que necesita una aplicación para realizarlas operaciones con los tiempos de respuesta adecuados (¿Qué recursos hardware y software necesito?)

– Integridad: el grado con que puede controlarse el acceso al software o a los datos a personal no autorizado (¿Puedo controlar su uso?)

– Facilidad de uso: el esfuerzo requerido para aprender el manejo de una aplicación, trabajar con ella, introducir datos y conseguir resultados (¿Es fácil y cómodo de manejar?)

Page 21: Gestión de proyectos de software

Revisión del producto: capacidad para soportar cambios

– Facilidad de mantenimiento: el esfuerzo requerido para localizar y reparar errores (¿Puedo localizar los fallos?)

– Flexibilidad: el esfuerzo requerido para modificar una aplicación en funcionamiento (¿Puedo añadir nuevas opciones?)

– Facilidad de prueba: el esfuerzo requerido para probar una aplicación de forma que cumpla con lo especificado en los requisitos (¿Puedo probar todas las opciones?)

Page 22: Gestión de proyectos de software

• Transición del producto: adaptabilidad a nuevos entornos

– Portabilidad: el esfuerzo requerido para transferir la aplicación a otro hardware o sistema operativo (¿Podré usarlo en otra máquina?)

– Reusabilidad: grado en que partes de una aplicación pueden utilizarse en otras aplicaciones (¿Podré utilizar alguna parte del software en otra aplicación?)

– Interoperabilidad: el esfuerzo necesario para comunicar la aplicación con otras aplicaciones o sistemas informáticos (¿Podrá comunicarse con otras aplicaciones o sistemasinformáticos?