Gestión y modelos para la eficiencia en empresas
de desarrollo de software
Juan Palacio
http://www.navegapolis.net
Retos en el negocio del software
RETOS DE NEGOCIO
RETOS DEL SOFTWARE
Desarrollo de software al final del siglo XX
2000
1998
Fracaso
Problemático
Éxito
23%
49%
28%
28%
40%
1995
1994
46%
31%
26%
33%
27%
53%
16%
El proyecto se aborta o el sistema no se llega a utilizar
Desbordamiento de agendas o costes. Las funcionalidades no cubren las
expectativas. Problemas funcionales
Proyecto realizado en el tiempo previsto, con los costes previstos, con la
funcionalidad esperada y ofreciendo un funcionamiento correcto.
Fuente: Standish Group Survey,
Desarrollo de software al final del siglo XX
La mitad de los proyectos se cancelaba o doblaba las agendas
Fuente: Standish Group Survey,
1999. Muestra: 8.000 proyectos TIC
¿El software como reto de negocio?
Incumplimiento de fechas
Modificaciones de requisitos
Costes desbordados
Presión en el desarrollo
Funcionalidades inadecuadas
Errores
¿ El software es así ?
El software como oportunidad de negocio
Mercado
Economía de escala en su producción
Distribución
Maleabilidad y desarrollo incremental
Nuestra historia
1968
Crisis del software
1962 publicación del primer algoritmo para búsquedas binarias.
1966 C. Böhm y G. Jacopini publican el manifiesto para la eliminación del “GoTo”
que fue el inicio de la programación estructurada.
1974 Primera publicación sobre programación estructurada (Larry Constantine,
Glenford Myers y Wayne Stevens)
1977 Tom Gilb publica el primer libro sobre métrica del software
1979 Primer libro sobre análisis de requisitos.
Nuestra historia
1967
Ampex Instant Replay Disk Recorder.
1.800 rpm.
30 segundos de grabación de vídeo NTSC.
Nuestra historia
1981
IBM PC 5150.
Intel 8088 4,77 Mhz.
64 Kb RAM
Floppy drive 160 Kb.
2.880 $
Nuestra historia
1975
IBM PC 5100
CPU: “PALM” (Put All Logic in Microcode )
16-32-48-64 Kb RAM
Pantalla 5’ (16 líneas x 64 caracteres)
15.000 $
Nuestro entorno
1960
2000
Pentium IV
Pentium II
50.000.000
Ley de Moore
286
8086
8080
8008
Profesionalización
Calidad y procesos
486 DX
386
10.000
Evolución del hardware
Desde 1965 la Ley de Moore rige la evolución de los microprocesadores
100.000.000
Pentium IV
Pentium III
10.000.000
Pentium II
Transistores
Pentium
486 DX
1.000.000
386
286
100.000
8086
10.000
8080
4004
8008
1970
1975
1980
1985
1990
1995
Factores que imprimen aceleración al ritmo de crecimiento del hardware:
•Incremento de la capacidad de operación.
Consecuencias de la ley de Moore
•Incremento de la miniaturización.
•Reducción de costes en la producción.
Comunicaciones entre sistemas
2000
Profesionalización
De
Mancia
A
Ciencia
¿ SWEBOK ?
http://www.swebok.org
Calidad y procesos
Técnicas y métodos
ágiles
Adaptaciones
para softw.
Modelos para software
1997
TickIT
1991
ISO 9000-3
Trillium
1959
1979
1987
MIL-Q 9858
BS 5750
ISO 9000
Modelos específicos
para software.
Modelos y estándares
de calidad
Modelos genéricos
Bootstrap
1995
ISO 12207
1995
Proy. SPICE
1993
CMM-SW
TR 15504
2003-05
ISO 15504
Modelos
CMM
2001
CMMI
DSDM
SCRUM
CRYSTAL
XP
ASD
PP
ISD
AM
1995
2000
Manifiesto
Ágil
No sólo son procesos
PERSONAS
PROCESOS
TECNOLOGÍA
No sólo son procesos
PERSONAS
Pentium IV
Pentium II
50.000.000
286
486 DX
386
8086
8080
8008
PROCESOS
TECNOLOGÍA
10.000
Personalidad de la organización
Capital
Procesos
Tecnología
Humano
Modelo de
producción
Personas
Artesanía
Ubicación del
conocimiento - valor
Factores del
sistema de producción
Estructural
Producción heroica
Producción industrial
Conocimiento
explícito
Conocimiento
tácito
Niveles de madurez CMMI
Alta
Eficiencia de los procesos
5
Capacidad de los procesos
4
Madurez de los procesos
3
Baja
2
1
Optimizado
Gestionado cuantit.
Baja
Definido
Escalabilidad
Gestionado
Repetibilidad
Inicial
Alta
Manifiesto Ágil (2001)
Estamos poniendo al descubierto mejores métodos para desarrollar software, haciéndolo y
ayudando a otros a que lo hagan. Con este trabajo hemos llegado a valorar:
A los individuos y su interacción
por encima
de los procesos y las herramientas
El software que funciona
por encima
de la documentación exhaustiva
La colaboración con el cliente
por encima
la negociación contractual
La respuesta al cambio
por encima
seguimiento de un plan
Aunque hay valor en los elementos de la derecha, valoramos más los de la izquierda
Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt,
Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas
http://agilemanifesto.org/
¿Modelo para la organización de software?
¿LA organización?
¿EL software?
Conclusiones
Características de los proyectos de software
Visión, misión y negocio de la organización
Cultura de la organización
Diseño y gestión del equilibrio personas – procesos - tecnología
Claves para organizaciones eficientes
Conocimiento de la industria
Conocimiento de la propia empresa
Personalidad de la organización
Gestión sistémica
Revisión y adaptación
?
Dudas
Preguntas
Insultos
Regalos…
Juan Palacio
http://www.navegapolis.net
http://creativecommons.org/licenses/by/2.1/es/
Descargar

Modelos para la eficiencia en el desarrollo de software