Está en la página 1de 38

DESARROLLO DE APLICACIONES

SOFTWARE III
CIENCIAS DE LA INFORMATICA
Tutor:
Ing. Edgar Barragan del Pozo
UNIVERSIDAD ESTATAL DE
BOLIVAR
Gestin de Proyectos de TI
2
Agenda
Que es un Proyecto?
Problemas con el Software.
Que son los riesgos?
Qu deberamos hacer?
Seis mejores prcticas.


Gestin de Proyectos de TI
3
Costos
Tiempos
Calidad
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 :
Qu es un proyecto?
Gestin de Proyectos de TI
4
Alarmante Problema
Solucin
Enfoque integral del ciclo de vida
Tcnicas formales y herramientas
Ingeniera de software


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
Plazos y costos excedidos
Insuficiente productividad
Calidad inadecuada
Causas
Naturaleza del software
Inadecuado enfoque gerencial
Carencia de tecnologa
Gestin de Proyectos de TI
5
Porque fracasa el proyecto?
Como lo
explic el
cliente
Como lo
entendi el
lder del
proyecto
Como lo
dise el
analista
Como lo
escribi el
programador
Como lo
recibieron los
probadores
beta
Como lo
describi el
Consultor de
Negocios
Gestin de Proyectos de TI
6
Porque fracasa el proyecto?
Como se
document
Las
operaciones
instaladas
Lo que se le
cobr al
Cliente
El soporte
que se le
dio
Como se
comercializ
Lo que el cliente
realmente
necesitaba
Gestin de Proyectos de TI
7
Lo que el cliente realmente necesitaba
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

Por qu fracas?
Gestin de Proyectos de TI
8
Qu es un riesgo del proyecto?
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
9
Anlisis de Riesgo
Estimacin del riesgo
Establecer una escala que refleje la probabilidad observada de
riesgo.
Bastante improbable
Improbable
Moderado
Probable
Bastante probable
Impacto (pesos)
Estimacin del impacto de riesgo en el proyecto

Clculo de riesgo
Considerar (riesgo, probabilidad de riesgo, impacto)

Gestin de Proyectos de TI
10
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
11
Gestin de Proyectos de TI
12
Seis Mejores Prcticas
Controlar Cambios
Administrar requerimientos
Arquitecturas
Basadas en
Componentes
Desarrollar
Iterativamente
Verificar
Calidad
Modelar
Visualmente
Gestin de Proyectos de TI
13
Seis Mejores Prcticas
Controlar Cambios
Administrar requerimientos
Arquitecturas
Basadas en
Componentes
Desarrollar
Iterativamente
Verificar
Calidad
Modelar
Visualmente
Gestin de Proyectos de TI
14
Administrar los requerimientos
Requirements Management, enfoque sistemtico
que involucra:
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
rea Clave de Proceso para CMM nivel 2
Gestin de Proyectos de TI
15
Administrar los requerimientos
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 Diseo
Modelo de Implementacin Modelo de Test
verifica
Realizacin influenciados por
Los Casos de Uso
direccionan el
trabajo desde el
anlisis hasta el
test
Modelo de Casos de Uso
Gestin de Proyectos de TI
16
Administrar los requerimientos



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
Gestin de Proyectos de TI
17
Seis Mejores Prcticas
Controlar Cambios
Administrar requerimientos
Arquitecturas
Basadas en
Componentes
Desarrollar
Iterativamente
Verificar
Calidad
Modelar
Visualmente
Gestin de Proyectos de TI
18
Planeamiento
Inicial
Planeamiento
Requerimientos
Anlisis y Diseo
Implementacin
Prueba
Distribucin
Evaluacin
Ambiente de
Administracin
Desarrollar Software Iterativamente
Cada iteracin resulta en un release ejecutable
Gestin de Proyectos de TI
19
Desarrollar Software Iterativamente
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

Gestin de Proyectos de TI
20
Desarrollar Software Iterativamente
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
21
Seis Mejores Prcticas
Controlar Cambios
Administrar Requerimientos
Arquitecturas
Basadas en
Componentes
Desarrollar
Iterativamente
Verificar
Calidad
Modelar
Visualmente
Gestin de Proyectos de TI
22
Verificar la Calidad del Software
La actividad fundamental de esta prctica es el testing
Evaluar continuamente la calidad de un sistema con respecto
a funcionalidad, confiabilidad, performance
Desarrollo Implementacin
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
23
Verificar la Calidad del Software
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
24
Seis Mejores Prcticas
Controlar Cambios
Administrar requerimientos
Arquitecturas
Basadas en
Componentes
Desarrollar
Iterativamente
Verificar
Calidad
Modelar
Visualmente
Verificar
Calidad
Gestin de Proyectos de TI
25
Disear el proceso
Logical Design
Conceptual Design
Scenarios
Physical Design
Components,
User Interface, and
Physical Database
Objects and Services,
User Interface, and
Logical Database
Gestin de Proyectos de TI
26
Modelar Software Visualmente
Diagramas de Casos de Uso
Diagramas de Clases
Diagramas de Estados
Diagramas de Componentes
Diagramas de Implementacin
Cdigo
Clases
Subsistemas
El Modelamiento
Visual
eleva el nivel de
abstraccin
Gestin de Proyectos de TI
27
Modelar Software Visualmente
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
28
Seis Mejores Prcticas
Controlar Cambios
Administrar requerimientos
Arquitecturas
Basadas en
Componentes
Desarrollar
Iterativamente
Verificar
Calidad
Modelar
Visualmente
Gestin de Proyectos de TI
29
Utilizar Arquitecturas Basadas en
Componentes
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

Gestin de Proyectos de TI
30
Utilizar Arquitecturas Basadas en
Componentes
Vista Lgica
Usuario
Funcionalidad
Vista de
Implementacin
Programadores
Administracin del Software
Vista del
Proceso
Performance
Escalabilidad
Rendimiento
Integradores
Vista de
Desarrollo
Topologa
Distribucin, Instalacin
Comunicacin
Ingeniera
Conceptual Physical
Vista de Caso de
Uso
Gestin de Proyectos de TI
31
System-
software
Middleware
Negocio
Aplicacin
Arquitectura
basada en
componentes
Utilizar Arquitecturas Basadas en
Componentes
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
Gestin de Proyectos de TI
32
Utilizar Arquitecturas Basadas en
Componentes
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
Gestin de Proyectos de TI
33
Seis Mejores Prcticas
Controlar Cambios
Administrar Requerimientos
Arquitecturas
Basadas en
Componentes
Desarrollar
Iterativamente
Verificar
Calidad
Modelar
Visualmente
Gestin de Proyectos de TI
34
Controlar los Cambios al Software
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



ALERT
REPORT
Workspace
de Administracin
Integracin
Desarrollo en
paralelo
Administracin
del Build

CM es mucho
ms que check-
in y check-out
Gestin de Proyectos de TI
35
Controlar los Cambios al Software:
Beneficios
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
Gestin de Proyectos de TI
36
Seis Mejores Prcticas
Controlar Cambios
Administrar Requerimientos
Arquitecturas
Basadas en
Componentes
Desarrollar
Iterativamente
Verificar
Calidad
Modelizar
Visualmente
Gestin de Proyectos de TI
37
Preguntas!????
Gestin de Proyectos de TI
38
Referencias
El ciclo de vida de desarrollo de Seguridad
http://www.microsoft.com/spanish/msdn/articulos/archivo/0305
05/voices/sdl.mspx
Ingeniera de Software
http://www.ingenierosoftware.com/
Contrato para desarrollo de Software
http://www.inei.gob.pe/biblioineipub/bancopub/inf/lib5003/desar
rol.htm

También podría gustarte