Ingeniería de Software
Unidad I
Gestión de Proyectos de Software
Semana 3
Tema
Proyectos de software
Objetivos Generales:
 Comprender correcta y eficientemente
los conceptos y principios del espectro
de técnicas de Ingeniería de Software
que puedan ser aplicadas en proyectos
de software.
 Desarrollar una cultura de ingeniería de
software.
Objetivos Específicos:
 Aplicar
correctamente los conceptos y
principios relacionados a la Ingeniería de
Software en la resolución de casos
prácticos para la gestión de proyectos de
software de calidad.
 Utilizar herramientas para el modelado y
gestión de proyectos de software.
 Utilizar metodologías agiles en el desarrollo
de software.
Objetivos Instruccionales:
 Discutir los conceptos relacionados a la
gestión del software.
 Analizar la influencia de las 4Ps en la
gestión del software.
Conceptos sobre gestión de proyectos
Contenidos
El espectro de la gestión
EG – PERSONAL
EG – PRODUCTO
EG – PROCESO
EG - PROYECTO
Defectos y errores en software
Conceptos sobre gestión de proyectos
• Planteo del problema de la gestión
La gestión de proyectos de software persigue la
misma finalidad que todas las gestiones de
proyectos de ingeniería:

Estimar que sucederá con un proyecto nuevo
 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?
 ¿Cuánto costará el proyecto?
Conceptos sobre gestión de proyectos
• Diferentes tipos de proyectos
Debemos diferenciar tres tipos de proyectos desde
el punto de vista de su gestión:
 Proyectos nuevos: se busca analizar costos, tiempos
y cantidad de personas. Es el caso más difícil de
todos.
 Replanteo de proyectos viejos: se busca afinar la
metodologías de estimación. Es la principal fuente de
información
 Extensiones:
o ampliaciones de un proyecto
existente: Es un caso intermedio donde se desea tener
buena
precisión
en
plazos
y
costos.
 La gestión eficaz de un proyecto se centra en
El espectro de la gestión
las cuatro P’s.
 Personal – Producto – Proceso – Proyecto
 El orden no es arbitrario.
 El gestor debe tener en cuenta que:
 El trabajo de IS, es un esfuerzo humano intenso que lo llevara al
éxito.
 Debe fomentar una minuciosa comunicación con el cliente al
principio de la evolución del proyecto.
 Un proyecto emprendido sin un plan sólido arriesga el éxito del
producto.
El espectro de la gestión
 Una mala gestión produce:
 Proyectos mal organizados
 Fechas limites imposibles de cumplir.
 Sistemas que no cumplen con lo que esperaban los clientes.
 Sistemas imposibles de mantener.
¡Cual es la SOLUCION!
Una buena gestión de los proyectos de software
El espectro de la gestión PERSONAL
 Necesitamos personal preparado y motivado
 El factor humano es tan importante, tal que se
han desarrollado “modelos de madurez de la
capacidad de gestión”, para permitir aumentar
la preparación de organizaciones del software
y llevar a cabo cada vez más complicadas
aplicaciones.
 El modelo de madurez de gestión de personal
define áreas claves prácticas para el personal
que desarrolla software:
Reclutamiento,
Selección,
Gestión
del
rendimiento,
Entrenamiento, Retribución, Desarrollo de la carrera, Diseño
de la organización y del trabajo, Desarrollo cultural y de
espíritu.
 Las compañías que gestionan sensiblemente su
El espectro de la gestión PERSONAL
inversión en personal a la larga prosperarán.
 Hay 5 tipos de participantes:
 Gestores Superiores.- Definen los aspectos del
negocio.
 Gestores (técnicos) del proyecto.- Planifican,
motivan, organizan y controlan a quienes realizan el
trabajo de software.
 Profesionales.- Proporcionan la capacidad técnica.
 Clientes.- Especificando los requisitos para la
ingeniería del software.
 Usuarios finales.- Interactúan con el software una
vez que se ha entregado para la producción.
El espectro de la gestión PERSONAL
Los Jefes de Equipo
 Es la persona que lidera a un equipo.
 En función de la organización y el proyecto
puede ser un gestor técnico o un profesional.
 Un buen profesional informático competente,
no quiere decir buen jefe de equipo:
 Generalmente, no tienen la mezcla adecuada de
capacidades para guiar al personal.
El espectro de la gestión PERSONAL
Características de un buen jefe de
equipo
Modelo de Gestión según Jerry Weinberg
• Motivación
Habilidad para motivar al personal técnico para que
produzca conforme a sus mejores capacidades.
• Organización
Habilidad para amoldar procesos existentes.
• Ideas
Habilidad para motivar al personal para crear y
sentirse creativo.
El espectro de la gestión PERSONAL
Características que definen a un
Gestor de Proyectos…
 Resolución del problema:
 Pueden diagnosticar los aspectos técnicos y de organización
mas relevantes.
 Estructuran una solución sistemáticamente.
 Son flexibles para cambiar la gestión si los intentos iniciales de
resolver el problema no dan resultado.
 Dotes de gestión:
 Capacidad para manejar el problema y el personal.
 Debe tener confianza para asumir el control de ser necesario.
 Incentivos por logros:
 Debe recompensar la iniciativa y logros.
 Demostrar que no habrá penalizaciones si se corren riesgos
controlados.
El espectro de la gestión PERSONAL
…Características que definen a un
Gestor de Proyectos
 Competencia tecnológica:
 Grado de conocimiento de las ultimas tecnologías.
 Influencia y construcción de espíritu de equipo:
 Debe ser capaz de “leer” a la gente.
 Entender señales verbales y no verbales.
 Mantener el control en situaciones de gran estrés.
 Capacidad para cohesionar al grupo y entender los problemas
personales.
El espectro de la gestión PERSONAL
El equipo de desarrollo de software
 El jefe de equipo elige el personal para cada
proyecto.
 Existen tantas estructuras de organización de
personal para el desarrollo de software como
organizaciones que se dedican a ello.
 Opciones de aplicación a los recursos de un
proyecto que requiere n personas trabajando
durante k años.
 n individuos son asignados a m diferentes tareas funcionales
(m>n).
 n individuos son asignados a m diferentes tareas funcionales
de manera que se establezcan equipos de trabajo (m<n).
 n individuos se organizan en t equipos, a cada equipo se le
asigna una o mas tareas formales.
El espectro de la gestión PERSONAL
Valores del equipo de desarrollo…
 Experiencia en el dominio de la aplicación.
Para desarrollar un proyecto con éxito, debemos
entender el dominio.
 Experiencia con la plataforma. Solo es
importante si hay programación de bajo nivel.
 Experiencia con el lenguaje de programación.
Sobretodo en proyectos cortos.
 Capacidad de comunicación. Comunicarse con
los otros miembros del equipo, con los gestores y con
los clientes.
El espectro de la gestión PERSONAL
…Valores del equipo de desarrollo
 Adaptabilidad. Capacidad de aprender.
 Actitud. Ante el trabajo y las dificultades.
 Personalidad. Capacidad de trabajo en equipo.
El espectro de la gestión PERSONAL
Factores a considerar cuando se planifica el
organigrama de equipos de IS
 La dificultad del problema que hay que resolver.
 El tamaño del programa resultante en líneas de
código.
 El tiempo que el equipo estará junto
 El grado en que el problema puede ser
modularizado.
 La calidad requerida y fiabilidad del sistema que se
va a a construir.
 La rigidez de la fecha de entrega.
 El grado de sociabilidad requerido para el proyecto.
El espectro de la gestión PERSONAL
Organización del Personal
 Individuos trabajando de forma independiente en
distintas tareas, con poco trabajo conjunto y
coordinados por el gestor del proyecto.
 Formación de equipos informales que acometen
distintas tareas, donde se puede elegir un jefe, y
los equipos los coordina el gestor.
 Organización de equipos bien determinados,
donde a cada equipo se le asigna un conjunto de
tareas bien definido. Cada equipo tiene una
estructura especifica y bien definida. La
coordinación se divide entre el equipo y el gestor
del proyecto.
Organigramas de Equipos Genéricos
El espectro de la gestión PERSONAL
 Descentralizado Democrático (DD).
 No tiene un jefe permanente
 Se nombran coordinadores de tareas a corto plazo para tareas
especificas.
 Las decisiones sobre problemas se toman en consenso en
grupo.
 La comunicación entre los miembros del equipo es horizontal.
 Descentralizado Controlado (DC).
 Tiene un jefe de equipo para las tareas
 Tiene jefes secundarios para las subtareas.
 La resolución de problemas sigue siendo una actividad de
grupo.
 El jefe de grupo distribuye la implementación de tareas entre
los subgrupos
 La comunicación es tanto vertical (entre jefes) como horizontal
(entre subgrupos).
El espectro de la gestión PERSONAL
Organigramas de Equipos Genéricos
 Centralizado Controlado (CC).
 Hay un único jefe de equipo
 Este resuelve los problemas a alto nivel y la
coordinación del equipo.
 La comunicación entre el jefe y los miembros del
equipo es vertical.
El espectro de la gestión PERSONAL
Organigramas de Equipos Genéricos
DD
DC
Estructuras de equipo según MANTEI
CC
El espectro de la gestión PERSONAL
Que organigrama de equipos elegir
Mantei, identifica siete factores de un proyecto
para determinar la estructura a elegir.
 Dificultad del problema
 Tamaño en líneas de código (LDC) o de puntos de





función (PF).
Duración del equipo.
Modularidad del problema.
Calidad y fiabilidad del sistema a construir.
Fecha de entrega.
Comunicación requerida en el proyecto.
El espectro de la gestión PERSONAL
Que organigrama de equipos elegir
Considerando los factores según Mantei…
 Tamaño
 Modularidad
 Fiabilidad
 Fecha de entrega.
CC
DC
DD
• Dificultad
• Duración
• Comunicación
El espectro de la gestión PERSONAL
Uso de las Organigramas de Equipos
Genéricos
 Centralizado Controlado (CC).
 Manejan problemas sencillos.
 Descentralizado Controlado (DC).
 Tienen mas probabilidad de éxito en la resolución
de problemas complejos.
 Descentralizado Democrático (DD).
 Manejan mejor los problemas difíciles.
El espectro de la gestión PERSONAL
Equipos cohesionados
Con independencia de la estructura, la cohesión
del equipo es fundamental:
Ventajas:
 Desarrollo estándar de calidad de grupo
 Los miembros del grupo trabajan mejor juntos.
 Se conoce el trabajo de los otros miembros del
grupo
 Se practica la programación sin ego.
Desventajas:
 Resistencia al cambio en el liderazgo
 Pensamiento de grupo.
El espectro de la gestión PERSONAL
Equipos no cohesionados
Según Jackman hay 5 toxinas que afectan a la
cohesión del equipo:
 Atmósfera de trabajo frenética.
 Frustración causada por factores tecnológicos
del negocio o personales.
 Falta de un modelo de proceso adecuado.
 Definición confusa de los papeles.
 Continua y repetida exposición al fallo.
El espectro de la gestión PERSONAL
Paradigmas de Organización para
equipos de Ingeniería de Software…
 Paradigma cerrado:
 Tiene una jerarquía tradicional de autoridad.
 Trabajan bien cuando producen software similar a
otros anteriores.
 Paradigma aleatorio:
 Tiene una jerarquía libre.
 Depende de la iniciativa individual de los miembros
del equipo.
 Son eficaces cuando se requiere innovación o
avances.
El espectro de la gestión PERSONAL
…Paradigmas de Organización para
equipos de Ingeniería de Software
 Paradigma abierto:
 Estructura a un equipo con controles asociados con el
paradigma cerrado.
 También tienen mucha innovación.
 El trabajo se desarrolla en colaboración con mucha
comunicación
 Son adecuados para la resolución de problemas
complejos.
 Paradigma sincronizado:
 Se basa en el comportamiento natural de un problema.
 Organiza a los miembros del equipo para trabajar en
partes del problema con poca comunicación activa
entre ellos.
El espectro de la gestión PERSONAL
Algunos Aspectos sobre la
Coordinación y Comunicación
Motivos por los que los proyectos de software pueden tener
problemas
 La escala:
El esfuerzo de desarrollo es grande, conduciendo a
complejidades, confusión y dificultades significativas para
coordinar a los miembros del equipo.
 La incertidumbre:
Da como resultado un continuo flujo de cambios que impactan al
equipo de proyecto.
 La Interoperatividad:
El software nuevo debe comunicarse con el anterior y ajustarse a
restricciones predefinidas impuestas por el sistema o el producto.
El espectro de la gestión PRODUCTO
Dilema del gestor de proyectos al
inicio de un proyecto
 Se requieren estimaciones cuantitativas y un plan
organizado, pero no se dispone de información sólida.
 Un análisis detallado de los requisitos del software
proporcionaría la información necesaria para las
estimaciones, pero esto llevaría semanas o meses.
 O en su defecto los requisitos pueden ser fluidos,
cambiando regularmente a medida que avanza el
proyecto, pero el plan de proyecto se necesita ya.
SOLUCION:
Determinar el ámbito del software
El espectro de la gestión PRODUCTO
 Antes de planificar un proyecto se debe:
 Establecer los objetivos y el ámbito del producto.
 Considerar soluciones alternativas e identificar las
dificultades técnicas y de gestión.
Los objetivos identifican las metas generales del
proyecto sin considerar como se conseguirán.
El ámbito identifica:
 Los datos primarios.
 Funciones y comportamientos que caracterizan al
producto
El espectro de la gestión PRODUCTO
El ámbito del Software…
La primera actividad de gestión de un proyecto
de software es determinar el ámbito del software.
 El ámbito se define en función a:
 Contexto.
Como encaja el software a construir en un sistema, producto o
contexto de negocio mayor, limitaciones.
 Objetivos de Información.
 Que objetos de datos visibles al cliente se obtiene del
software (resultados o salidas).
 Que objetos de datos son requeridos de entrada
 Función y rendimiento.
Que función realiza el software para transformar la información
de entrada en una salida, características especiales de
rendimiento.
El espectro de la gestión PRODUCTO
…El ámbito del Software…
 El ámbito de un proyecto de software debe
ser univoco y entendible a niveles de gestión
y técnico.
 Los enunciados del ámbito del software
deben estar limitados.
 En esta fase se lleva a cabo la partición
horizontal
 Se descompone el sistema en módulos
 Un modulo es una agrupación de funciones que
llevan a cabo tareas de naturaleza similar.
El espectro de la gestión PRODUCTO
…El ámbito del Software
 Por ejemplo un sistema CAD.
 Modulo de dibujo.
 Modulo de transformaciones.
 Modulo de archivo.
 Modulo de impresión.
Descomposición del Problema…
El espectro de la gestión PRODUCTO
 Es una actividad que se asienta en el núcleo
del análisis de requisitos del software.
 Durante la actividad de exposición del ámbito
no se intenta descomponer el problema
totalmente.
 La descomposición se aplica en dos áreas
principales:
 La funcionalidad que deba entregarse
 El proceso que se emplea para entregarlo
 Esta es la estrategia que se aplica al inicio de la
planificación del proyecto.
El espectro de la gestión PRODUCTO
…Descomposición del Problema…
 Es esta fase se lleva a cabo la partición vertical
 Durante la exposición del ámbito se produce una
descomposición de primer nivel.
 Ahora se refina dicha descomposición hasta el nivel
de funciones.
 Una función representa un procesamiento
directamente invocable por el usuario que transforma
información de entrada en información de salida.
 En el proceso de descomposición pueden definirse
nuevos submódulos.
El espectro de la gestión PRODUCTO
…Descomposición del Problema
 En el ejemplo del sistema CAD.
 Modulo de dibujo.
 Dibujo 2D
 Lineas
 Cuadrados
 Circunferencias
o Por centro y radio
o Por tres puntos
 Splines
 Dibujo 3D
El espectro de la gestión PROCESO
El Proceso…
 Las
fases genéricas que caracterizan el
proceso de software, definición, desarrollo y
mantenimiento se encuentran y son aplicables
a todo los modelos de proceso de software.
 El problema esta en elegir el modelo de
proceso apropiado.
 El gestor del proyecto debe decidir que modelo
de proceso es el mas adecuado para:
 Los clientes que han solicitado el producto y la gente que
realizara el trabajo.
 Las características del producto en si.
 El entorno del proyecto en el que trabaja el equipo de software.
El espectro de la gestión PROCESO
…El Proceso
 Un
proceso de software proporciona la
estructura desde la que se puede establecer un
detallado plan para el desarrollo de software.
 Los proyectos de software incorporan:
 Un pequeño numero de actividades estructurales, sin tener en
cuenta su tamaño o complejidad (Tareas, Hitos, Productos de
trabajo, Puntos de Garantía de Calidad).
 Actividades Protectoras. Garantía de Calidad del Software,
Gestión de la configuración de Software y Medición.
 Las
actividades
Protectoras
son
independientes de las estructurales y tienen
lugar a lo largo del proceso.
El espectro de la gestión PROCESO
Maduración del Producto y el Proceso…
 Actividades estructurales:
 Comunicación con el cliente.- Obtención de





requerimientos.
Planificación.- Define los recursos.
Análisis de riesgos.- Valora los riesgos técnicos y de
gestión.
Ingeniería.- Tareas requeridas para construir una o
mas representaciones de la aplicación.
Construcción y entrega.- Tarea requerida para
construir, probar, instalar y proporcionar asistencia al
usuario.
Evaluación del cliente.- Tarea para obtener
información de la opinión del cliente basada en la
evaluación de la representación de software creado.
El espectro de la gestión PROCESO
…Maduración del Producto y el Proceso
Actividades Estructurales de
Proceso Comunes
Tareas de Ingeniería de
software
Comunica
ción con
el cliente
Planificación
Análisis de
riesgo
Ingeniería
Análisis
Funciones del producto
Introducción de texto
Edición y formato
Edición automática de copia
Capacidad de diseño de pagina
Indexación automática
Administración de archivos
Producción de documentos
10.10.12
25.10.12
Tarea de
trabajo
Diseño
El espectro de la gestión PROCESO
Estructura descomposición
 La misión del gestor es rellenar todas las celdas
de la tabla para obtener una planificación
temporal.
 La tabla es orientativa.
 Los niveles de descomposición pueden ser varios
El espectro de la gestión PROCESO
Descomposición del Proceso…
Elección del paradigma de ingeniería de
software que resulta mejor para el proyecto.
 Enfoque secuencial.- un proyecto relativamente
pequeño similar a otros.
 Desarrollo rápido de aplicaciones.- si hay limites de
tiempo muy severos.
 Estrategia incremental.- cuando la fecha limite esta
tan próxima que no va a ser posible entregar toda la
funcionalidad.
El espectro de la gestión PROCESO
…Descomposición del Proceso…
 Una vez elegida el modelo de proceso, la
Estructura Común de Proceso (ECP) se adapta
a el.
 El ECP es invariable y sirve como base para
todo el trabajo de software realizado por una
organización.
 Las Actividades Estructurales (AE) del proceso
deben descomponerse en un conjunto de tareas
de IS.
 Dicha descomposición depende básicamente del
tipo de proyecto
El espectro de la gestión PROCESO
…Descomposición del Proceso
 Por ejemplo, para un proyecto de desarrollo de
un producto nuevo, la AE ingeniería puede
descomponerse en las tareas de IS : Análisis y
diseño.
 Para un proyecto de Reingeniería, la AE
ingeniería puede descomponerse en las tareas
de IS: Análisis, Revisar diseño, Diseño.
 Es la única manera conocida de gestionar la
El espectro de la gestión PROYECTO
complejidad.
 Para evitar el fracaso de un proyecto; un gestor
de proyectos de software y los ingenieros de
software deben:
 Eludir un conjunto de señales de peligro comunes.
 Comprender los factores de éxito que conducen a
las gestión correcta del proyecto.
 Desarrollar un enfoque de sentido común para:
Planificar, supervisar y Controlar el proyecto.
El espectro de la gestión PROYECTO
La Regla 90 – 90
(Se toma como cierto para proyectos mal
gestionados)
 El 90% de un sistema absorbe el 10% del
tiempo y el esfuerzo asignado.
 El ultimo 10% se lleva el otro 90% del
esfuerzo y del tiempo asignado.
El espectro de la gestión PROYECTO
10 señales que indican que un proyecto de
sistemas de información esta en peligro.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
La gente del software no comprende las necesidades del
cliente.
El ámbito del producto esta definido pobremente.
Los cambios están mal realizados.
La tecnología elegida cambia.
Las necesidades del negocio cambian (o están mal definidas).
Las fechas de entrega no son realistas.
Los usuarios se resisten.
Se pierden los patrocinadores (o nunca se obtuvieron
adecuadamente).
El equipo del proyecto carece del personal con las habilidades
apropiadas.
Los gestores (y los desarrolladores) evitan buenas practicas y
sabias lecciones.
El espectro de la gestión PROYECTO
Como debe actuar el gestor para evitar los
problemas señalados:
• Empezar con el pie derecho (trabajar duro)
• Mantenerse (proporcionar incentivos)
• Seguimiento del progreso (seguimiento-aprueban)
• Tomar decisiones inteligentes (usar estándares
para eliminar riesgos, asignar mas tiempo a tareas arriesgadas)
• Realizar un análisis “postmortem” (después
de finalizar el proyecto, evaluar la planificación real y la estimada)
El principio W5HH…

Why is the System being Developed?

What will be done?

When will it be done?

Who is responsible for a function?

Where are they organizationally located?

How will the job be done technically and Managerially?

How much of each resource is needed?
El principio W5HH…
Boehm, sugiere un enfoque que trate los objetivos, hitos,
planificación, responsabilidades enfoque técnico y de
gestión y los recursos requeridos del proyecto a través de
7 cuestiones.
 Se plantean las siguientes:
 (Why) Porque se desarrolla el sistema.- Justifica el propósito
del negocio, el gasto del personal, tiempo y dinero.
 (What)(When) Que se realizara y Cuando.- Identifica las tareas
claves del proyecto y los hitos requeridos por el cliente.
 (Who)Quien es el responsable de una función.- La
responsabilidad de cada miembro del equipo de software debe estar
definida.
…El principio W5HH
 (Where)Donde están situados organizacionalmente.- El
cliente, usuarios y otros directivos también tienen responsabilidades.
 (How)Como estará realizado el trabajo desde el punto de
vista técnico y de gestión.- Se debe definir una estrategia
técnica y de gestión para el proyecto.
 (How)Que cantidad de cada recurso se necesita.- Esta en
función de las estimaciones realizadas.
El principio W5HH es aplicable sin tener en cuenta el
tamaño o la complejidad del proyecto de software
Las Prácticas Críticas
 La Gestión formal del riesgo
 El costo empírico y estimación de la planificación
 La gestión del proyecto basada en métricas
 Seguimiento del valor ganado
 Seguimiento de defectos frente a objetivos de
calidad
 Gestión del programa de personal
Defectos y errores en software
Relación entre error, defecto y fallo
Resumen
Apreciación Global…
• La dirección del proyecto involucra la
planificación, supervisión y mando de las
personas, proceso, y eventos que ocurren
durante el desarrollo del software.
• Todos administramos, pero el alcance de las
actividades de dirección de cada persona varía
conforme a su rol o papel en el proyecto.
• El software necesita ser administrado porque es
una tarea compleja con un tiempo de duración
largo.
Resumen
…Apreciación Global
• Un plan de proyecto es un documento acerca
de lo que define las cuatro P's de tal manera
que asegure un producto de software de
calidad y eficaz.
• La única manera de estar seguro que un plan
del proyecto trabajó correctamente es estar
observando que un producto de calidad alto fue
entregado a tiempo y bajo el presupuesto.
Ingeniería de Software
Unidad I
Gestión de Proyectos de Software
Semana 3
Tema
Proyectos de software
Descargar

Introduccion