28
26/06/2022 Administración de Proyectos de Desarrollo de Software 1 “ADMINISTRACION DE PROYECTOS DE DESARROLLO DE SOFTWARE” Lic. Sistemas de Información Administrativa

Administración de proyectos de desarrollo de software

Embed Size (px)

Citation preview

Page 1: Administración de proyectos de desarrollo de software

12/04/2023 Administración de Proyectos de Desarrollo de Software

1

“ADMINISTRACION DE PROYECTOS DE DESARROLLO DE SOFTWARE”

Lic. Sistemas de Información Administrativa

Page 2: Administración de proyectos de desarrollo de software

12/04/2023 2

ESTIMACIÓN PARA PROYECTOS DE SOFTWARE

Administración de Proyectos de Desarrollo de Software

Presentan:• Francisco Almanza López.• Dionisio García Rincón.• Oscar Juárez Ortiz.• Dante Jesús Herrera Martínez

Page 3: Administración de proyectos de desarrollo de software

12/04/2023 Administración de Proyectos de Desarrollo de Software

3

IntroducciónLa 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.

Page 4: Administración de proyectos de desarrollo de software

12/04/2023 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.

Administración de Proyectos de Desarrollo de Software

Page 5: Administración de proyectos de desarrollo de software

12/04/2023 Administración de Proyectos de Desarrollo de Software

5

Recursos

PROYECTO

PersonalUbicació

n

Entorno

Software Reutilizab

le

Componentes COTS

Herramientas de Software

Número

Habilidades

Hardware

Recursos de red

Componentes de

experiencia

Componentes de

experiencia parcial

Componentes

nuevos

Page 6: Administración de proyectos de desarrollo de software

12/04/2023 Administración de Proyectos de Desarrollo de Software

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.

Page 7: Administración de proyectos de desarrollo de software

12/04/2023 Administración de Proyectos de Desarrollo de Software

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

Page 8: Administración de proyectos de desarrollo de software

12/04/2023 Administración de Proyectos de Desarrollo de Software

8

¿Cuáles son los pasos?

Realizar estimación

Selección de método o técnica

Descomposición del

proyecto

Descripción del ámbito

• Tareas• Funciones por

implementar • Costo

• Esfuerzo• Tiempo

Producto Final

Page 9: Administración de proyectos de desarrollo de software

12/04/2023 Administración de Proyectos de Desarrollo de Software

9

Observaciones acerca de la estimaciónLos 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

Page 10: Administración de proyectos de desarrollo de software

12/04/2023 Administración de Proyectos de Desarrollo de Software

10

¿Cómo me aseguro que lo hice bien?

Experiencia

Enfoque sistemático

Usando datos históricos sólidos

Crear puntos de datos con al menos dos métodos diferentes

Estableciendo un calendario realista

Estableciendo un calendario realista

Actualización constante

Seguir Camino

Page 11: Administración de proyectos de desarrollo de software

12/04/2023 Administración de Proyectos de Desarrollo de Software

11

Herramientas de EstimaciónDe Descomposición.Modelos EmpíricosEspecializadas (Desarrollo ágil y Para

Webapp)

Page 12: Administración de proyectos de desarrollo de software

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.

Modelos Empíricos

Page 13: Administración de proyectos de desarrollo de software

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

Page 14: Administración de proyectos de desarrollo de software

El valor de la duración del proyecto permite al planificador recomendar un número de personas N para el proyecto.

N = E / D

Page 15: Administración de proyectos de desarrollo de software

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

Page 16: Administración de proyectos de desarrollo de software

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.

Page 17: Administración de proyectos de desarrollo de software

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

Page 18: Administración de proyectos de desarrollo de software

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.

Page 19: Administración de proyectos de desarrollo de software

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.

Page 20: Administración de proyectos de desarrollo de software

12/04/2023 Administración de Proyectos de Desarrollo de Software

20

Técnicas de estimación especializadasCuando 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.

Page 21: Administración de proyectos de desarrollo de software

12/04/2023 Administración de Proyectos de Desarrollo de Software

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:

Page 22: Administración de proyectos de desarrollo de software

12/04/2023 Administración de Proyectos de Desarrollo de Software

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.

Page 23: Administración de proyectos de desarrollo de software

12/04/2023 Administración de Proyectos de Desarrollo de Software

23

Con frecuencia es mucho mas efectivo encosto adquirir, en lugar de desarrollarsoftware de computadoras.

Los pasos involucrados en la adquisicióndel software se definen por lo crucial delsoftware que se va a comprar y por elcosto final.

La decisión de hacer/comprar

Page 24: Administración de proyectos de desarrollo de software

12/04/2023 Administración de Proyectos de Desarrollo de Software

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.

Page 25: Administración de proyectos de desarrollo de software

12/04/2023 Administración de Proyectos de Desarrollo de Software

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.

Page 26: Administración de proyectos de desarrollo de software

12/04/2023 Administración de Proyectos de Desarrollo de Software

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 .

Page 27: Administración de proyectos de desarrollo de software

12/04/2023 Administración de Proyectos de Desarrollo de Software

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.

Page 28: Administración de proyectos de desarrollo de software

12/04/2023 Administración de Proyectos de Desarrollo de Software

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)