53
Software Gestión y Administración de la Producción

Gestion de La Produccion en Proyectos de Software(1)

Embed Size (px)

Citation preview

Software

Gestión y Administración de la Producción

Gestión de Proyectos de software

Reflexión

Que es ?

• La gestión de proyectos implica la planificación,supervisión y control de personal, del proceso y delos eventos que ocurren mientras evoluciona elproyecto a desarrollar, desde la fase preliminar a laimplantación operacional.

Gestión de Proyectos de software

• Cuando no se gestiona en forma eficiente, se pueden conseguir resultados inesperados. Analizar gráfica de hoja anterior.

Quién lo hace ?

Todos gestionamos de algún modo, pero el ámbito de lasactividades de gestión varían en función de la persona que lasrealiza.

Los gestores del proyecto planifican, supervisan y controlan eltrabajo de un equipo de ingenieros.

Gestión de Proyectos de software

Espectro de la Gestión

La gestión eficaz de un proyecto de software se centra en cuatroelementos:

� Personal , son las personas que se necesita para eldesarrollo del proyecto.

� Producto , resultado del proyecto que se ejecutará.

� Proceso , actividades estructuradas que permiten detallarun plan de desarrollo para el proyecto.

� Proyecto , conjunto de actividades orientadas al logro deun objetivo final.

Gestión de Proyectos de software

Personal

Los participantes

1. Gestores superiores , definen los aspectos de negocios que amenudo tienen una significativa influencia en el proyecto.

2. Gestores del proyecto , son los que planifican, motivan,organizan y controlan a los profesionales que realizan el trabajo.

3. Profesionales , son los que proporcionan las capacidadestécnicas necesarias para la ingeniería de un producto o aplicación.

4. Clientes , son los que especifican los requisitos del proyecto.

5. Usuarios finales , son los que interactúan con el productoentregado.

Gestión de Proyectos de software

Jefes de Equipo

Son aquellas personas queplanifican, supervisan ycontrolan las tareasdesarrolladas por losparticipantes de un proyecto.

Equipo de Trabajo

Organización del personal que participaen el desarrollo de un proyecto.

Gestión de Proyectos de softwarePersonal

Coordinación y la comunicación

La forma de establecer métodos efectivos para coordinar a la genteque realiza un trabajo, es a través de la implementación de canalesde comunicación.

Técnicas de coordinación

� Formal, enfoque impersonal.� Formal, procedimientos interpersonales.� Informal, procedimientos interpersonales.� Comunicación electrónica.� Red interpersonal.

Gestión de Proyectos de softwarePersonal

Ámbito del software

Es la delimitación de las características del producto a construir.

Descomposición del problema

Es la acción de dividir un problema complejo en partes máspequeñas que implica un mayor manejo de la solución engeneral.

Gestión de Proyectos de softwarePersonal

Hay que recordar que el proceso son actividades estructuradasque permiten detallar un plan de desarrollo para el proyecto.

El gestor de proyecto debe de decidir qué modelo de proceso esel más adecuado para los clientes que han solicitado el productoy la gente que realizará el trabajo; las características del productoen sí, y el entorno del proyecto en el que se trabaja.

Gestión de Proyectos de softwarePersonal

Métricas de Proyectos

“ El proceso del software y las métricas del producto son unamedida cuantitativa que permite a la gente del software tener unavisión profunda de la eficacia del proceso del software y de losproyectos que dirigen utilizando el proceso como un marco detrabajo ”

Gestión de Proyectos de software

“ Caracterizamos para comprender mejor los procesos, losproductos, los recursos y los entornos, para establecer las líneasbases para las comparaciones con evaluaciones futuras ”

“ Evaluamos para determinar el estado conrespecto al diseño.”

“ Las medidas que se utilizan son lossensores que nos permiten conocer cuándonuestro proyecto y procesos están teniendoproblemas, de modo de poder ponerlo bajocontrol ”

Métricas de ProyectosGestión de Proyectos de software

“ Predecimos para poder planificar. Esto se lleva a cabo con el finde poder establecer objetivos alcanzables para el costo,planificación y calidad. ”

“ Una medida proporciona una indicacióncuantitativa de la extensión, cantidad,dimensiones, capacidad o tamaño dealgunos atributos de un proceso oproducto.”

“ Un ingeniero del Software recopilamedidas y desarrolla métricas para obtenerindicadores.”

Métricas de ProyectosGestión de Proyectos de software

“ Un indicador es una métrica o una combinación de métricas queproporcionan una visión más profunda del desarrollo de software,del proyecto de software o del producto en sí. ”

“ Un indicador proporciona unavisión profunda que permite al gestorde proyectos o a los ingenieros desoftware ajustar el producto, elproyecto o el proceso para que lascosas salgan mejor. ”

Métricas de ProyectosGestión de Proyectos de software

“ Se debería recopilar métricas para que los indicadores delproceso y del producto puedan ser ciertos. ”

Indicadores de proceso, permiten auna organización de ingeniería delsoftware tener una visión profundade la eficacia de un proceso yaexistentes.

Métricas de ProyectosGestión de Proyectos de software

Indicadores de proyecto, permiten algestor de proyectos del software:

1. Evaluar el estado del proyecto en curso2. Seguir la pista de los riesgos potenciales3. Detectar las áreas de problemas antes

de que se conviertan en críticas.4. Ajustar el flujo y las tareas del trabajo5. Evaluar la habilidad del equipo del

proyecto en controlar la calidad de losproductos de trabajo del software.

Métricas de ProyectosGestión de Proyectos de software

“ La única forma de mejorar cualquier proceso es medir atributosdel proceso, desarrollar un juego de métricas significativas segúnestos atributos y entonces utilizar las métricas para proporcionarindicadores que conducirán a una estrategia de mejora ”

“ La destreza y la motivación delpersonal se muestran como el únicofactor realmente influyente encalidad y en el rendimiento.“

Métricas de ProyectosGestión de Proyectos de software

“ La métricas del proceso de software se utilizan para propósitosestratégicos. ”

“ Las métricas de proyectos y losindicadores derivados de ellos losutilizan un gestor de proyectos y unequipo de software para adaptar elflujo del trabajo del proyecto y lasactividades técnicas.“

Métricas de ProyectosGestión de Proyectos de software

“ El dominio de las métricas del software se dividen en métricasde proceso, proyectos y producto. ”

� Métricas Orientadas al Tamaño� Métricas Orientadas a la Función� Métricas ampliadas de Punto de

Función.

Métricas de ProyectosGestión de Proyectos de software

“ El objetivo primordial de la ingeniería del software es producirun sistema, aplicación o producto de alta calidad. ”

Medidas de calidad:

� Corrección� Facilidad de mantenimiento� Integridad� Facilidad de uso

“ Una métrica de la calidad queproporciona beneficios tanto a nivel delproyecto como del proceso, es laeficacia de la eliminación de defectos. ”

Métricas de ProyectosGestión de Proyectos de software

Hasta aquí 20/4

“ Las métricas tienen significado solo si han sido examinadaspara una validez estadística. (Control Estadístico de Proceso)”

“La medición produce cambios culturales. Los ingenieros delsoftware y sus gestores pueden obtener una visión más profundadel trabajo que realizan y del producto que elaboran creando unalínea base de métricas.”

Métricas de ProyectosGestión de Proyectos de software

Planificación de un Proyecto de Software

“ La planificación implica la estimación, el intento pordeterminar cuánto dinero, esfuerzo, recursos, y tiemposupondrá construir un sistema o producto específico desoftware .”

Planificación de un Proyecto de Software

“ La estimación de recursos, costes yplanificación temporal de un esfuerzo en eldesarrollo de software requiere experiencia,acceder a una buena información histórica yel coraje de confiar en prediccionescuantitativas cuando todo lo que existe sondatos cualitativos.”

Planificación de un Proyecto de Software

La estimación conlleva un riesgo inherente yeste riesgo es el que lleva a la incertidumbre.

Factores que influyen en la incertidumbre:

� Complejidad del Proyecto� Tamaño del Proyecto� Grado de incertidumbre estructural.

Planificación de un Proyecto de Software

El objetivo de la Planificación del proyecto desoftware es proporcionar un marco de trabajoque permita al gestor hacer estimacionesrazonables de recursos, costes yplanificación temporal.

Para así poder establecer como primera etapa:

• Ámbito del software• Viabilidad

Planificación de un Proyecto de Software

Para así poder establecer como segunda etapa:

• Recursos Humanos, el número de personas sólo puede ser determinado después de hacer estimaciones del esfuerzo de desarrollo.

Recursos de software reutilizables,construcción de software a través debloques reutilizables.

Componentes ya desarrolladosComponentes ya experimentadosComponentes con experiencia parcial

Planificación de un Proyecto de Software

•Recursos de entorno, en donde se apoya el proyecto desoftware. Es donde podemos encontrar el hardware ysoftware.

Planificación de un Proyecto de Software

“La estimación del coste y del esfuerzo del software nuncaserá una ciencia exacta.”

Estimación de un Proyecto de Software

“La estimación del proyecto desoftware puede convertirse enuna serie de pasos sistemáticosque proporcionen estimacionescon un grado de riesgoaceptable“

Métodos viables para la estimación del proyecto de software:

Técnicas de descomposición, esta utiliza latécnica de divide y vencerás.

•Tamaño del software, segúnPutman y Myers sugieren cuatroenfoques diferentes del problemadel tamaño:

Tamaño en lógica difusaTamaño en punto de funciónTamaño de componentes estándarTamaño del cambio

•Estimación basada en el problema

•Estimación basada en el proceso

Planificación de un Proyecto de SoftwareEstimación de un Proyecto de Software

Planificación de un Proyecto de SoftwareAnálisis y gestión de riesgos

El riesgo siempre implica dos características:

Incertidumbre, el acontecimiento quecaracteriza al riesgo puede o no puedeocurrir.

Pérdida, si el riesgo se convierte en unarealidad, ocurrirán consecuencias nodeseadas o pérdidas.

Planificación de un Proyecto de SoftwareAnálisis y gestión de riesgos

Gestión de Riesgos

�Estimación del RiesgosIdentificación del RiesgoAnálisis de RiesgosPriorización de Riesgos

�Control de RiesgosPlanificación de la gestión de RiesgosResolución de RiesgosMonitorización de Riesgos

Que tipos de riesgos es posible encontrar en el software que seconstruye?

Planificación de un Proyecto de Software

Los riesgos del proyecto, amenazanal plan del proyecto.

Los riesgos técnicos, amenazan lacalidad y la planificación temporal delsoftware que se debe producir.

Los riesgos del negocio, amenaza laviabilidad del software a construir.

Análisis y gestión de riesgos

Planificación de un Proyecto de Software

Los riesgos conocidos, son todosaquellos que se pueden descubrirdespués de una cuidadosaevaluación del plan del proyecto.

Los riesgos predecibles, seextrapolan de la experiencia enproyectos anteriores.

Los riesgos impredecibles, sonaquellos que pueden ocurrir, pero sondifíciles de identificar por adelantado.

Análisis y gestión de riesgos27/4/12

Planificación de un Proyecto de Software

Identificación del Riesgo

Es un intento sistemático para especificar lasamenazas al plan de proyecto.

Existen dos tipos diferenciados de riesgos:

Los riesgos genéricos, son unaamenaza potencial para todos losproyectos.

Los riesgos específicos del producto,estos riesgos se pueden identificar sóloteniendo una visión clara de latecnología, el personal y el entorno.

Análisis y gestión de riesgos

Planificación de un Proyecto de Software

“Un método para identificar riesgos es crear unlista de comparación de elementos de riesgo.”

•Tamaño del producto• Impacto en el negocio, riesgosasociados a los limitacionesimpuestas por la gestión o por elmercado.• Características del cliente, riesgosasociados con la satisfacción delcliente y la habilidad de comunicacióndel desarrollador.

Análisis y gestión de riesgos

Planificación de un Proyecto de Software

•Definición del proceso, riesgosasociados con el grado de definicióndel proceso de software y suseguimiento por la organización dedesarrollo.• Entorno de desarrollo, riesgosasociados con la disponibilidad ycalidad de las herramientas que sevan a emplear en la construcción delproducto.• Tecnología a construir, riesgosasociados con la complejidad delsistema a construir y la tecnología depunta que contiene el sistema.

Análisis y gestión de riesgos

Planificación de un Proyecto de Software

•Tamaño y experiencia de la plantilla,riesgos asociados a la experienciatécnica y de proyectos de laspersonas que participan del desarrollodel proyecto.

Análisis y gestión de riesgos

“La identificación del riesgo puede darrespuesta a las preguntan que nacenen la planificación del proyecto.”

Planificación de un Proyecto de Software

Análisis del Riesgo

Mide la probabilidad y el impacto de cadariesgo.

Esta etapa intenta medir los riesgos de dosmaneras:

� La probabilidad de que el riesgo seareal.

� Las consecuencias de losproblemas asociados con los riesgos,si estos ocurrieran

Análisis y gestión de riesgos

Planificación de un Proyecto de Software

Actividades de proyección del riesgo:

� Establecer una escala que refleje laprobabilidad percibida por el riesgo.� Definir las consecuencias delriesgo.� Estimar el impacto del riesgo en elproyecto y en el producto.� Apuntar la exactitud general de laproyección del riesgo de manera queno haya confusiones.

Análisis y gestión de riesgos

Análisis del Riesgo

Planificación de un Proyecto de Software

Priorización del Riesgo

Generar una lista de riesgos ordenados porsu impacto.

“Con el paso del tiempo y con suaprendizaje sobre el proyecto, esposible refinar el riesgo en unconjunto de riesgos detallados, cadauno algo más fácil de reducir,supervisar y gestionar”.

Análisis y gestión de riesgos

Planificación de un Proyecto de Software

Control del Riesgo

Esta etapa se compone de la planificación,resolución y monitorización del riesgo.

� La planificación de la gestión deriesgo, consiste en desarrollar unplan que controle cada uno de losriesgos de prioridad alta identificadosen las actividades anteriores.

Análisis y gestión de riesgos

Planificación de un Proyecto de Software

Control del Riesgo

� Resolución del riesgo

Análisis y gestión de riesgos

� Evite el riesgo�Traslade el riesgo de una parte delsistema a otra.�Consiga información acerca delriesgo�Elimine el origen del riesgo�Asuma el riesgo�Comunique el riesgo�Control el riesgo�Recuerde el riesgo

Control del Riesgo

� Monitorización de riesgos

“La vida en el mundo del software seríamás fácil si los riesgos aparecendespués de que hayamos desarrolladoplanes para tratarlos”.

“Los riesgos aparecen y desaparecenen el desarrollo del proyecto, es poresto que se necesita de unamonitorización para comprobar cómoprogresa el control de un riesgo eidentificar cómo aparecen los nuevosriesgos”.

Planificación de un Proyecto de SoftwareAnálisis y gestión de riesgos

Planificación temporal y seguimiento delproyecto

“Usted ha seleccionado unmodelo de proceso adecuado, haidentificado las tareas deingeniería del software que hayque llevar a cabo, ha estimado lacantidad de trabajo y el númerode personas necesario, conocelas fechas límite de entrega eincluso ha considerado losriesgos.”

Planificación temporal y seguimiento delproyecto

Aunque hay muchas razones por las que el software seentrega tarde, la mayoría pertenecen a una o más de lassiguientes causas:

�Una fecha límite poco realista.�Cambio de los requisitos del cliente�Una subestimación honesta de la cantidad deesfuerzo y/o el número de recursos que seránnecesarios para hacer el trabajo.�Riesgos predecibles y no predecibles�Dificultades técnicas�Dificultades humanas�Falta de comunicación�Falta de reconocimiento

Planificación temporal y seguimiento delproyecto

La planificación temporal de unproyecto de software, es unaactividad que distribuye el esfuerzoestimado a lo largo de la duraciónprevista del proyecto, asignando elesfuerzo a las tareas específicasde la ingeniería del software.

Planificación temporal y seguimiento delproyecto

La planificación temporal de proyectos de software se guíapor unos principios básicos:

�Compartimentación, todo proyecto debedividirse en un número de actividades y tareasmanejables.� Interdependencia, se deben determinar lasinterdependencias de cada actividad o tareacompartida.� Asignación de tiempo, a cada tarea que sevaya a programar se le debe de asignar ciertonúmero de unidades de trabajo.

Planificación temporal y seguimiento delproyecto

� Validación de esfuerzo, a medida que hace laasignación de tiempo, el gestor del proyectodebe asegurarse de que no se ha asignado unnúmero de personas mayor a las se hanconsiderado en ese momento.� Responsabilidades definidas, cada tareaprogramable debe asignarse a un miembro delequipo específico.� Resultados definidos, cada tarea programadadebe tener un resultado definido.� Hitos definidos, todas las tareas o grupos detareas deberían asociarse con un hito delproyecto.

Planificación temporal y seguimiento delproyecto

“La planificación temporal de un proyecto de software es unaactividad que distribuye el esfuerzo estimado a lo largo de laduración prevista del proyecto, asignando el esfuerzo a lastareas específicas de la ingeniería de software.”

La planificación temporal evoluciona con eltiempo:

• Planificación temporal macroscópica, seidentifican las principales actividades de laingeniería del software y las funciones delproducto a las que se aplican.• Planificación temporal detallada, seidentifican y programan las tareas delsoftware específicas.

Planificación temporal y seguimiento delproyecto

Para desarrollar una planificación temporal del proyecto, sedebe distribuir un conjunto de tareas a lo largo de la duracióndel proyecto.

Un conjunto de tareas es una colección deentregas, hitos y tareas de ingeniería delsoftware.

Un conjunto de tareas crecerá en tamaño ycomplejidad al mismo tiempo que crece elgrado de rigor.

Planificación temporal y seguimiento delproyecto

“Dentro de un tipo de proyecto simple, existen muchosfactores que influyen en el conjunto de tareas a elegir.”

“Estos factores proporcionan una indicacióndel grado de rigor con el que deberíaaplicarse el proceso de software”

Planificación temporal y seguimiento delproyecto

El gestor de proyectos debe desarrollar un enfoque sistemáticopara seleccionar el grado de rigor apropiado para cada proyecto.Para conseguirlo, se definen unos criterios de adaptación delproyecto y se calcula un valor selector del conjunto de tareas.

Los criterios de adaptación se emplean paradeterminar el grado de rigor recomendadocon el que el proceso del software deberíaaplicarse en un proyecto.

Planificación temporal y seguimiento delproyecto

Criterios de adaptación

•Tamaño del proyecto•Número potencial de usuarios•Importancia de la misión•Antigüedad de la aplicación•Estabilidad de los requisitos•Facilidad de comunicacióncliente/desarrollador•Madurez de la tecnología aplicable•Limitaciones de rendimiento•Características empotrada/noempotradas•Personal del proyecto•Factores de reingeniería