Está en la página 1de 60

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

El espectro de la gestión
Contenidos

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
las cuatro P’s.
El espectro de la gestión

 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.
 Una mala gestión produce:
El espectro de la gestión

 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
 Necesitamos personal preparado y motivado

 El factor humano es tan importante, tal que se


El espectro de la gestión -

han desarrollado “modelos de madurez de la


capacidad de gestión”, para permitir aumentar
PERSONAL

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
inversión en personal a la larga prosperarán.
El espectro de la gestión -

 Hay 5 tipos de participantes:


 Gestores Superiores.- Definen los aspectos del
PERSONAL

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.
Los Jefes de Equipo
El espectro de la gestión -

 Es la persona que lidera a un equipo.

 En función de la organización y el proyecto


PERSONAL

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.
Características de un buen jefe de
equipo
El espectro de la gestión -

Modelo de Gestión según Jerry Weinberg


PERSONAL

• 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.
Características que definen a un
Gestor de Proyectos…
El espectro de la gestión -

 Resolución del problema:


 Pueden diagnosticar los aspectos técnicos y de organización
PERSONAL

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.
…Características que definen a un
Gestor de Proyectos
El espectro de la gestión -

 Competencia tecnológica:
 Grado de conocimiento de las ultimas tecnologías.
PERSONAL

 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 equipo de desarrollo de software
 El jefe de equipo elige el personal para cada
El espectro de la gestión -

proyecto.

 Existen tantas estructuras de organización de


PERSONAL

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.
Valores del equipo de desarrollo…
 Experiencia en el dominio de la aplicación.
El espectro de la gestión -

Para desarrollar un proyecto con éxito, debemos


entender el dominio.
PERSONAL

 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.
…Valores del equipo de desarrollo
 Adaptabilidad. Capacidad de aprender.
El espectro de la gestión -

 Actitud. Ante el trabajo y las dificultades.


PERSONAL

 Personalidad. Capacidad de trabajo en equipo.


Factores a considerar cuando se planifica el
organigrama de equipos de IS
El espectro de la gestión -

 La dificultad del problema que hay que resolver.


 El tamaño del programa resultante en líneas de
PERSONAL

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.
Organización del Personal
 Individuos trabajando de forma independiente en
El espectro de la gestión -

distintas tareas, con poco trabajo conjunto y


coordinados por el gestor del proyecto.
PERSONAL

 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
 Descentralizado Democrático (DD).
El espectro de la gestión -

 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
PERSONAL

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).
Organigramas de Equipos Genéricos
 Centralizado Controlado (CC).
El espectro de la gestión -

 Hay un único jefe de equipo


 Este resuelve los problemas a alto nivel y la
coordinación del equipo.
PERSONAL

 La comunicación entre el jefe y los miembros del


equipo es vertical.
El espectro de la gestión - Organigramas de Equipos Genéricos
PERSONAL

DD DC CC

Estructuras de equipo según MANTEI


Que organigrama de equipos elegir
El espectro de la gestión -

Mantei, identifica siete factores de un proyecto


para determinar la estructura a elegir.
PERSONAL

 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.
Que organigrama de equipos elegir
El espectro de la gestión -

Considerando los factores según Mantei…


 Tamaño
PERSONAL

 Modularidad
 Fiabilidad
 Fecha de entrega.

CC DC DD

• Dificultad
• Duración
• Comunicación
Uso de las Organigramas de Equipos
Genéricos
El espectro de la gestión -

 Centralizado Controlado (CC).


 Manejan problemas sencillos.
PERSONAL

 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.
Equipos cohesionados
Con independencia de la estructura, la cohesión
El espectro de la gestión -

del equipo es fundamental:


PERSONAL

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.
Equipos no cohesionados
El espectro de la gestión -

Según Jackman hay 5 toxinas que afectan a la


cohesión del equipo:
PERSONAL

 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.
Paradigmas de Organización para
equipos de Ingeniería de Software…
El espectro de la gestión -

 Paradigma cerrado:
 Tiene una jerarquía tradicional de autoridad.
PERSONAL

 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.
…Paradigmas de Organización para
equipos de Ingeniería de Software
El espectro de la gestión -

 Paradigma abierto:
 Estructura a un equipo con controles asociados con el
paradigma cerrado.
PERSONAL

 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.
Algunos Aspectos sobre la
Coordinación y Comunicación
El espectro de la gestión -

Motivos por los que los proyectos de software pueden tener


problemas
 La escala:
PERSONAL

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.
Dilema del gestor de proyectos al
inicio de un proyecto
El espectro de la gestión -

 Se requieren estimaciones cuantitativas y un plan


organizado, pero no se dispone de información sólida.
PRODUCTO

 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


 Antes de planificar un proyecto se debe:
El espectro de la gestión -

 Establecer los objetivos y el ámbito del producto.


 Considerar soluciones alternativas e identificar las
dificultades técnicas y de gestión.
PRODUCTO

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 ámbito del Software…
La primera actividad de gestión de un proyecto
El espectro de la gestión -

de software es determinar el ámbito del software.


PRODUCTO

 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 ámbito del Software…
El espectro de la gestión -

 El ámbito de un proyecto de software debe


ser univoco y entendible a niveles de gestión
y técnico.
PRODUCTO

 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 ámbito del Software
El espectro de la gestión -

 Por ejemplo un sistema CAD.

 Modulo de dibujo.
PRODUCTO

 Modulo de transformaciones.
 Modulo de archivo.
 Modulo de impresión.
Descomposición del Problema…
 Es una actividad que se asienta en el núcleo
El espectro de la gestión -

del análisis de requisitos del software.

 Durante la actividad de exposición del ámbito


PRODUCTO

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 - …Descomposición del Problema…

 Es esta fase se lleva a cabo la partición vertical

 Durante la exposición del ámbito se produce una


PRODUCTO

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 - …Descomposición del Problema

 En el ejemplo del sistema CAD.

 Modulo de dibujo.
PRODUCTO

 Dibujo 2D
 Lineas
 Cuadrados
 Circunferencias
o Por centro y radio
o Por tres puntos
 Splines
 Dibujo 3D
El Proceso…
 Las fases genéricas que caracterizan el
El espectro de la gestión -

proceso de software, definición, desarrollo y


mantenimiento se encuentran y son aplicables
a todo los modelos de proceso de software.
PROCESO

 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 Proceso
 Un proceso de software proporciona la
El espectro de la gestión -

estructura desde la que se puede establecer un


detallado plan para el desarrollo de software.
PROCESO

 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.
Maduración del Producto y el Proceso…
 Actividades estructurales:
El espectro de la gestión -

 Comunicación con el cliente.- Obtención de


requerimientos.
 Planificación.- Define los recursos.
PROCESO

 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.
…Maduración del Producto y el Proceso
Actividades Estructurales de Comunica Planificación Análisis de Ingeniería
El espectro de la gestión -

ción con riesgo


Proceso Comunes el cliente

Tareas de Ingeniería de
Análisis Diseño
software
Funciones del producto
PROCESO

10.10.12
Introducción de texto 25.10.12
Tarea de
trabajo

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
Estructura descomposición
El espectro de la gestión -

 La misión del gestor es rellenar todas las celdas


de la tabla para obtener una planificación
temporal.
PROCESO

 La tabla es orientativa.

 Los niveles de descomposición pueden ser varios


Descomposición del Proceso…
El espectro de la gestión -

Elección del paradigma de ingeniería de


software que resulta mejor para el proyecto.
PROCESO

 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.
…Descomposición del Proceso…
El espectro de la gestión -

 Una vez elegida el modelo de proceso, la


Estructura Común de Proceso (ECP) se adapta
a el.
PROCESO

 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
…Descomposición del Proceso
El espectro de la gestión -

 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
PROCESO

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
complejidad.
El espectro de la gestión -

 Para evitar el fracaso de un proyecto; un gestor


de proyectos de software y los ingenieros de
PROYECTO

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.
La Regla 90 – 90
(Se toma como cierto para proyectos mal
El espectro de la gestión -

gestionados)

 El 90% de un sistema absorbe el 10% del


PROYECTO

tiempo y el esfuerzo asignado.

 El ultimo 10% se lleva el otro 90% del


esfuerzo y del tiempo asignado.
10 señales que indican que un proyecto de
sistemas de información esta en peligro.
El espectro de la gestión -

1. La gente del software no comprende las necesidades del


cliente.
2. El ámbito del producto esta definido pobremente.
PROYECTO

3. Los cambios están mal realizados.


4. La tecnología elegida cambia.
5. Las necesidades del negocio cambian (o están mal definidas).
6. Las fechas de entrega no son realistas.
7. Los usuarios se resisten.
8. Se pierden los patrocinadores (o nunca se obtuvieron
adecuadamente).
9. El equipo del proyecto carece del personal con las habilidades
apropiadas.
10. Los gestores (y los desarrolladores) evitan buenas practicas y
sabias lecciones.
Como debe actuar el gestor para evitar los
problemas señalados:
El espectro de la gestión -

• Empezar con el pie derecho (trabajar duro)


• Mantenerse (proporcionar incentivos)
PROYECTO

• 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
Relación entre error, defecto y fallo
Defectos y errores en software
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.
Resumen

• 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.
…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
Resumen

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

También podría gustarte