You are on page 1of 60

ADMINISTRACIÓN DE PROYECTOS SOFTWARE

Ing. Rosemary Samaniego O.,Mg.Sc

¿Qué SIGNIFICARÁ ADMINISTRAR? ¿QUÉ ES SOFTWARE?

Los que están enamorados de la práctica sin ciencia son como un piloto que va en un barco sin timón y sin brújula, y nunca tiene la certeza de a donde se dirige´. Leonardo Da Vinci
Metodologías Modelos Estimación y planificación de proyectos software COCOMO II Herramientas y técnicas de administración Microsoft Project

ADMINISTRACION DE PROYECTOS SOFTWARE

Gestión de calidad

Plan de contingencia

Consulta.  Establecer relación o diferencias .  Definición de Ingeniero del Software /Sistemas  Misión  Funciones que desempeñan.

 18% Ni siquiera llega al término.  (Terminan dentro de plazos y costos y cumplen los requerimientos acordados).  Concluyó que sólo:  29% de los proyectos de software son exitosos. el estudio de mercado The chaos Report realizado por Standish Group Internactional en 2004.  53% sobrepasa costos y plazos y cumple parcialmente los requerimientos. .Crisis del Software  Según el Centro Experimental de Ingeniería de Software (CEIS).

. dirige y controla el desarrollo de un sistema aceptable con un coste mínimo y dentro de un período de tiempo específico.QUÉ ES APS?  Es el proceso por el cuál se planifica.

Escaso o deficiente control en el progreso del proceso de desarrollo. No existe medición del proceso ni registro de datos históricos. No se hace gestión de riesgos formalmente. Inadecuada gestión de los requisitos.PROBLEMAS TÍPICOS EN EL DESARROLLO SOFTWARE El CHAOS Standish Group. Excesiva e irracional presión en los plazos. la gestión y la documentación de los proyectos. No se realizan revisiones técnicas formales e inspecciones de código. Estimaciones imprevistas de plazos y costos. Uso de tecnología novedosa . No se realiza un proceso formal de pruebas. indica que los mayores problemas están relacionados con la especificación.           Escasa o tardía validación con el cliente.

Cree Ud. que es importante conocer las metodologías de desarrollo de software. ¿Cree ud. qué sería un error usar los cambios en los requisitos como excusa para justificar los defectos de gestión o administración del proyecto? 4. Explique? . ¿Tiene Jan alguna culpa en los problemas encontrados en este proyecto? 3. De forma diferente? 2. INC. Cómo se podría responsabilizar más a los usuarios y los directivos de los cambios en los requisitos experimentados en este proyecto (y en muchos otros)? 5..  PREGUNTAS PARA DISCUTIR 1. ¿En qué se equivocó Steven? ¿Qué habría hecho ud. Conoce alguna.MINICASO PRÁCTICO  FUN & GAME..

Cuál o cuales cree ud.Preguntas individuales: 1. Cree ud. que la solución cuando un proyecto va con retraso será asignando más personal al equipo de proyecto? 2. Que deben ser las funciones básicas de un administrador de proyectos?  . Estricta o debe ser flexible y abierta? 3. Cómo debe ser la planificación.

Cuáles son las consecuencias de una deficiente APS?  Necesidades no satisfechas o no identificadas  Cambio incontrolado del ámbito del proyecto  Exceso de costo  Retrasos en la entrega«« .

. ‡ ¿habría que reducir el ámbito del proyecto para respetar el presupuesto y los plazos. ± ± ± ± ± ¿Cuánto tiempo se requerirá? ¿Cuántas personas serán necesarias? ¿Cuánto costará la tarea? ¿Qué tarea deben terminarse antes de empezar otras? ¿Pueden tener holgura alguna de ellas?  Organización y definición de calendario para el proyecto  Dirección y control del proyecto  Si el ámbito del proyecto tiende a crecer.Funciones Básicas  Planificación de las tareas del proyecto y selección del equipo de proyecto. o revisar dicho presupuesto y dichos plazos? Debería ser capaz de presentar alternativas y sus implicaciones a los plazos y presupuestos para saber responder a las expectativas. el administrador debe tomar una decisión.

La base inicial de las seis áreas de conocimiento necesarias para la Gerencia de Proyectos:  Alcance  Costo  Recursos Humanos Tiempo Calidad Comunicaciones .

Procesos de desarrollo de Software Requisitos nuevos o modificados Proceso de Desarrollo de Software Actividades Sistema nuevo o modificado Especificación de software Diseño e Implementación Validación Evolución .

Documentación c.Procesos de desarrollo de Software Ciclos de Vida del SOFTWARE Metodologías de desarrollo de Software Metodologías o Ciclo de Vida . Què proyectos lo han utilizado . RIESGOS d. ¿Qué necesito? Investigar los 3 ciclos de vida más utilizados de acuerdo a : a) TIEMPO b.

herramientas y soporte documental para la realización de nuevo software. .¿Qué son las metodologías de desarrollo de software?  Conjunto de procedimientos. técnicas.

cómo controlar? .Para qué sirven las metodologías?       ¿Cómo se divide el proyecto? ¿Qué tareas en cada etapa? ¿Qué salidas y cuándo se producen? ¿Restricciones? ¿Herramientas? ¿Cómo gestionar.

Metodologías estructuradas 

MERISE (Francia)  Gane & Sarson  Yourdon & DeMarco

Metodología OO 

Boom del POO  RUP

Metodología Ágiles
Incremental Cooperativo sencillo adaptable
‡ Entrega pequeñas de software con ciclos rápidos ‡ cliente y desarrolladores trabajan juntos ‡ Fácil de aprender y modificar, bien documentado ‡ Permite realizar cambios de último momento) 

Extreme Programming  Proceso Unificado Rational  Open Source Software Development

Definición. etc.  PMBOK cuándo usar?. proceso de desarrollo. ventajas. para que sirve. en que nos ayuda  ISO 9000 ± 9001 -12207 . Ventajas/Desventajas. cuando se la puede usar  Cuadro comparativo de las metodologías: Enfoque.XP. desventajas. RUP.TRABAJO INVESTIGATIVO  Investigar una metodología de cada tipo. aplicabilidad. MSF.MERISE.

Rosemary Samaniego Séptimo PARALELO: B . Ramírez A.Nombre: Profesor: Quimestre: Oscar A.

Cuándo y Cómo debe hacerlo Requisitos nuevos o modificados Sistema nuevo o modificado Proceso de Desarrollo de Software .METODOLOGÍAS DE DESARROLLO DE SOFTWARE ¿Qué es una Metodología? En un proyecto de desarrollo de software la metodología define Quién debe hacer Qué.

Característica Deseables Una Metodología ‡Existencia de reglas predefinidas ‡Cobertura total del ciclo de desarrollo ‡Verificaciones intermedias ‡Planificación y control ‡Comunicación efectiva ‡Utilización sobre un abanico amplio de proyectos ‡Fácil formación ‡Herramientas CASE ‡Actividades que mejoren el proceso de desarrollo ‡Soporte al mantenimiento ‡Soporte de la reutilización de software .

FASES ‡Análisis ‡Diseño lógico ‡Diseño físico ‡Implementación y control CLASIFICACION  Metodologías Estructuradas  Metodologías Orientadas a Objetos  Metodologías Ágiles .

flujos y estructuras .  Son las orientadas a procesos. a datos y las mixtas.Metodología estructurada  Crea los modelos de forma descendente. proponen la creación de modelos.  Intentan aplicar formas ingenieriles para solucionar problemas técnicos al obtener un sistema de información.

concepción y gestión de proyectos. .MERISE Es un método integrado de análisis. Esta metodología aporta un ciclo de vida más largo a los existentes. se materializa en un conjunto definido de etapas. Introducen dos ciclos complementarios: ciclo de abstracción y ciclo de decisión. desarrollado en Francia.

pruebas e implementacion correccion de posibles errores y entrega de proyecto esquema director estudio previo ETAPAS estudio detallado estudio tecnico realizacion mantenimineto . y elección del escenario para cada parte estudio detallado de cada parte planificacion y optimizacion de lo q se va a realizar programacion.Fases MERISE estudio global y descomposicion por partes se obtiene el plan de desarrollo definicion del hardware y software.

‡Se fomenta la reutilización de componentes.Metodologías OO ‡Son interactivas e incrementales. ‡Fácil de dividir el sistema en varios subsistemas independientes. .

. implementación y documentación de sistemas orientados a objetos. Esta metodología permite que todos los integrantes de un equipo de trabajo.PROCESO UNIFICADO RACIONAL (RUP) Es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML. constituye la metodología estándar más utilizada para el análisis. conozcan y compartan el proceso de desarrollo.

CARACTERISTICAS Dirigido por Casos de Uso Centrado en la Arquitectura Iterativo e Incremental Desarrollo basado en componentes UML como lenguaje de Modelado Proceso Integrado .

 Distribuye la carga de trabajo a lo largo del tiempo del proyecto ya que todas las disciplinas colaboran en cada iteración.  Facilita la reutilización del código teniendo en cuenta que se realizan revisiones en las primeras iteraciones lo cual permite apreciar oportunidades de mejoras en el diseño.Ventajas  Progreso visible en las primeras etapas  Temprana retroalimentación que se ajuste a las necesidades reales  Reconoce que las necesidades del usuario y sus requerimientos no se pueden definir completamente al principio. .  Permite evaluar tempranamente los riesgos en lugar de descubrir problemas en la integración final del sistema.

Fases RUP inicio principales casos de usos. complementacion de casos de usos elaboracion del proyecto y pruebas presentacion y entrega del proyecto FASES elaboracion construccion transicion . se identifica los riesgos y se define el alcance del proyecto eliminacion de riesgos.

MSF se centra en los modelos de proceso y de equipo dejando en un segundo plano las elecciones tecnológicas. . el desarrollo y la gestión de proyectos tecnológicos. modelos y prácticas de uso.Microsoft Solution Framework (MSF) Esta es una metodología flexible e interrelacionada con una serie de conceptos. que controlan la planificación.

usado en cualquier parte como un mapa.  Tecnología Agnóstica: porque puede . así como también. proyectos que requieren 50 personas a más.  Escalable: puede organizar equipos tan pequeños entre 3 o 4 personas. del cual su uso es limitado a un específico lugar.Características  Adaptable: es parecido a un compás.  Flexible: es utilizada en el ambiente de desarrollo de cualquier cliente.

. que el cliente pueda cambiar los requisitos cuando quiera y que el código funcione bien.METODOLOGÍAS AGILES En las metodologías ágiles se intenta ser lo más flexible posible.

Fundado por Ken Beck en 1996. Identificó que era lo simple y lo difícil al momento de programar. la programación extrema se diferencia de las metodologías tradicionales principalmente en que pone más énfasis en la adaptabilidad que en la previsibilidad . Al igual que éstos.La programación extrema o eXtreme Programming (XP). Es la más destacada de los procesos ágiles de desarrollo de software.

‡Simplicidad: Empezar con lo necesario y requerido y trabajar desde ahí. ‡Respeto: El equipo debe trabajar como uno. y del equipo. ‡Valentía: Programa para hoy y no para mañana. del cliente. . ‡Retroalimentación: Del sistema.Valores de XP ‡Comunicación: Crear software requiere de sistemas comunicados. sin hacer desiciones repentinas.

‡Es recomendable emplearlo solo en proyectos a corto plazo.Ventajas ‡Programación organizada. ‡Menor taza de errores. . ‡Altas comisiones en caso de fallar. ‡Satisfacción del programador.

documentacion final o en el caso de q no hay presupuesto para mantenerlo . conocer acerca de los detalles del negocio. priorisar los datos recopilados establecer una arquitectura del sistema pruebas adicionales rendimiento y revision del exploracion planificacion de la entrega FASES iteraciones produccion mantenimiento muerte del proyecto trabaja conjuntamente con la produccion y desarrollo de nuevas iteraciones se han completado los requerimientos del cliente.Fases XP entrevistas con los usuarios. familiarizacion con la herramientas de trabajo planificacion del tiempo q se van a demorar.

.

Desarrollo interno en etapas interactivas. de el depende el éxito del proyecto . No posee un desarrollo de proyectos de forma iterativa e incremental. Tiene como objetivo asegurar la producción de software de alta calidad. Programación en grupos RUP Facilita la reutilización de código. XP Reescribir el código escrito para obtener mayor simplicidad Desarrollo iterativo e incremental Divide el proyecto en iteraciones Programación en parejas Tiene como objetivo llegar al éxito del proyecto con corto equipo de trabajo. COMUNICACION El cliente interactúa con el equipo de desarrollo mediante reuniones Se depende mucho del cliente = de mora Es constante el cliente.ASPECTOS DESARROLLO DEL CODIGO PROCESOS DE DESARROLLO COMO DESARROLLA EL PROCESO FORMA DE TRABAJO MERISE Desarrollo del código. teniendo en cuenta al usuario final y además con una programación rápida o extrema Programación en equipos CALIDAD Mejora la calidad de las especificaciones antes de la realización del sistema. Divide el proyecto en mini proyectos. Para modelar un sistema informático va de lo más abstracto a lo más concreto.

En proyectos pequeños no es posible cubrir los costos de dedicación. El aseguramiento de la calidad forma parte del proceso de desarrollo. . Centrada en potenciar las relaciones interpersonales. DIRIGIDO POR FASES Dirigido por los casos de uso. si no múltiples equipos. Busca reducción de costos. Simplicidad: elaborar un código sencillo. CAPACITACION Capacitación del personal.CARACTERISTICAS MERISE Dirigido por las fases o niveles que debe ir cumpliendo. RUP XP Dirigido por la creatividad y el conocimiento del programador. Provee un enfoque disciplinado para la asignación de tareas y responsabilidades. Programación en parejas. DISCIPLINA Propone una serie de fases diferenciadas. COSTOS Gestión de costos y tiempo. El desarrollo del software no lo hace una única persona. Recopilación y validación de los sistemas.

Intenta reducir el numero de cambios tanto como sea posible . Permite evaluar temporalmente los riesgos en lugar de descubrir problemas en la integración final del sistema.CARACTERISTICAS MERISE RUP Puede ser adoptada tanto para empresas grandes como para pequeñas y puede ser modificadas para adecuarse a diversas situaciones XP TIEMPO Proyectos de largo plazo Se usan para proyectos pequeños Documentación La documentación es necesaria Es una metodología solida con documentación Pruebas unitarias continuas: realiza pruebas sobre código escrito y documentado. Proyecto con altos grados de riesgo Permite realizar cambios de ultimo momento. CORRECIONES SOBRE LA MARCHA Los cambios organizativos afectan negativamente el proyecto Busca detectar defectos en las fases iníciales. RIESGOS No evalúa riesgos iníciales. en cualquier punto de la vida del proyecto es una aproximación mejor y mas realista que intenta definir todos los requisitos del proyecto.

de las habilidades. ANSI) este trabaja con el uso del conocimiento. de las herramientas.PMBOK El Project Management Body of Knowledge (Libro de estándares para la Gestión de Proyectos) (PMBOK) (®) es un estándar reconocido internacionalmente (IEEE. y de las técnicas para resolver requisitos del proyecto. .

Planeamiento de la calidad. administración y cierre de contratos. Análisis de riesgos Consecución. Alcance. Planeamiento e identificación de riesgos. estimación de recursos necesarios Costo. difusión del desempeño Riesgos. Comunicaciones. Calidad. aseguramiento de calidad Recurso humano. creación. Planeamiento. definición. verificación Tiempo. presupuesto y control. Planeamiento.Procesos Básicos Integración. . Planeamiento de recursos. contratación. Plan de contrataciones y adquisiciones. y administración. secuenciamiento. selección e incentivos de los vendedores. Desarrolle la carta del proyecto. Distribución de la información. Definición. la declaración del alcance y el plan. costos estimados.

Cuando usar  Programas de Administración (generales)  Proyectos departamentales (funcionales)  Proyectos de ingeniería (técnicos)  Procesos específico de la industria  Desarrollo de productos (comercialización)  Programas de gobierno (público)  Programas de desarrollo .

Estructura .

. técnicas y reportes necesarios.  Indica el conocimiento necesario para manejar el ciclo vital de cualquier proyecto. Tiene que ser adaptado a la industria del área de aplicación. programa y portafolio a través de sus procesos.Ventajas  La guía del PMBOK es un marco y un estándar . el tamaño y el alcance del proyecto. el tiempo y el presupuesto y los apremios de la calidad. Complejo para los proyectos pequeños.  Define un cuerpo de conocimiento en el cual cualquier industria pueda construir las mejores prácticas específicas para su área de aplicación.  Está orientada a procesos. herramientas.  Define para cada proceso sus insumos.

aplicado a una serie de estándares patrocinados por la Organización Internacional para la Estandarización (ISO) La organización ISO creo ISO 9000 con el propósito de uniformar los sistemas de calidad que deben establecerse por las compañías de fabricación y servicios al rededor del mundo.ISO 9000 ISO 9000:2000. . Sistemas de Gestión de Calidad: Es un término genérico.

Caracteristicas  ¸ La orientación hacia el cliente ¸ La gestión integrada ¸ El énfasis en el proceso de negocios ¸ La incorporación de la Mejora Continua ¸ La medición de la satisfacción del cliente .

 Reducir las incidencias de producción o prestación de servicios . eficacia. productos. etc.Ventajas  Estandarizar las actividades del personal que labora dentro de la organización por medio de la documentación  Incrementar la satisfacción del cliente  Medir y monitorear el desempeño de los procesos  Disminuir re-procesos  Incrementar la eficacia y/o eficiencia de la organización en el logro de sus objetivos  Mejorar continuamente en los procesos.

.

. La ISO 9001 ± 2000 se puede aplicar en cualquier tipo de organización. instalan y sirven productos o servicios a clientes que especifican como debe funcionar el producto o servicio. La norma ISO 9001 está orientada al Sistema de Gestión de la Calidad de la empresa. ya sea con o sin fines de lucro. grande. producen. manufacturera o de servicios. mediana o pequeña. desarrollan.ISO 9001 La parte más completa del estándar. se aplica a las instalaciones que diseñan.

Objetivos  Medir la Satisfacción del Cliente  Mejora Continua  Gestión de los Recursos  Gestión del Procesos .

independientemente del tamaño o sector. .En que ayuda  ISO 9001 es una norma adecuada para cualquier organización que busque mejorar el modo de funcionamiento y gestión.

AUDITORÍAS. PRODUCCIÓN. GESTIÓN DE LOS RECURSOS INFRAESTRUCTURA Y AMBIENTE DE TRABAJO PLANIFICACIÓN. MEDICIÓN DE PROCESOS PRODUCTOS. NO CONFORMIDADES. PROCESOS AUXILIARES SATISFACCIÓN DEL CLIENTE.Estructura de ISO 9001:2000 SISTEMA DE GESTIÓN DE LA CALIDAD REQUISITOS Y DOCUMENTACIÓN RESPONSABILIDAD DE LA DIRECCIÓN POLÍTICA. ANÁLISIS Y MEJORA . DISEÑO. CONTROL. REQUISITOS. PLANIFICACIÓN. REVISIÓN RECURSOS HUMANOS. ACCIONES CORRECTIVAS Y PREVENTIVAS REALIZACIÓN DEL PRODUCTO MEDICIÓN.

sus necesidades y expectativas futuras Motivación del personal de la empresa Mejores condiciones en el ambiente de trabajo .Beneficios                Aumento de los clientes satisfechos Reducción en los costos Procesos perfectamente definidos por parte de la empresa Incremento de las ventas Disminución de errores y ausentismo laboral Aumento de la productividad total de la empresa Responsabilidades de cada empleado definidas en forma clara y concreta Perfecta descripción de los puestos y funciones de todos los integrantes de la organización. Optimización de todas las vías de comunicación interna de la empresa Aumento de la calidad que los proveedores suministran a la empresa Crecimiento de la imagen de la empresa ante el entorno Concientización de la calidad entre los empleados Conocimiento de los requerimientos de los clientes.

puede Especifica los requisitos que debe seleccionar y utilizar las normas. pactada o contratada. No Certifica la Administración de Basada en los procesos (más acerca de lo que se produce).CUADRO COMPARATIVO ENTRE ISO 9000 E ISO 9001 ISO 9000 Conjunto de normas de calidad Normas orientadas a gestión de la empresa ordenar ISO 9001 Una de las normas de la familia ISO 9000 la Norma para la gestión aseguramiento de la calidad y Establecer las directrices. mediante las cuales la organización. brindados por la empresa concertada. Certifica Proporcionar a los clientes o usuarios Asegura la calidad de los productos la seguridad de que el producto o los que los productos o servicios servicios tienen la calidad deseada. cumplir un sistema de calidad Basada en Procesos. .

personal de mantenimiento. pasando por la adquisición y configuración de los servicios del sistema. hasta la finalización de su uso. proveedores. desarrolladores. gestores y técnicos involucrados en el desarrollo de software usen un lenguaje común. operadores. Este estándar tiene como objetivo principal proporcionar una estructura común para que compradores. .El estándar ISO 12207 ISO/IEC 12207 establece un proceso de ciclo de vida para el software que incluye procesos y actividades que se aplican desde la definición de requisitos.

Estructura .