¿ Hasta cuando vamos a seguir
¿ Hasta cuando vamos a seguir
¿ Hasta cuando vamos a seguir
diciendonos “mentiras piadosas”
diciendonos “mentiras piadosas”
diciendonos “mentiras piadosas”
sobre los proyectos de software?
sobre los proyectos de software?
sobre los proyectos de software?
Victor Manuel Toro C.
[email protected]
CincoSOFT Ltda.
Compañía de Ingenieros Constructures de Software
Tel. (+57)(1) 6230180 * Fax (+57)(1) 2566774
Carrera 15 # 80-48 (ofc. 402)
Apartado Aéreo 350762
Bogotá - Colombia
http://www.cincosoft.com
Pregunta # 1
Pregunta # 1
“Proyecto de software”:
Desarrollo de software que requiere
8 (o mas) meses· ingeniero(a)
l Favor alzar la mano las personas cuyos “proyectos de
software” (como desarrollador ó como gerente)
en general hayan terminado:
a tiempo: con 0 ó mínimo desvío en el cronograma, y ...
en costo: con 0 ó mínimo desvío en el presupuesto, y ...
completos: se implementaron casi todas las funcionalidades
planeadas, y el sistema está funcionamiento en la empresa.
Victor Toro - CincoSOFT Ltda.
2
1
Pregunta # 2
Pregunta # 2
Desarrollo de software que requiere
“Proyecto de software”:
8 (o mas) meses· ingeniero(a)
l Favor alzar la mano las personas cuyos “proyectos de
software” (como desarrollador ó como gerente)
en general hayan terminado:
tarde: con una importante desvío en el cronograma, ó ...
con sobrecosto: importante sobre el presupuesto inicial, ó ...
incompletos:
no se pudieron implementar todas las funcionalidades, ó ...
finalmente no se puso en funcionamiento en la empresa, ó ...
se canceló el proyecto
Victor Toro - CincoSOFT Ltda.
3
¿ mal de muchos, consuelo de tontos ?
¿ mal de muchos, consuelo de tontos ?
“Chaos Report”
“Chaos Report”
l Periódicamente años la compañía “Standish Group”
realiza una detallada encuesta entre los directivos de
sistemas de las grandes empresas en EEUU, para
sondear éxitos, problemas y fracasos en sus proyectos
de software (Muestra 2003: mas de 13.000 proyectos).
l El “Chaos Report” de 1998 es de libre distribución:
http://www.standishgroup.com/sample_research/PDFpages/chaos1998.pdf
http://www.scs.carleton.ca/~beau/PM/Standish-Report.html
l “Chaos Report” del 2000, 2003: solo fragmentos ($$$)
Victor Toro - CincoSOFT Ltda.
4
2
¿ mal de muchos, consuelo de tontos ?
¿ mal de muchos, consuelo de tontos ?
“Chaos Report” 1998 - Costos
“Chaos Report” 1998 - Costos
l En promedio los proyectos de software terminan costando
1.9 veces el costo estimado inicialmente.
l En promedio los proyectos de software terminan imple-
mentando solo un 67% de las funcionalidades esperadas.
Victor Toro - CincoSOFT Ltda.
5
¿ mal de muchos, consuelo de tontos ?
¿ mal de muchos, consuelo de tontos ?
“Chaos Report” 1998 - Duración
“Chaos Report” 1998 - Duración
l En promedio los proyectos de software terminan
demorándose 2.2 veces la duración estimada inicialmente
(con un 67% de las funcionalidades esperadas)
Victor Toro - CincoSOFT Ltda.
6
3
¿ mal de muchos, consuelo de tontos ?
¿ mal de muchos, consuelo de tontos ?
“Chaos Report” 2003 - algunos datos
“Chaos Report” 2003 - algunos datos
l Muestra: 13,522 proyectos de software
l En promedio los proyectos de software terminan
costando 1.43 veces el costo estimado inicialmente
(v.s. 1.9 veces en 1998).
l En promedio los proyectos de software terminan
demorándose 1.82 veces la duración estimada
inicialmente (v.s. 2.2 veces en 1998).
l En promedio los proyectos de software terminan
implementando solo un 52% de las funcionalidades
que se esperaban (v.s. 67% veces en 1998) (?).
Victor Toro - CincoSOFT Ltda.
7
“Mentira piadosa” ...
“Mentira piadosa” ...
Contratos a plazo fijo y a costo fijo
Contratos a plazo fijo y a costo fijo
l Hay evidencia abrumadora de que la gran mayoría de
las veces los proyectos sobrepasan el costo y el plazo
inicialmente acordados.
l Sobrepasar el costo causa enormes problemas a la
compañía desarrolladora
l Sobrepasar el tiempo causa enormes problemas al
ambiente de trabajo
l Hay que prever desde el comienzo mecanismos para:
ajustar la duración estimada (¿propuestas prácticas?)
ajustar el costo del proyecto de una manera justa
(propuesta concreta mas adelante)
Victor Toro - CincoSOFT Ltda.
8
4
Contexto de los proyectos de software actuales
Contexto de los proyectos de software actuales
l Desarrollo a la medida via outsourcing, por parte de
una compañía de software externa al contratante
l En general dichos proyectos son para resolver
problemas complejos y propios del contratante
l Posiblemente el contratante esté en otro país (!)
l El departamento de sistemas del contratante hará la
operación y el mantenimiento (no desarrollo)
l El desarrollo se hace sobre tecnologías nuevas
orientadas a Internet (Java-J2EE ó Microsoft .NET)
Victor Toro - CincoSOFT Ltda.
9
Tres riesgos fundamentales ...
Tres riesgos fundamentales ...
que suelen ser cubiertos con “mentiras piadosas”
que suelen ser cubiertos con “mentiras piadosas”
l Desarrollo a la medida via outsourcing, por
parte de una compañía de software externa al
contratante
l En general, hay que resolver problemas
complejos y propios del contratante
l Posiblemente el contratante esté en otro país
l El departamento de sistemas del contratante
hará la operación y el mantenimiento
l El desarrollo se hace sobre tecnologías nuevas
(e inmaduras!) orientadas a Internet
(Java-J2EE ó Microsoft .NET)
Victor Toro - CincoSOFT Ltda.
El desarrollador no
tiene un buen
conocimiento del
“negocio”
El contratante no
entiende el
alcance/limitaciones
de la tecnología.
El desarrollador tiene
experiencia limitada
con la tecnología.
10
5
Aclaremos el contexto tecnológico
Aclaremos el contexto tecnológico
y el proceso de desarrollo,
y el proceso de desarrollo,
para poder ubicar después las
para poder ubicar después las
“mentiras piadosas”
“mentiras piadosas”
Victor Toro - CincoSOFT Ltda.
11
Hasta hace poco ...
Hasta hace poco ...
Los Sistema de Información monolítico
Los Sistema de Información monolítico
a
n
i
m
ó
N
e
d
a
m
e
t
s
i
S
s
e
d
a
d
e
v
o
N
a
r
u
t
p
a
C
s
a
i
c
n
e
t
s
i
s
n
o
c
n
I
e
d
n
ó
i
c
a
c
i
f
i
r
e
V
i
n
ó
c
a
z
i
l
a
u
t
c
A
s
e
u
q
e
h
c
y
s
e
t
r
o
p
e
R
Maestro
Nómina
Auxiliares
Nómina
Victor Toro - CincoSOFT Ltda.
FUno o varios programas
FComparten algunos archivos
FFuncionan en un solo computador
FEn el mismo computador estaban:
*Programas
*Datos
*Usuarios
12
6
Mas recientemente ...
Mas recientemente ...
Sistemas Cliente Servidor en 2 Niveles
Sistemas Cliente Servidor en 2 Niveles
e
t
n
e
i
l
C
Interfaz Usuario
Lógica en
el Cliente
e
t
n
e
i
l
C
Interfaz Usuario
Lógica en
el Cliente
Interfaz
con el usuario
e
t
n
e
i
l
C
Interfaz Usuario
Lógica en
el Cliente
Lógica
del negocio
i
r
o
d
v
r
e
S
Lógica en el
Servidor
Manejo
de Datos
Manejo de Datos
Victor Toro - CincoSOFT Ltda.
ÆDistribución de la lógica (?)
ÆDificultad de actualización
ÆAdministración muy costosa
ÆIncompatibilidad
ÆIneficiente en redes amplias
13
Actualmente ...
Actualmente ...
Sistemas de Información en 3 (ó mas) Niveles
Sistemas de Información en 3 (ó mas) Niveles
Nivel de Datos
Servidor de BD,
conectores a otros sistemas
Base de
Datos
Sistemas
Legado
Nivel de
“Lógica del Negocio”
Servidores WEB
y de Aplicaciones
Internet / Intranet
Nivel de Presentación
“Browsers” + html + scripts
Browser
Browser
• • •
Browser
.Browser
.Browser
• • •
.Browser
Victor Toro - CincoSOFT Ltda.
14
7
Cuenta
Corriente
Cuenta
Ahorros
Tarjeta
Crédito
Sistemas
Especializados
(respaldo “back office”)
Sistema bancario
Sistema bancario
en 5 niveles
en 5 niveles
firewall
firewall
firewall
firewall
Autorizador
Servidor de
Aplicaciones
Servidor WEB
Intranet / Internet
Browser
Browser
Browser
Usuarios
internos y externos
Victor Toro - CincoSOFT Ltda.
15
Antes uno hacía un programa, lo compilaba y lo corría. Ahora ...
Antes uno hacía un programa, lo compilaba y lo corría. Ahora ...
Elementos y Dinámica J2EE
Elementos y Dinámica J2EE
Services
Persistence
Domain
Application
Presentation
auxiliary
Javabeans
get, post
Servlets
auxiliary
Javabeans
auxiliary
Javabeans
Entity EJB
component
Enterprise Javabean
HTML
Javascript
JSP
(Java Server Pages)
Session EJB
component
Enterprise Javabean
Entity EJB
component
Enterprise Javabean
auxiliary
Javabeans
Web
Server
Browser
Victor Toro - CincoSOFT Ltda.
Component
Server
Application
Server
Database 1
Database 2
Directory
Server
Database
Server
16
8
Proceso de desarrollo de un proyecto
Proceso de desarrollo de un proyecto
RUP Rational Unified Process “aligerado”
RUP Rational Unified Process “aligerado”
+ Extreme Programming
+ Extreme Programming
a
t
s
e
u
p
o
r
P
o
t
a
r
t
n
o
C
Introducción Elaboración
1
2
3
4
...
Transición
Construcción
Refinar Use Cases
Interfaz & Navigación
Refinar Modelo Datos
Aprobación
del
usuario
Programación
Pruebas Unitarias
Pruebas Integración
Pruebas Funcionales
Pruebas Carga
Victor Toro - CincoSOFT Ltda.
17
Ubiquemos algunas “mentiras”
Ubiquemos algunas “mentiras”
a lo largo el proceso ...
a lo largo el proceso ...
a
t
s
e
u
p
o
r
P
o
t
a
r
t
n
o
C
Introducción Elaboración
1
2
3
4
...
Transición
Construcción
Victor Toro - CincoSOFT Ltda.
18
9
1
a
t
s
e
u
p
o
r
P
a
t
s
e
u
p
o
r
P
1
o
t
a
r
t
n
o
C
o
t
a
r
t
n
o
C
La contratación ...
La contratación ...
2
a
t
s
e
u
p
o
r
P
2
o
t
a
r
t
n
o
C
3
a
t
s
e
u
p
o
r
P
3
o
t
a
r
t
n
o
C
“MENTIRA”
Construcción
Introducción Elaboración
1
2
3
4
...
Transición
Doc. Arquitectura
e Integración
Especificación
Formal (Z)
Inventario de
Casos de Uso
Victor Toro - CincoSOFT Ltda.
19
“Mentiras” frecuentes en contratos de construcción...
“Mentiras” frecuente
Comentarios de: Hasta cuando vamos a seguir diciendonos “mentiras piadosas” sobre los proyectos de software? (0)
No hay comentarios