Sie sind auf Seite 1von 13

Administracin de Proyectos de Software

Administracin de Proyectos de Software

Proyectos de Software Administracin de Proyectos de Software


Proyectos de Software Denicin Conceptos generales Tringulo de Alcance de un Proyecto Evaluacin de un Proyecto Clasicacn de Proyectos Etapas y Ciclos de Vida Ejemplo Atributos Crticos Principios de Administracin

Pablo R. Fillottrani y Elsa Estvez


Depto. Ciencias e Ingeniera de la Computacin Universidad Nacional del Sur

Segundo Cuatrimestre 2011

Administracin de Proyectos de Software Denicin Conceptos generales

Administracin de Proyectos de Software Denicin Conceptos generales

Qu es un Proyecto?
un proyecto es una secuencia de actividades que tiene un propsito y que debe ser completada en un tiempo determinado, dentro de un presupuesto y de acuerdo a una especicacin un proyecto es cualquier actividad que d como resultado un producto o un entregable proyectos de software pueden ir desde el desarrollo de grandes sistemas hasta la instalacin de un mdulo comienzan con el enunciado de un problema los proyectos se deben evaluar:
soluciona el producto el problema del usuario? est el usuario satisfecho con el proceso? est la gerencia satisfecha con el producto/proceso? est el equipo de desarrollo satisfecho?

Caractersticas de un Proyecto
secuencia de actividades conjunto de tareas a realizarse en un determinado orden actividades nicas cada actividad nunca se ha desarrollado, y jams se volver a repetir actividades complejas las actividades no son actos repetitivos actividades conectadas existe dependencia lgica o tcnica entre las actividades propsito simple aunque proyectos grandes pueden dividirse en subproyectos en tiempo y presupuesto no est bajo control, y se termina con esas restricciones de acuerdo a una especicacin se espera cierto nivel de funcionalidad y calidad en el entregable, aunque la especicacin puede variar

Administracin de Proyectos de Software Denicin Conceptos generales

Administracin de Proyectos de Software Denicin Conceptos generales

Ambiente Actual de Desarrollo de un Proyecto

Desafos para la Administracin de Proyectos

alta velocidad la ventana de oportunidades es muy inestable alto cambio en el ambiente y deseos del cliente bajos costos se necesita trabajar en forma inteligente altos niveles de complejidad problemas simples ya han sido resueltos alta incertidumbre acomodarse a cambios lleva incertidumbre exibilidad y adaptabilidad comprensin del negocio y sus sistemas hacerse cargo del proyecto

Administracin de Proyectos de Software Denicin Conceptos generales

Administracin de Proyectos de Software Denicin Tringulo de Alcance de un Proyecto

Qu es un Programa?

Parmetros de Ejecucin de un Proyecto

un programa es una coleccin de proyectos relacionados tienen un objetivo ms amplio que un proyecto generalmente, un proyecto grande se convierte en programa para que sea ms fcil administrarlo una prctica comn es el establecimiento de una ocina de administracin de programa

mbito qu se va a hacer y qu no calidad del producto y del proceso costo presupuesto disponible para completarlo tiempo ventana de tiempo en la cual puede concluirse recursos cualquier consumible, pueden ser jos y limitados

Administracin de Proyectos de Software Denicin Tringulo de Alcance de un Proyecto

Administracin de Proyectos de Software Denicin Tringulo de Alcance de un Proyecto

Balance entre los Parmetros

Dinmica del tringulo

los proyectos son sistemas dinmicos que deben ser mantenidos en equilibrio el lder del proyecto (LP) controla las tres dimensiones, y cada una necesita ser identicada de manera independiente cualquier imprevisto hace desbalancear el proyecto. Ejemplo: un recurso menos, un nuevo requerimiento

permite al administrador escalar problemas es la base para denir impacto de cambios

Administracin de Proyectos de Software Denicin Tringulo de Alcance de un Proyecto

Administracin de Proyectos de Software Denicin Tringulo de Alcance de un Proyecto

Quin controla cada parmetro?

Corrimientos
corrimiento de alcance:

LP
utilizacin de recursos cronograma de trabajo

gerente
niveles de recursos costos

cualquier cambio en el proyecto que no estaba en el plan original es responsabilidad del LP acomodar el proyecto para tener en cuenta los cambios

corrimiento de esperanza:
informar que no hay demoras, para no dar una mala noticia, pensando que para el prximo informe de tareas se puede recuperar es responsabilidad del lder de proyecto controlar si los informes de avances son veraces. se pueden realizar controles aleatorios

cliente
alcance niveles de calidad fechas de entrega

Administracin de Proyectos de Software Denicin Tringulo de Alcance de un Proyecto

Administracin de Proyectos de Software Denicin Evaluacin de un Proyecto

Corrimientos

Evaluacin de Proyectos

corrimiento de esfuerzo: es el resultado del trabajo de miembros del equipo, que no representan progresos proporcionales al trabajo realizado. Ej: cada semana el informe de avance muestra progresos pero nunca se termina corrimiento de rasgos: sucede cuando miembros del equipo arbitrariamente agregan rasgos (caractersticas) que piensan que el usuario deseara tener en su sistema, pero que no especic. el enfoque parece inocente. Pero qu pasa con: los eventos de prueba, los datos de prueba, la documentacin del sistema, el programa de entrenamiento?

un proyecto puede ser exitoso un proyecto puede fracasar:


1. al comienzo 2. durante el desarrollo 3. al nal

Administracin de Proyectos de Software Denicin Evaluacin de un Proyecto

Administracin de Proyectos de Software Denicin Evaluacin de un Proyecto

Caractersticas de un proyecto exitoso

Fracaso al comienzo

claro comienzo - plan detallado criterios de medicin aceptables monitoreo cercano durante el desarrollo documentacin clara - revisiones frecuentes procedimientos para deteccin de problemas costo razonablemente cercano al estimado

no despegan correctamente - sin planicacin proyectos avanzan rpidamente al 90 % y siempre se quedan ah qu es planicar?
conocer anticipadamente a donde se va a ir cmo se va a hacer para llegar hasta ah cmo se va a hacer para probar que se esta ah

Administracin de Proyectos de Software Denicin Evaluacin de un Proyecto

Administracin de Proyectos de Software Denicin Evaluacin de un Proyecto

Fracasos durante el desarrollo

Fracasos al nal

anlisis y diseo mal documentados asignacin confusa de responsabilidades falta de planicacin y organizacin de recursos requeridos codicacin prematura falta de revisiones (gerenciales) y walk-through (tcnicos) falta de estndares de desarrollo deserciones tcnicas de fuerza bruta

aplicaciones entregadas sin sucientes pruebas aplicaciones sin performance altos costos de mantenimiento cancelacin de proyectos:
falta de fondos cambios en el contexto desercin de elementos claves desastre tcnico

Administracin de Proyectos de Software Clasicacn de Proyectos

Administracin de Proyectos de Software Clasicacn de Proyectos

Importancia de la Clasicacin

Caractersticas de los Proyectos

cada proyecto es nico, al igual que su mejor modelo de desarrollo para la administracin de proyectos no existe un esquema nico general es mejor denir polticas de acuerdo a grupos de proyectos con las mismas caractersticas es necesario entonces una clasicacin de proyectos, en base a criterios comunes

riesgo niveles alto, medio o bajo valor para el negocio niveles alto, medio o bajo duracin categoras hasta 3 meses, 3-6 meses, 6-12 meses, etc. complejidad niveles alto, medio o bajo tecnologas usadas niveles conocidas, usadas ocasionalmente, usadas raramente y nunca usadas departamentos afectados niveles uno, algunos, varios y todos costo

Administracin de Proyectos de Software Clasicacn de Proyectos

Administracin de Proyectos de Software Clasicacn de Proyectos

Categoras de Proyectos

Proyectos por Categora: Tipo A

alto valor de negocio, alta complejidad


Tipo A B C D Duracin > 18 meses 9 18 meses 3 9 meses < 3 meses Riesgos alto medio bajo muy bajo Complejidad alto medio bajo muy bajo Tecnologas de avanzada actual buena prctica Complicaciones seguro alta probabilidad alguna probabilidad ninguna

proyectos ms desaantes para maximizar la probabilidad de xito, la organizacin debe asignar todos los recursos y herramientas disponibles Ejemplo: la introduccin de nueva tecnologa en un producto muy benecioso para la compaa

Administracin de Proyectos de Software Clasicacn de Proyectos

Administracin de Proyectos de Software Clasicacn de Proyectos

Proyectos por Categora: Tipo B

Proyectos por Categora: Tipo C

son proyectos ms cortos, pero todava muy signicantes para la organizacin tecnolgicamente desaantes se requieren muchos recursos Ejemplo: en general, muchos desarrollos de productos caen en esta categora

son proyectos muy frecuentes en una organizacin cortos, y usan tecnologas establecidas tpico constan de un equipo de cinco personas, duran seis meses y se basan en en una denicin no adecuada se usan recursos opcionales

Administracin de Proyectos de Software Clasicacn de Proyectos

Administracin de Proyectos de Software Clasicacn de Proyectos

Proyectos por Categora: Tipo D

Uso de procesos en cada tipo de proyecto


Proceso Denicin Etapas Condiciones de satisfaccin POS Aprobacin de pedido Sesin de Planicacin Propuesta de Proyecto Aprobacin de propuesta Reunin kick-off Cronograma de Actividades Asignacin de Recusos Denicin de Trabajo Reporte de Estad Reuniones de Equipo Aprobacin de Entregables Auditora post-implementacin Notas del Proyecto Tipo A R R R R R R R R R R R R R R R Tipo B R R R R R R R R R O R R R R R Tipo C O R R O R R O R R O R O R R O Tipo D O R R O R R O R o O R O R R O

apenas pueden considerarse proyectos requieren poca documentacin, y un cronograma bsico Ejemplo: cambios menores en un proceso existente

Planicacin

Lanzamiento

Monitoreo/ Control Cierre

Administracin de Proyectos de Software Etapas y Ciclos de Vida

Administracin de Proyectos de Software Etapas y Ciclos de Vida

Desarrollo de un Proyecto

Ciclos de Vida

a n de planicar y controlar algo, se lo debe descomponer en partes pequeas y manejables los proyectos en general se descomponen en:
1. partes componentes 2. trabajo a realizar por las personas

cualquier metodologa debe responder a las siguientes preguntas


que situacin de negocio se analizar? qu se necesita hacer? cmo se va a hacer? como se sabr cundo estar hecho? cmo se evaluar lo hecho?

ls royectos de desarrollo se descomponen en fases de tiempo. Las fases de tiempo son un enfoque de: primero hacer esto luego hacer esto otro. las fases se eligen de tal forma de que sean razonablemente distintas y produzcan uno o mas hitos.

Administracin de Proyectos de Software Etapas y Ciclos de Vida

Administracin de Proyectos de Software Etapas y Ciclos de Vida

Hitos

Procesos Tpicos

un hito (milestone) es un evento que prueba claramente que una etapa de un proyecto se concluy satisfactoriamente ejemplos:
1. 2. 3. 4. 5. 6. entrega del documento de requerimientos entrega de la especicacin del sistema entrega del diseo de la interface grca del usuario entrega del documento de diseo de tests entrega de cdigo fuente deploy del sistema

1. denicin (scoping) 2. planicacin 3. lanzamiento 4. monitoreo y control 5. nalizacin las distintas combinaciones y formas de realizacin de estas fases dan origen a distintos ciclos de vida

Administracin de Proyectos de Software Etapas y Ciclos de Vida

Administracin de Proyectos de Software Etapas y Ciclos de Vida

Denicin

Planicacin

son todas las acciones para denir qu se har no se incluyen acciones propias para realizacin del proyecto incluyen el establecimiento de los criterios de xito algunas tareas tpicas:
1. 2. 3. 4. 5. 6. reclutar el LP obtener las reales necesidades del cliente documentar estas necesidades negociar con el cliente cmo estas necesidades sern cubiertas escribir una descripcin del proyecto (POS) ganar la aprobacin de los gerentes para planicar el proyecto

incluye todas las acciones para denir cmo se har algunas tareas tpicas son:
1. 2. 3. 4. 5. 6. 7. 8. 9. denir el trabajo del proyecto estimar cuanto tiempo llevar completarlo estimar los recursos necesarios estimar el costo total secuenciar el trabajo desarrollar el cronograma inicial escribir un plan de contencin de riesgos documentar el plan del proyecto ganar la aprobacin de los gerentes para lanzar el proyecto

Administracin de Proyectos de Software Etapas y Ciclos de Vida

Administracin de Proyectos de Software Etapas y Ciclos de Vida

Lanzamiento

Monitoreo y Control

son acciones preparatorias para la ejecucin del proyecto algunas tareas tpicas son:
1. 2. 3. 4. 5. 6. 7. reclutar el equipo del proyecto emitir el documento de descripcin del proyecto establecer las reglas del equipo establecer el proceso de cambio de alcance administrar las comunicaciones del equipo terminar el cronograma del proyecto describir los paquetes de trabajo

incluye las acciones relacionadas con la ejecucin del proyecto algunas tareas tpicas son:
1. 2. 3. 4. 5. establecer la performance y redactar los reportes monitorear riesgos reportar el estado del proyecto procesar requerimientos de cambio de alcance descubrir y resolver problemas de ejecucin

Administracin de Proyectos de Software Etapas y Ciclos de Vida

Administracin de Proyectos de Software Etapas y Ciclos de Vida

Finalizacin o Cierre

Ciclos de Vida de un proyecto


no todo proyecto pasa necesariamente por estas cinco etapas, existen distintas variaciones

incluye las acciones relacionadas con la evaluacin del proyecto algunas tareas tpicas son:
1. 2. 3. 4. ganar la aprobacin del cliente de que se han cumplido las metas instalar los entregables escribir el reporte nal realizar la auditora post-implementacin

denicin, planicacin, lanzamiento: es para una o dos personas. No existe inters en el control. Sirve para planicar y tener idea de tiempos. Similar a una lista de tareas denicin, planicacin, lanzamiento y control: lanzar el proyecto es slo el 50 %. El control es un mecanismo de anticipar problemas y tomar las medidas correctivas necesarias denicin, planicacin, lanzamiento, control y cierre: la astucia del LP har que desee aprender de la experiencia del proyecto que termin

Administracin de Proyectos de Software Etapas y Ciclos de Vida

Administracin de Proyectos de Software Etapas y Ciclos de Vida

reas de Conocimiento

reas de Conocimiento: administracin de...


1. 2. 3. 4. 5. integracin la conexin entre los entregables alcance elicitacin y documentacin de requerimientos (WBS) tiempo abarca planicacin y monitoreo costos abarca planicacin y monitoreo calidad abarca planicacin (estndares internos y externos), aseguramiento (herramientas denidas en el lanzamiento) y control recursos humanos incluye factores de motivacin (reconocimiento, responsabilidad, desafo, etc) y de higiene (condiciones de trabajo, polticas de la empresa, supervisin tcnica, salario) comunicacin dene los stakeholders y qu se les comunica riesgos incluye identicacin de riesgos tcnicos, organizacionales y externos, la evaluacin (probabilidad e impacto) de los mismos, mitigacin y monitoreo provisin para los recursos externos se necesita identicar proveedores, evaluarlos, seleccionarlos, contratarlos y administralos

intervienen en las distintas etapas de un proyecto algunas son comunes a todas, otras slo participan de algunas etapas son administracin de

6.

7. 8.

9.

Administracin de Proyectos de Software Etapas y Ciclos de Vida Ejemplo

Administracin de Proyectos de Software Etapas y Ciclos de Vida Ejemplo

Medida Aos-hombre

Ejemplo: Corporate Information System

un ao-hombre: es el trabajo que puede realizar una persona en un ao. Es una unidad de medida para el esfuerzo. en general, se asume que una persona trabaja 160 horas por mes ejemplos:
1 ao-hombre = 160 horas/mes x 12meses = 1920 horas 5 aos-hombre representan 9600 horas o el trabajo que pueden realizar 10 personas en 6 meses

el proyecto Corporate Information System (CIS) se cancel. Tiempo: 5 aos. Presupuesto: 80 aos-hombre se haban hecho todas las cosas bien:
se consultaron publicaciones se acept la necesidad de un sistema centralizado se contrat una consultora para el estudio de factibilidad se demor 15 aos-hombre para realizar el estudio de factibilidad se utiliz hardware y software de ltima tecnologa se pagaron varios millones de dlares por encima del presupuesto se utilizaron las ltimas tcnicas de programacin

Administracin de Proyectos de Software Etapas y Ciclos de Vida Ejemplo

Administracin de Proyectos de Software Etapas y Ciclos de Vida Ejemplo

Ejemplo: Corporate Information System


el proyecto funcionaba - todos los programas ejecutaban correctamente. se peda tiempo para optimizar performance - se necesitaba alimentar con 20.000 transacciones diarias y la actualizacin de una sola transaccin poda durar 20 minutos se estimaba 2 aos el esfuerzo para agregar una fbrica - el plan de crecimiento era abrir una cada seis meses conclusin: La empresa no tuvo un nuevo sistema de administracin y se perdieron 5 aos con respecto a sus competidores.

Ejemplo: Corporate Information System

causas del fracaso:


fracaso para determinar y controlar atributos crticos (AC) del proyectos fracaso para encontrar una arquitectura adecuada para los AC fracaso para hacer evolucionar un sistema basado en incrementos

CIS, es real: VOLVO de Suecia

Administracin de Proyectos de Software Atributos Crticos

Administracin de Proyectos de Software Atributos Crticos

Atributo Crtico

Especicacin de atributos crticos


capacidad de trabajo: la capacidad de trabajo debe ser suciente para administrar el trabajo diario normal en un da de ocina normal

un atributo crtico es una calidad o recurso que puede causar que el sistema colapse si supera determinados lmites (peor caso aceptable) atributos crticos en CIS:
performance de la operativa diaria habilidad para incorporar nuevas unidades de negocio

Peor caso: 4 segundos en promedio por transaccin Nivel planicado (inicial): menos de un segundo por transaccin Nivel planicado (si #trans. > 100,000 diarias): 0,2 segundos por transaccin Mejor caso: 0,1 segundo por transaccin

falta de especicacin de atributos crticos en CIS:


la presuncin fue que iba a haber suciente capacidad de procesamiento como no se especic como requerimiento formal, nadie se preocup

Administracin de Proyectos de Software Atributos Crticos

Administracin de Proyectos de Software Atributos Crticos

Especicacin de atributos crticos

Evaluacin

adaptabilidad: el sistema deber ser capaz de integrar nuevas unidades de negocio, de tal manera que el sistema no sea motivo de retraso peor caso: las principales unidades de negocios nuevas, por ejemplo una fabrica, debern ser integradas en un plazo de 6 meses y con un esfuerzo mximo de 10 programadores/analistas o 5 aos-hombre nivel planicado: las principales unidades de negocio deberan agregarse o eliminarse del sistema en menos de 6 meses de trabajo de esfuerzo calicado.

la capacidad de trabajo no fue un problema de ingeniera y arquitectura era el software de base de datos el adecuado? se dej el problema de performance para la programacin se planic la entrega de la totalidad del sistema luego de 5 aos, nada a cambio. qu hubiese pasado si se hubiese planicado con entregas evolutivas?

Administracin de Proyectos de Software Principios de Administracin

Administracin de Proyectos de Software Principios de Administracin

Cuestiones Gerenciales
todos los atributos crticos se deben especicar claramente. el diseo debe satisfacer todos los atributos crticos simultneamente. todos los atributos crticos deben ser especicados en trminos testeables medibles. Se debe identicar el peor caso. nunca intentar entregar grandes sistemas complejos en big-bang. no creer ciegamente en cualquier mtodo - Usar el propio y el sentido comn. si no se sabe lo que se est haciendo, no hacerlo en gran escala!! tareas del gerente:
denir objetivos crear, evaluar y seleccionar alternativas para alcanzar objetivos controlar la implementacin de la alternativa seleccionada

los gerentes confan en proveedores, expertos de ventas, consultores la red de comunicacin entre gerentes, problem-solvers, tcnicos y clientes a cerca de objetivos, planes y alternativas es inadecuada los gerentes deben gerenciar !!!

Administracin de Proyectos de Software Principios de Administracin

Administracin de Proyectos de Software Principios de Administracin

Problemas Gerenciales
los gerentes deben tomar decisiones. la mayora de las decisiones son multidimensionales y el gerente debe considerar mltiples objetivos simultneamente. la toma de decisiones presenta el problema de la sobresimplicacin, que conduce a no encontrar la solucin adecuada. al tomar una decisin nos podemos olvidar de algunos factores crticos, ellos no se olvidarn de nosotros. los entornos dinmicos requieren herramientas pensantes en lugar de dogmas no pensantes. la mayora de los problemas se deben a fallas en la comunicacin.

Comunicacin: derecho a...


saber que se espera de usted aclarar aspectos con cualquier persona de la organizacin iniciar deniciones ms claras de objetivos y estrategias obtener objetivos presentados en formato medible y cuanticado cambiar objetivos y estrategias para lograr mejor performance probar nuevas ideas para mejorar la comunicacin fracasar al probar y corregirlo rpidamente desaar constructivamente objetivos y estrategias de alto nivel ser juzgado objetivamente en base a objetivos medibles ofrecer ayuda constructiva a colegas para mejorar la comunicacin