Beruflich Dokumente
Kultur Dokumente
Agenda
Que es un Proyecto? Problemas con el Software. Que son los riesgos? Qu deberamos hacer? Seis mejores prcticas.
Gestin de Proyectos de TI
Qu es un proyecto?
Es un proceso temporal que tiene un inicio y fin. Su resultado es un producto o servicio nico. Esta constituido por un conjunto de actividades interrelacionadas que se desarrollan por una sola vez, que constituyen una inversin para el negocio Tiene objetivos, alcances y productos entregables especficos y un programa y presupuesto definidos. Existen proyectos De Tecnologas de la Informacin y de e-Business, Desarrollo interno, Desarrollo por terceros, Evaluacin e implantacin de paquetes, De Soporte Tcnico, Adquisicin e instalacin de hardware/software, Redes y/o comunicaciones Se controla :
Costos Calidad
Tiempos
3
Gestin de Proyectos de TI
Alarmante Problema
71% de todos los proyectos fallan, ya sea que se han excedido el presupuesto o empiezan a funcionar despus del plazo original. Cada ao, 75 millones de dlares se pierden por fallas de los proyectos en los Estados Unidos
Fuente: The Standish Group 2001
Demanda insatisfecha
Causas
Plazos y costos excedidos Insuficiente productividad Calidad inadecuada Naturaleza del software Inadecuado enfoque gerencial Carencia de tecnologa
Solucin
Enfoque integral del ciclo de vida Tcnicas formales y herramientas Ingeniera de software
Gestin de Proyectos de TI
Como se document
Gestin de Proyectos de TI
Como se comercializ
Por qu fracas?
No se comprendieron las necesidades del usuario No se previ el impacto de los requerimientos de cambios Se descubrieron muy tarde falencias graves en el Proyecto Hay mdulos que no se pueden integrar Interferencias entre los miembros del equipo No cumplen sus objetivos Se exceden considerablemente en el tiempo Se exceden de su presupuesto
Lo que el cliente realmente necesitaba
7
Gestin de Proyectos de TI
Cualquier factor que puede interferir en terminacin exitosa del proyecto Es reconocer que un problema puede suceder Fases del anlisis del riesgo Identificacin del riesgo Anlisis y cuantificacin Plan de mitigacin Asignar responsables
Gestin de Proyectos de TI
Anlisis de Riesgo
Impacto (pesos)
Estimacin del impacto de riesgo en el proyecto
Clculo de riesgo
Considerar (riesgo, probabilidad de riesgo, impacto)
Gestin de Proyectos de TI
Qu se debera hacer?
Defina el alcance del proyecto. Utilice mtricas en su proyecto. Cunto pesa el software? Gestione los riesgos con anticipacin. Use una metodologa probada. Modele las amenazas de su proyecto. Use herramientas de Verificacin de cdigo. Haga pruebas exhaustivas.
Gestin de Proyectos de TI 10
Gestin de Proyectos de TI
11
Administrar requerimientos
Desarrollar Iterativamente
Verificar Calidad
Modelar Visualmente
Controlar Cambios
Gestin de Proyectos de TI
12
Administrar requerimientos
Desarrollar Iterativamente
Verificar Calidad
Modelar Visualmente
Controlar Cambios
Gestin de Proyectos de TI
13
Obtener, organizar y documentar la funcionalidad y restricciones requeridas a un sistema Analizar los cambios solicitados y evaluar impactos Registrar y documentar las alternativas y decisiones tomadas
14
Gestin de Proyectos de TI
Los requerimientos pueden ser adecuadamente capturados y comunicados a travs de Casos de Uso Los Casos de Uso son importantes instrumentos de planificacin
Modelo de Casos de Uso
Realizacin
influenciados por
verifica
Modelo de Diseo
Modelo de Implementacin
Modelo de Test
15
Las comunicaciones estn basadas en requerimientos bien definidos Los requerimientos pueden ser priorizados, filtrados y monitoreados Es posible realizar evaluaciones objetivas acerca del xito de un proyecto Las inconsistencias se detectan fcilmente Con herramientas adecuadas: repositorio de requerimientos, con atributos y relaciones
16
Gestin de Proyectos de TI
Administrar requerimientos
Desarrollar Iterativamente
Verificar Calidad
Modelar Visualmente
Controlar Cambios
Gestin de Proyectos de TI
17
Gestin de Proyectos de TI
18
Los desentendimientos importantes se evidencian tempranamente Se alienta el feedback del usuario Focalizacin en los temas ms crticos, sin distracciones Testing continuo e iterativo: evaluacin objetiva Inconsistencias entre requerimientos, diseos e implementaciones se detectan tempranamente
19
Gestin de Proyectos de TI
Carga de trabajo mejor repartida en el tiempo El equipo puede analizar las lecciones aprendidas en las primeras iteraciones Integracin progresiva en lugar de Big Bang Se facilita la reutilizacin Arquitectura ms robusta
Gestin de Proyectos de TI
20
Desarrollar Iterativamente
Verificar Calidad
Modelar Visualmente
Controlar Cambios
Gestin de Proyectos de TI
21
La actividad fundamental de esta prctica es el testing Evaluar continuamente la calidad de un sistema con respecto a funcionalidad, confiabilidad, performance
Costo
Encontrar y reparar un problema de software despus de la implementacin puede resultar de 100 a 1000 veces ms costoso Gestin de Proyectos de TI
Desarrollo
Implementacin
22
La evaluacin del estado del proyecto es objetiva, se evalan resultados de test. Se exponen inconsistencias en requerimientos, diseos e implementaciones Se focaliza en las reas de riesgo ms alto Los defectos se identifican en forma temprana Existen herramientas automatizadas para el testing de funcionalidad, confiabilidad y performance.
Gestin de Proyectos de TI
23
Administrar requerimientos
Desarrollar Iterativamente
Verificar Calidad
Modelar Visualmente
Controlar Cambios
Gestin de Proyectos de TI
24
Disear el proceso
Conceptual Design
Scenarios
Logical Design
Objects and Services, User Interface, and Logical Database
Physical Design
Components, User Interface, and Physical Database
Gestin de Proyectos de TI
25
de de de de de
Clases Cdigo
Gestin de Proyectos de TI
26
Los casos de uso permiten especificar comportamiento sin ambigedades Quedan expuestas las arquitecturas inflexibles o no modulares El diseo refleja sus inconsistencias ms rpidamente Existen herramientas que proveen soporte para la modelamiento visual
Gestin de Proyectos de TI
27
Administrar requerimientos
Desarrollar Iterativamente
Verificar Calidad
Modelar Visualmente
Controlar Cambios
Gestin de Proyectos de TI
28
La Arquitectura de Software representa el conjunto de decisiones significativas sobre la organizacin de un sistema de software
seleccin de los elementos estructurales, y sus interfaces, por los cuales el sistema est compuesto comportamiento, especificado como colaboraciones entre los elementos composicin en subsistemas de los elementos estructurales y de comportamiento estilo de arquitectura que gua a la organizacin
29
Gestin de Proyectos de TI
Vista de Implementacin
Programadores Administracin del Software
Vista de Desarrollo
Gestin de Proyectos de TI
Conceptual
Physical
30
Un componente de software puede definirse como una pieza no trivial de software, un mdulo o un subsistema que completa una funcin clara, tiene lmites claros y puede ser integrado en una arquitectura bien definida Realizacin fsica de una abstraccin en el diseo
Aplicacin Negocio
Middleware
Systemsoftware
31
Definir arquitecturas muy modulares e identificar, aislar, disear, desarrollar y probar componentes bien formados Desarrollar componentes para ser reutilizados. Formar la base de rehso de la organizacin Industria de infraestructura de componentes COM+ - Microsoft Component Object Model CORBA - Common Object Request Broker Architecture - OMG JavaBeans SUN Assemblys .NET Servicios Web
32
Gestin de Proyectos de TI
Administrar Requerimientos
Desarrollar Iterativamente
Verificar Calidad
Modelar Visualmente
Controlar Cambios
Gestin de Proyectos de TI
33
Controlar, registrar y monitorear los cambios para posibilitar el desarrollo iterativo Establecer workspaces seguros para cada desarrollador Automatizar la integracin y la administracin de builds
Workspace de Administracin
Desarrollo en paralelo
REPORT ALERT
Integracin
Gestin de Proyectos de TI
Las solicitudes de cambios formales facilitan la claridad de comunicacin Los espacios de trabajo aislados reducen la interferencia entre los miembros del equipo que trabajan en paralelo Las estadsticas de cantidad de cambios proveen buenas mtricas para evaluar objetivamente el estado del proyecto La propagacin del cambio es evaluable y controlable Los cambios pueden ser mantenidos en sistemas automticos
35
Administrar Requerimientos
Desarrollar Iterativamente
Verificar Calidad
Modelizar Visualmente
Controlar Cambios
Gestin de Proyectos de TI
36
Preguntas!????
Gestin de Proyectos de TI
37
Referencias
El ciclo de vida de desarrollo de Seguridad
Ingeniera de Software
http://www.ingenierosoftware.com/ http://www.microsoft.com/spanish/msdn/articulos/archivo/0305 05/voices/sdl.mspx
Gestin de Proyectos de TI
38