Administración de proyectos de desarrollo de software
1. Lic. Sistemas de Información
Administrativa
Administración de Proyectos de Desarrollo de
07/12/2011 Software 1
2. • Francisco Almanza López.
• Dionisio García Rincón.
• Oscar Juárez Ortiz.
• Dante Jesús Herrera Martínez
07/12/2011 Administración de Proyectos de Desarrollo de Software 2
3. Introducción
La administración de los proyectos de software
comienza con un conjunto de actividades llamado
Planificación del proyecto.
La estimación es una etapa de la planificación de
proyectos, que se hace antes del comenzar el proyecto.
Administración de Proyectos de Desarrollo de
07/12/2011 Software 3
4. ¿Qué es?
Es el intento por determinar cuánto dinero, esfuerzo,
recursos y tiempo que tomará construir un sistema o
producto específico basado en software.
07/12/2011 Administración de Proyectos de Desarrollo de Software 4
5. Recursos
Número Herramientas de
Software
Habilidades
Hardware
Personal Entorno
Ubicación
Recursos de
PROYECTO red
Componen
Compone
Software tes nuevos
ntes COTS Reutilizable
Component Componentes
es de de experiencia
parcial
experiencia
Administración de Proyectos de Desarrollo de
07/12/2011 Software 5
6. ¿Quién lo hace?
Los gerentes del proyecto de software, con la
información solicitada a los participantes del proyecto
y datos de métricas de software recopiladas de
proyectos anteriores.
Administración de Proyectos de Desarrollo de
07/12/2011 Software 6
7. ¿Por qué es importante?
¿Construiría una casa sin saber mas o menos cuánto
gastará?
¿Qué nos interesa conocer?
las tareas que necesita realizar
y el cronograma para el trabajo-
que se va a realizar
Administración de Proyectos de Desarrollo de
07/12/2011 Software 7
8. ¿Cuáles son los pasos?
•Tareas
•Funciones por
Descripción del Descomposición Selección de implementar
ámbito del proyecto Realizar
método o
técnica
estimación
•Costo
•Esfuerzo
•Tiempo
Administración de Proyectos de Desarrollo de
07/12/2011 Software 8
9. Observaciones acerca de la
estimación
Los buenos enfoques de estimación y los datos
históricos ofrecen la mejor esperanza de que realmente
se triunfará sobre demandas imposibles.
La complejidad del producto y tamaño del proyecto
afectan la confiabilidad de las estimaciones.
“es distintivo de una mente instruida descansar
satisfecha con el grado de precisión que la naturaleza
del sujeto admite, y no buscar exactitud cuando sólo es
imposible una aproximación”. Aristóteles
Administración de Proyectos de Desarrollo de
07/12/2011 Software 9
10. ¿Cómo me aseguro que lo hice
bien?
Actualización constante
Estableciendo un calendario realista
Estableciendo un calendario realista
Crear puntos de datos con al menos dos
métodos diferentes
Usando datos históricos sólidos
Enfoque sistemático
Experiencia
Seguir Camino
Administración de Proyectos de Desarrollo de
07/12/2011 Software 10
11. Herramientas de Estimación
De Descomposición.
Modelos Empíricos
Especializadas (Desarrollo ágil y Para Webapp)
Administración de Proyectos de Desarrollo de
07/12/2011 Software 11
12. Modelos Empíricos
El Modelo Constructivo de Costos (COnstructive COst MOdel) es
una jerarquía de modelos de estimación para el software.
Características:
Está basado en modelos de estimaciones matemáticas.
Está orientado al producto final, no a fases intermedias.
Se basa en la cantidad de líneas de código del proyecto.
13. Esta jerarquía está constituida por los siguientes modelos:
El modelo COCOMO básico es un modelo univariable estático que
calcula el esfuerzo (y el costo) del desarrollo de software en función del
tamaño del programa expresando en líneas de código (LDC) estimadas.
Las ecuaciones del modelo COCOMO básico son de la forma:
E = a * KLOCb
D = c * Ed
Donde E es el esfuerzo aplicado en hombre-mes, D es el tiempo de
desarrollo en meses y KLOC es el número de miles de líneas de código
estimado para el proyecto. Los coeficientes a y c y los exponentes b y d se
obtienen de la siguiente tabla:
Tipo de proyecto a b c d
Orgánico 2.4 1.05 2.5 0.38
Semiacoplado 3.0 1.12 2.5 0.35
Empotrado 3.6 1.20 2.5 0.32
14. El valor de la duración del proyecto permite al
planificador recomendar un número de personas N
para el proyecto.
N=E/D
15. El modelo COCOMO intermedio calcula el esfuerzo del desarrollo de
software en función del tamaño del programa y de un conjunto de
“conductores de costo”, que incluyen la evaluación subjetiva del
producto, del hardware, del personal y de los atributos del proyecto.
En el COCOMO intermedio, la ecuación para calcular el tiempo de
desarrollo es la misma que la del COCOMO básico. La ecuación para
calcular el esfuerzo es:
E = a * KLOCb * EAF
Donde E es el esfuerzo en hombre-mes, KLOC es el número estimado de
miles de líneas de código. El coeficiente a y el exponente b están dados
por la tabla:
Tipo de proyecto a b
Orgánico 3.2 1.05
Semiacoplado 3.0 1.12
Empotrado 2.8 1.20
16. Y EAF es un factor de ajuste del esfuerzo que se calcula valorando en
una escala de muy bajo, bajo, nominal, alto y muy alto cada uno de los
siguientes 15 atributos, agrupados en 4 categorías:
Atributos del producto. Son restricciones y requerimientos del
proyecto que va a ser desarrollado.
Confiabilidad requerida.
Tamaño de la base de datos.
Complejidad del producto.
Atributos de computadora. Son limitaciones puestas por el
hardware y el sistema operativo donde el proyecto va a correr.
Restricciones de tiempo de ejecución.
Restricciones de memoria principal.
Volatilidad de la máquina virtual.
Tiempo de respuesta de la computadora.
17. Atributos de personal. Nivel de habilidades que tiene el personal. Son
habilidades profesionales generales, habilidad de programación, experiencia con
el medio ambiente de desarrollo y familiaridad con el dominio del proyecto.
Capacidad del analista.
Experiencia en aplicaciones.
Capacidad del programador.
Experiencia con la máquina virtual.
Experiencia con el lenguaje de programación.
Atributos del proyecto. Restricciones y condiciones bajo las cuales el proyecto se
desarrolla.
Prácticas modernas de programación.
Uso de herramientas de software.
Calendario de desarrollo requerido.
A cada atributo se le asigna un número real de acuerdo a la tabla siguiente:
Escala Número
muy bajo 0.75
bajo 0.88
nominal 1
alto 1.15
muy alto 1.40
18. El modelo COCOMO avanzado incorpora todas las características de la
versión intermedia y lleva a cabo una evaluación de impacto de los
conductores de costo en cada fase (análisis, diseño, etc.) del proceso de
ingeniería de software.
Los modelos COCOMO están definidos para tres tipos de proyecto de
software.
Modelo Orgánico. Proyectos de software relativamente pequeños y
sencillos en los que trabajan pequeños equipos, con buena experiencia en
la aplicación, sobre el conjunto de requisitos poco rígidos (por ejemplo,
un programa de análisis termal desarrollado para un grupo calórico).
Proyectos pequeños y sencillos.
Equipos pequeños con experiencia en la aplicación.
Requisitos poco rígidos.
19. Modelo Semiacoplado. Proyectos de software intermedios (en tamaño y
complejidad) en los que los equipos, con variados niveles de experiencia,
deben satisfacer requisitos poco o medio rígidos (por ejemplo, un sistema
de procesamiento de transacciones con requisitos fijos para un hardware
de terminal o un software de gestión de base de datos).
Proyectos de tamaño y complejidad intermedia.
Equipos con variado niveles de experiencia.
Requisitos poco o medio rígidos.
Modelo Empotrado. Proyectos de software que deben ser desarrollados
en un conjunto de hardware, software y restricciones operativas muy
restringidas (por ejemplo, software de control de navegación para un
avión).
Proyectos que deben ser desarrollados con un conjunto de requisitos
(hardware y software) muy restringidos.
20. Técnicas de estimación
especializadas
Cuando un equipo de software encuentra una
duración extremadamente corta (semas en lugar de
meses) en la que es posible tener muchos cambios , la
planificación del proyecto y la estimación en
particular deben abreviarse.
Administración de Proyectos de Desarrollo de
07/12/2011 Software 20
21. Estimación para desarrollo
ágil.
Es posible desarrollar un enfoque de estimación que
sea informal, razonablemente disciplinado y
significativo dentro del contexto de la planificación
del proyecto para cada incremento de software.
La estimación para proyectos agiles es un enfoque de
descomposición que abarca los siguientes pasos:
Administración de Proyectos de Desarrollo de
07/12/2011 Software 21
22. 1. Cada actividad de usuario se considera por separado con
propósito de estimación.
2. La actividad se descompone en el conjunto de tareas de
ingeniería de software que será necesario considerar.
3. El esfuerzo requerido por cada tarea se estima por separado.
4. La estimación por cada tarea se suma a fin de crear una
estimación para el escenario.
Administración de Proyectos de Desarrollo de
07/12/2011 Software 22
23. La decisión de hacer/comprar
Con frecuencia es mucho mas efectivo en
costo adquirir, en lugar de desarrollar
software de computadoras.
Los pasos involucrados en la adquisición
del software se definen por lo crucial del
software que se va a comprar y por el
costo final.
Administración de Proyectos de Desarrollo de
07/12/2011 Software 23
24. En el análisis final, la decisión hacer/comprar se toma en
base a las siguientes condiciones:
1. La fecha de entrega del producto de software será
mas próxima que la del software que se desarrolle
internamente.
2. El costo de adquisición mas el costo de
personalización será menor que el costo que implica
desarrollar el software internamente.
Administración de Proyectos de Desarrollo de
07/12/2011 Software 24
25. 3. El costo del apoyo exterior será menor que el
costo del apoyo interno.
Estas condiciones se aplican para cada una de
las opciones de adquisición.
Administración de Proyectos de Desarrollo de
07/12/2011 Software 25
26. Outsourcing
El outsourcing (la subcontratación) es extremadamente
simple. Las actividades de ingeniería de software se contratan
a una tercera parte, que hace que el trabajo a un costo mas
bajo y, con mayor calidad.
La decisión por el outsourcing puede ser estratégica .
Administración de Proyectos de Desarrollo de
07/12/2011 Software 26
27. La tendencia hacia el outsourcing indudablemente
continuara. La única forma de detenerla es
reconocer que el trabajo de software es
extremadamente competitivo en todos los niveles.
La única manera de sobrevivir es volverse tan
competitivo como los mismos proveedores de
outsourcing.
Administración de Proyectos de Desarrollo de
07/12/2011 Software 27
28. Herramientas de software para
Estimaciones De Desarrollo de
Software .
Costar (www.softstarsystems.com)
CostXpert(www.CostXpert.com)
Estimate Professional(www.spc.com)
Price S (www.pricesystems.com)
SEER/SEM (www.galorath.com)
SLIM-Estimate(www.qsm.com)
Administración de Proyectos de Desarrollo de
07/12/2011 Software 28