Академический Документы
Профессиональный Документы
Культура Документы
El propsito de este tema es conocer las tcnicas de gestin necesarias para planificar, organizar, supervisar y controlar proyectos de software. Estudiaremos los conceptos clave que llevan a una gestin efectiva de proyectos de software que son: Gestin de proyectos de software Mtricas de procesos Bases para una toma de decisiones de gestin efectivas Tcnicas que se emplean para estimar los costos Requisitos de recursos Como establecer un plan efectivo del proyecto
TEMA 1
Objetivo de aprendizaje: El alumno conocer la terminologa necesaria para la gestin de proyectos Criterio de aprendizaje:
La gestin de proyectos de software es una actividad protectora dentro de la ingeniera del software. Empieza antes de iniciar cualquier actividad tcnica y contina a lo largo de la definicin, el desarrollo y el mantenimiento del software. El objetivo principal de un sistema de gestin de proyectos es entregar un producto con calidad.
2
Organigramas de equipo
Descentralizado Democrtico (DD). Comunicacin horizontal Descentralizado controlado (DC). Comunicacin horizontal y vertical Centralizado Controlado (CC). Comunicacin vertical
El problema (segunda p)
Antes de planificar un proyecto se deben: ESTABLECER OBJETIVOS AMBITO SOLUCIONES ALTERNATIVAS IDENTIFICAR DIFICULTADES TECNICAS Y DE GESTION
8
El problema (segunda p)
Los objetivos identifican las metas generales del proyecto sin considerar como se conseguirn. El mbito identifica los datos primarios, funciones y comportamientos que caracterizan el problema e intenta abordar estas caractersticas de una manera cuantitativa. Se define respondiendo a las siguientes cuestiones: Contexto. Cmo encaja el sw a construir en un sistema, producto o contexto de negocios mayor y qu limitaciones se imponene como resultado del contexto? Objetivos de informacin. Qu objetos de datos visibles al cliente se obtienen del sw? Qu objetos de datos son requeridos de entrada? Funcin o rendimiento. Qu funcin realiza el sw para convertir los datos de entrada en una salida? Hay caractersticas de rendimiento especiales que abordar?
El problema (segunda p)
El mbito de un proyecto de software: Debe ser unvoco y entendible a niveles de gestin y tcnico. Deben establecerse explcitamente los datos cuantitativos (Ej. Nmero de usuarios simultneos,
el costo del producto limita el tamao de la memoria) Se describen los factores de reduccin de riesgos (Ej. los algoritmos deseados)
10
El proceso (tercera P)
Un proceso de Sw proporciona la estructura desde la que se puede establecer un detallado plan para el desarrollo del sw. Actividades estructurales (aplicables a todos los proyectos) Diferentes conjuntos de tareas Actividades protectoras (garanta de la calidad de sw)
11
proyecto inicia con la maduracin del problema y del proceso. Todas las funciones que se deben tratar dentro de un proceso de ingeniera por el equipo de sw deben pasar por el conjunto de actividades estructurales que se han definido para una organizacin de sw) ver tabla
Iniciar la descomposicin del proceso.
12
Tabla 2. Maduracin del problema y del proceso ACTIVIDADES ESTRUCTURALES DE PROCESO EN COMN Comunicacin con el cliente Planificacin Anlisis de riesgo Ingeniera
Introduccin de texto
Edicin y formateo
Indexacin automtica
Administracin de archivos
Produccin de documentos
14
TEMA 2
Objetivo de aprendizaje: El alumno conocer y aplicar las etapas de gestin de proyectos para un desarrollo efectivo Criterios de aprendizaje: 2.1 Etapas de la gestin de proyectos.
18
20
Medicin y mtricas
La medicin y las mtricas nos ayudan a entender tanto el proceso tcnico que se utiliza para desarrollar un producto, como el propio producto. El proceso se mide para intentar mejorarlo. El producto se mide para intentar aumentar su calidad. La necesidad de medicin nos permite cuantificar y gestionar de forma ms efectiva.
21
Estimacin
Una de las actividades cruciales del proceso de gestin de proyectos de software es la planificacin. Cuando se planifica un proyecto de software se tiene que obtener estimaciones de:
Esfuerzo humano requerido (normalmente en personas-mes) Duracin cronolgica del proyecto (en fechas) Costo (en dlares).
22
Mtodos de estimacin
Experiencia pasada .- Si un nuevo proyecto es bastante similar en tamao y funcin a un proyecto pasado, es probable que el nuevo proyecto requiera aproximadamente la misma cantidad de esfuerzo, que dure aproximadamente el mismo tiempo y que cueste aproximadamente lo mismo que el trabajo anterior.
23
Mtodos de estimacin
Se han desarrollado varias tcnicas de estimacin para el desarrollo de software, todos tienen en comn los siguientes atributos:
Se ha de establecer de antemano el mbito del proyecto como base para la realizacin de estimaciones y sus puntos dbiles El proyecto se desglosa en partes ms pequeas que se estiman individualmente. Muchos gestores aplican varias tcnicas diferentes de estimacin, utilizando unas para verificar los resultados de otras.
24
Anlisis de riesgos
Es algo vital para una buena gestin del proyecto de software Sin embargo, se emprenden muchos proyectos sin que se hayan considerado los riesgos concretos. El anlisis de riesgos consiste en una serie de pasos de control de riesgos que nos permiten combatirlos: Identificacin de riesgos Clculo de riesgos, Priorizacin de riesgos Estrategias de control de riesgos Resolucin de riesgos Supervisin de riesgos. Estos pasos se aplican a lo largo del proceso de ingeniera de software.
25
Planificacin
Cualquier proyecto de software tiene su planificacin. La planificacin de un proyecto de software no difiere de la planificacin de cualquier proyecto de ingeniera.
Se identifica una serie de tareas del proyecto. Se establecen interdependencias entre las tareas. Se estima el esfuerzo asociado con cada tarea. Se hace la asignacin del personal y de otros recursos. Se crea una red de tareas. Se desarrolla la agenda de fechas.
26
La planeacin de un proyecto
Si no tenemos un plan, el control es imposible James Lewis No sabemos a donde vamos, pero estamos yendo muy rpido
El crculo vicioso
No hay tiempo para planear Porque estoy apagando fuegos Porque estoy ocupado
Apagafuegos
Desarrollo efectivo de actividad 65% Actividad administrativa 25% Otras Actividades 10%
Estimaciones Fallidas
Falta detalle en la descripcin de las actividades Crean expectativas inadecuadas
La administracin de Cambios
- Los cambios deben ejecutarse con la aprobacin de los clientes principales - El AP debe identificar cuales son los cambios "significativos" - Cuidado con el fenmeno de la "Amnesia"
La planeacin contesta a:
- Que debe hacerse: objetivos, alcance y magnitud - Cmo debe hacerse: estrategia del proyecto - Quien debe hacerlo: roles y responsabilidades
La planeacin contesta a:
- Cunto costar: el presupuesto
- Que tan bueno debe ser: el nivel de calidad - Que nivel de desempeo: las especificaciones del "performance" - Que fuerzas: para sacarles provecho
La planeacin contesta a:
- Que debilidades: riesgos, obstculos, para minimizarlos - Que oportunidades: para capitalizarlas
Puntos Crticos
- Desarrollo de la descripcin del problema
si
no
Problema abierto
Lecciones aprendidas
- Si no se tiene un plan, el control no es posible
- Las personas que ejecutarn el plan, deben participar en su preparacin - Utilice un libro de proyectos para documentarlas actividades - El plan debe ser aprobado por aquellos que tiene inters en su ejecucin
Lecciones aprendidas
- Cuando haya cambios significativos, deben ajustarse las variables y comunicar los efectos a los clientes
Seguimiento y Control
El seguimiento se puede hacer de diferentes maneras: Realizando reuniones peridicas del estado del proyecto en la que todos los miembros del equipo informan del progreso y de los problemas Evaluando los resultados de todas las revisiones realizadas a lo largo del proceso de ingeniera de software. Determinando si se han conseguido los hitos formales del proyecto en la fecha programada Comparando la fecha real de inicio con las previstas para cada tarea del proyecto listada en la tabla del proyecto Reunindose informalmente con los profesionales del software para obtener sus valoraciones subjetivas del progreso hasta la fecha y los problemas que se avecinan
47
Seguimiento y Control
El control lo usa el gestor para administrar los recursos del proyecto, enfrentarse a los problemas y dirigir al personal del proyecto. Si las cosas van bien el control es liviano. Pero cuando aparecen los problemas, el gestor debe ejercer el control para solucionarlos tan pronto como sea posible.
48
Medida: Proporciona una indicacin cuantitativa de extensin, cantidad, dimensiones, capacidad y tamao de algunos atributos de un proceso o producto. Medicin: Es el acto de determinar una medida, aparece como resultado de la recopilacin de uno o varios aspectos de los datos. Mtrica: Medida cuantitativa del grado en que un sistema, componente o proceso, posee un atributo dado. Mtrica del software: Relata de alguna forma las medidas individuales sobre algn aspecto. Indicador: Es una mtrica o una combinacin de mtricas que proporcionan una visin profunda del proceso de software, del proyecto de software o del producto en si, permite hacer ajustes al proceso, proyecto o producto para que las cosas salgan mejor.
Nota: La mtrica proporciona al gestor una visin ms profunda y adems le llevar a una toma de decisiones ms fundamentada.
49
50
51
Producto
Proceso
Personas
Entorno de desarrollo
Tecnologa
52
53
Anlisis de fallo
El anlisis de fallo funciona de la siguiente manera: Todos los errores y defectos se categorizan por origen Se registra tanto el costo de corregir cada error como el del defecto El numero de errores y defectos de cada categora se cuentan y se ordenan en orden descendente Se computa el costo global de errores y defectos de cada categora Los datos resultantes se analizan para detectar las categoras que producen el costo ms alto para la organizacin Se desarrollan planes para modificar el proceso con el intento de eliminar ( o reducir la frecuencia de apariciones) la clase de errores y defectos que sean ms costosas
58
Cdigo
I nt er f az de usuar i o 1 2% E st ndar es 7%
59
Peticiones inadecuadas
Informacin anticuada utilizada
Incorrecto
Cambios
60
62
Una vez que se hayan recopilado los datos anteriores se calcula el punto de funcin : PF = cuenta-total * [ 0,65 + 0,01 * Fi] Donde Fi ( i = 1 a 14 ) son valores de ajuste de la complejidad .
67
Se ha propuesto un nmero de extensiones a la mtrica del punto de funcin bsica algunas son:
punto de caractersticas la cual se puede aplicar a sistemas y aplicaciones de sistemas de software, se acomoda a las aplicaciones en donde la complejidad del algoritmo es alta ( aplicaciones de tiempo real, de control de procesos, y empotradas), cuenta con una caracterstica nueva del software , los algoritmos. Un algoritmo se define como un problema de clculo limitado (invertir una matriz, decodificar una cadena de bits, o manejar una interrupcin). Boeing desarrollo otra extensin al punto de funcin para sistemas en tiempo real y productos de ingeniera, el nombre que se le ha dado es de punto de funcin 3D enfatizan capacidades de funcin y control.
68
Punto de funcin 3D
Las caractersticas de las tres dimensiones del software se cuentan, cuantifican y transforman La dimensin de los datos. La cuenta de los datos internos ( por ejemplo archivos) y los datos externos ( entradas , salidas peticiones y referencias externas). La dimensin funcional se mide considerando el numero de operaciones requeridas para transformar datos de entrada en datos de salida La dimensin de control se mide contando el numero de transiciones entre estados. Un estado representa algn modo de comportamiento externamente observable, y una transicin ocurre con el resultado de algn suceso que cambia el modo de comportamiento del sistema o del software. Por ejemplo un telfono mvil contiene software que soporta funciones de marcado automtico.
69
70
Para ello es necesario aplicar: Mtodos efectivos para la elaboracin del software y Herramientas modernas que faciliten la elaboracin del mismo. Como se mide la calidad de un sistema? A travs de la descripcin del problema. El modelo de solucin. El cdigo del programa y Por la pruebas que se realicen. Los errores se pueden medir: Por hora de revisin y Por hora de prueba Lo que nos da la llamada: Eficiencia de la eliminacin de defectos (EED)
71
La facilidad de mantenimiento (preventivo y correctivo) y La facilidad de transportabilidad (la aplicacin en diferentes plataformas).
72
2.2.4.2
Medida de la calidad
La correccin, facilidad de mantenimiento, integridad y facilidad de uso proporcionan indicadores tiles para el quipo que en su proyecto trata de tomar medidas de calidad del software. Correccin Es el grado en el que el software lleva a cabo su funcin requerida. La medida ms comn de correccin son los defectos por KLDC (miles de lneas de cdigo), en donde un defecto se define como una falta verificada conforme los requisitos.
73
Medida de la calidad
Facilidad de mantenimiento Es la facilidad con la que se puede corregir errores en un programa Se puede adaptar si su entorno cambia o mejora si el cliente desea un cambio de requisitos. Como no existe forma de medir directamente la facilidad del mantenimiento, se deben utilizar medidas indirectas. Ejemplo una mtrica orientada al tiempo TMC (tiempo medido de cambio).- Tiempo que se tarda en hacer la peticin de cambio, en disear una modificacin adecuada, en implementar el cambio, en probarlo y en distribuir el cambio a todos los usuarios. Los programas que son ms fciles de mantener tendrn un TMC mas bajo que aquellos que son ms difciles de mantener.
HITACHI ha utilizado una mtrica orientada al coste para la capacidad de mantenimiento llamada DESPERDICIOS el coste en corregir defectos encontrados despus de haber distribuido el software a los usuarios finales. Cuando la proporcin de desperdicios en el coste global del proyecto se representa como una funcin del tiempo, el gestor puede determinar si la facilidad de mantenimiento total del software producido por una organizacin en desarrollo esta mejorando.
74
1 amenaza* (1 seguridad)
Medida de la calidad
Integridad Mide la habilidad de un sistema para resistir ataques (tanto accidentales como intencionados) contra su seguridad, el ataque se puede realizar en cualquiera de los tres componentes del software: programas datos y documentos. Para medir la integridad, se tienen que definir dos atributos adicionales: amenaza y seguridad. Amenaza es la probabilidad (que se puede estimar o deducir de la evidencia emprica) de que un ataque de un tipo determinado. La seguridad de la probabilidad de que pueda repeler el ataque de un ataque de un tipo determinado. La integridad del sistema se puede definir como: Integridad =
1 amenaza* (1 seguridad)
75
Medida de la calidad
Facilidad de uso Sigue la filosofa del trmino amigable con el usuario. La facilidad de uso es un intento de cuantificar lo amigable que puede ser con el usuario y se puede medir en funcin de cuatro caractersticas: Habilidad intelectual y/o fsica requerida para aprender el sistema. El tiempo requerido para llegar a ser moderadamente eficiente en el uso del sistema. Aumento neto en productividad (sobre el enfoque que el sistema reemplaza) medida cuando alguien utiliza el sistema moderada y eficientemente. Valoracin subjetiva (a veces obtenida de cuestionarios) de la disposicin de los usuarios hacia el sistema.
76
80
Recuperacin de datos
Medidas
Clculos de mtricas
Mtricas
Evaluacin de mtricas
Proceso de recopilacin de mtrica de software
Indicadores 81
82
2.3.4. Recursos.
La Segunda tarea de la planificacin del desarrollo de Software es la estimacin de los recursos requeridos para acometer el esfuerzo de desarrollo de Software, esto simula a una pirmide donde las Herramientas (hardware y Software), son la base proporciona la infraestructura de soporte al esfuerzo de desarrollo, en segundo nivel de la pirmide se encuentran los Componentes reutilizables. Y en la parte mas alta de la pirmide se encuentra el recurso primario, las personas (el recurso humano). Cada recurso queda especificado mediante cuatro caractersticas: Descripcin del Recurso. Informes de disponibilidad. Fecha cronolgica en la que se requiere el recurso. Tiempo durante el que ser aplicado el recurso.
86
Recursos.
Personas Componentes de software reutilizables Herramientas Hardware/software
87
89
90
95
98
Los riesgos de un proyecto afectan el calendario o recursos Los riesgos de un producto afectan la calidad o el rendimiento del producto Los riesgos de negocio afectan la organizacin que desarrolla o compra el software
99
Cambio en administracin
Hardware no disponible Requerimientos cambian Retrasos en especificacin
Proyecto
Proyecto Proyecto y producto Proyecto y producto Producto y proyecto Producto Negocio Negocio
Subestimacin de tamao
Subrendimiento de herramientas CASE Cambio en tecnologa Competencia del producto
100
Identificar los riesgos de proyecto, producto y negocio Valorar la probabilidad y las consecuencias de estos riesgos Crear planes para evitar o minimizar los efectos del riesgo
Analizar riesgos
Planificar riesgos
101
Identificar riesgos Lista de riesgos potenciales Analizar riesgos Lista priorizada de riesgos Planificar riesgos Planes para evitar riesgos y de contingencia Monitorear riesgos Valoracin de riesgos
102
Identificacin de riesgos
Riesgos Riesgos Riesgos Riesgos Riesgos de de de de de tecnologas personas la organizacin los requerimientos estimacin
103
Personas
Organizacional
Herramientas Requerimientos
Estimacin
104
Analizar riesgos
Valorar la probabilidad y seriedad de cada riesgo La probabilidad puede ser muy baja, baja, moderada, alta o muy alta Los efectos del riesgo pueden ser catastrficos, serios, soportables o insignificantes
105
Anlisis de riesgos
Riesgo Problemas financieros de la organizacin hacen que se reduzca el presupuesto del proyecto. Es imposible reclutar personal con las habilidades requeridas para el proyecto. El personal clave est enfermo en un momento crtico para el proyecto. Componentes de software que se deberan reusar tienen defectos que limitan su funcionalidad. Cambios en requerimientos que requieren trabajo de rediseo significante son propuestos. La organizacin es reorganizada de tal manera que una administracin diferente es ahora responsable del proyecto. La base de datos usada en el sistema no puede procesar la cantidad de transacciones por segundo como se esperaba. El tiempo requerido para desarrollar el software es subestimado. Las herramientas CASE no pueden ser integradas. Los clientes no logran entender el impacto de los cambios de requerimientos. Entrenamiento requerido para el personal no esta disponible. La velocidad de reparacin de defectos es subestimada. El tamao del software es subestimado. El cdigo generado por las herramientas CASE es ineficiente. Probabilidad Baja Alta Moderada Moderada Moderada Alta Moderada Alta Alta Moderada Moderada Moderada Alta Moderada Efectos Catastrficos Catastrficos Serios Serios Serios Serios Serios Serios Tolerables Tolerables Tolerables Tolerables Tolerables Insignificantes
106
Planificar riesgos
Tomar en cuenta cada riesgo y desarrolle una estrategia para manejar ese riesgo Estrategias evasivas
Estrategias de minimizacin
La probabilidad de que el riesgo surja es reducida El impacto que el riesgo tendr sobre el proyecto o el producto es reducida
Planes de contingencia Si el riesgo surge, los planes de contingencia son planes para manejar ese riesgo
107
Enfermedad de personal
Componentes defectuosos
Cambios en requerimientos Reestructuracin de la organizacin Rendimiento de la base de datos Tiempo subestimado para desarrollar
108
Monitorear riesgos
Valorar cada riesgo identificado con regularidad para determinar si est volvindose ms o menos probable Tambin valorar si los efectos del riesgo han cambiados Cada riesgo clave se debe discutir con la administracin durante reuniones de progreso
109
Factores de riesgo
Tipo de riesgo Indicadores potenciales Tecnologa Entrega tarde de hardware o software de soporte, muchos problemas reportados de tecnologa
Personal
Baja moral del personal, malas relaciones entre miembros del equipo, disponibilidad de trabajo
Organizacin
Herramientas
Desgana por los miembros del equipo por usar herramientas, quejas sobre las herramientas CASE, exigencias para computadoras con ms poder
Requerimientos
Estimacin
110
Puntos claves
Buena administracin del proyecto es necesaria para el xito del proyecto El carcter intangible del software causa problemas para administracin Los administradores tienen roles diversos pero sus actividades ms significantes son planificar, estimar y calendarizar. Planificar y estimar son procesos iterativos que continan durante todo el proyecto Un hito de un proyecto es un estado previsible donde un reporte formal es presentado a la administracin Los riesgos pueden ser riesgos de proyecto, producto o negocio Manejar riesgos involucra identificar los riesgos que pueden afectar el proyecto y planificar para asegurar que estos riesgos no se conviertan en amenazas significativas
111
112
113
Plan de Desarrollo
Plan de Calidad
Plan de Validacin
Plan de Mantenimiento
Predice los requerimientos de mantenimiento del sistema, los costes de mantenimiento y el esfuerzo.
114
115
Organizacin de actividades
Las actividades en un proyecto deben ser organizadas para producir resultados tangibles para que la administracin pueda juzgar el progreso. Los Milestones son los puntos finales de alguna actividad. Los deliverables son los resultados del proyecto que sern entregados a los clientes. El proceso de cascada permite una definicin precisa de los milestones.
116
Milestones y Deliverables
ACTIVIDADES Estudio de Factibilidad Anlisis de Requerimientos Desarrollo del Prototipo Estudio del Diseo Especificacin de Requerimientos
Reporte de Factibilidad
Definicin de Requerimientos
Reporte de Evaluacin
Diseo de la Arquitectura
Especificacin de Requerimientos
MILESTONES
117
118
Problemas en la Planificacin
Es difcil estimar la longitud y dificultad de las tareas, por lo que la estimacin del coste es mas difcil. La productividad no es proporcional al nmero de personas trabajando en una tarea. Incluir personal en un proyecto en avance, retrasa el proyecto por overheads en la comunicacin. Lo inesperado siempre sucede. Es necesario considerar siempre contingencias.
119
Duracin (das)
8 15 15 10 10 5 20 25 15 15 7 10
Dependencias
T3 T4
T1
121