Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Administración de proyectos de desarrollo de software

14,518 views

Published on

Published in: Education
  • Be the first to comment

Administración de proyectos de desarrollo de software

  1. 1. Lic. Sistemas de InformaciónAdministrativa Administración de Proyectos de Desarrollo de07/12/2011 Software 1
  2. 2. • Francisco Almanza López. • Dionisio García Rincón. • Oscar Juárez Ortiz. • Dante Jesús Herrera Martínez07/12/2011 Administración de Proyectos de Desarrollo de Software 2
  3. 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 de07/12/2011 Software 3
  4. 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. 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 de07/12/2011 Software 5
  6. 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 de07/12/2011 Software 6
  7. 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 de07/12/2011 Software 7
  8. 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 de07/12/2011 Software 8
  9. 9. Observaciones acerca de laestimació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 de07/12/2011 Software 9
  10. 10. ¿Cómo me aseguro que lo hicebien? 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 de07/12/2011 Software 10
  11. 11. Herramientas de Estimación  De Descomposición.  Modelos Empíricos  Especializadas (Desarrollo ágil y Para Webapp) Administración de Proyectos de Desarrollo de07/12/2011 Software 11
  12. 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. 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 * EdDonde E es el esfuerzo aplicado en hombre-mes, D es el tiempo dedesarrollo en meses y KLOC es el número de miles de líneas de códigoestimado para el proyecto. Los coeficientes a y c y los exponentes b y d seobtienen 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. 14. El valor de la duración del proyecto permite alplanificador recomendar un número de personas Npara el proyecto. N=E/D
  15. 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 dedesarrollo es la misma que la del COCOMO básico. La ecuación paracalcular el esfuerzo es: E = a * KLOCb * EAFDonde E es el esfuerzo en hombre-mes, KLOC es el número estimado demiles de líneas de código. El coeficiente a y el exponente b están dadospor la tabla: Tipo de proyecto a b Orgánico 3.2 1.05 Semiacoplado 3.0 1.12 Empotrado 2.8 1.20
  16. 16. Y EAF es un factor de ajuste del esfuerzo que se calcula valorando enuna escala de muy bajo, bajo, nominal, alto y muy alto cada uno de lossiguientes 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. 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. 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 desoftware. 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. 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. 20. Técnicas de estimaciónespecializadas  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 de07/12/2011 Software 20
  21. 21. Estimación para desarrolloágil.Es posible desarrollar un enfoque de estimación quesea informal, razonablemente disciplinado ysignificativo dentro del contexto de la planificacióndel proyecto para cada incremento de software.La estimación para proyectos agiles es un enfoque dedescomposición que abarca los siguientes pasos: Administración de Proyectos de Desarrollo de07/12/2011 Software 21
  22. 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. 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 de07/12/2011 Software 23
  24. 24. En el análisis final, la decisión hacer/comprar se toma enbase 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 depersonalización será menor que el costo que implicadesarrollar el software internamente. Administración de Proyectos de Desarrollo de07/12/2011 Software 24
  25. 25. 3. El costo del apoyo exterior será menor que elcosto del apoyo interno.Estas condiciones se aplican para cada una delas opciones de adquisición. Administración de Proyectos de Desarrollo de07/12/2011 Software 25
  26. 26. OutsourcingEl outsourcing (la subcontratación) es extremadamentesimple. Las actividades de ingeniería de software se contratana una tercera parte, que hace que el trabajo a un costo masbajo y, con mayor calidad.La decisión por el outsourcing puede ser estratégica . Administración de Proyectos de Desarrollo de07/12/2011 Software 26
  27. 27. La tendencia hacia el outsourcing indudablementecontinuara. La única forma de detenerla esreconocer que el trabajo de software esextremadamente competitivo en todos los niveles.La única manera de sobrevivir es volverse tancompetitivo como los mismos proveedores de outsourcing. Administración de Proyectos de Desarrollo de07/12/2011 Software 27
  28. 28. Herramientas de software paraEstimaciones De Desarrollo deSoftware .  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 de07/12/2011 Software 28

×