Gestión y modelos para la eficiencia en empresas de desarrollo de software Juan Palacio
Retos en el negocio del software RETOS DE NEGOCIO RETOS DEL SOFTWARE
Desarrollo de software al final del siglo XX %23%49% 26%28%46% 27%40%33% 16%31%53% ÉxitoProblemáticoFracaso Fuente: Standish Group Survey, 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. 1994
Desarrollo de software al final del siglo XX Fuente: Standish Group Survey, Muestra: proyectos TIC La mitad de los proyectos se cancelaba o doblaba las agendas
¿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 Crisis del software publicación del primer algoritmo para búsquedas binarias C. Böhm y G. Jacopini publican el manifiesto para la eliminación del “GoTo” que fue el inicio de la programación estructurada 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 rpm. 30 segundos de grabación de vídeo NTSC.
Nuestra historia 1981 IBM PC Intel ,77 Mhz. 64 Kb RAM Floppy drive 160 Kb $
Nuestra historia 1975 IBM PC 5100 CPU: “PALM” (Put All Logic in Microcode ) Kb RAM Pantalla 5’ (16 líneas x 64 caracteres) $
Nuestro entorno Profesionalización Calidad y procesos DX Pentium II Pentium IV Ley de Moore
Evolución del hardware Desde 1965 la Ley de Moore rige la evolución de los microprocesadores Factores que imprimen aceleración al ritmo de crecimiento del hardware: Consecuencias de la ley de Moore Comunicaciones entre sistemas Incremento de la capacidad de operación. Incremento de la miniaturización. Reducción de costes en la producción.
Profesionalización Mancia Ciencia DeA ¿ SWEBOK ?
Calidad y procesos 1959 MIL-Q BS ISO TickIT 1991 ISO Adaptaciones para softw ISO Proy. SPICE 1993 CMM-SW Modelos específicos para software ISO CMMI Modelos CMM TR Modelos y estándares de calidad Modelos genéricosModelos para software Trillium Bootstrap DSDM SCRUM CRYSTAL XP ASD PP AM ISD Manifiesto Ágil Técnicas y métodos ágiles
No sólo son procesos PERSONAS PROCESOS TECNOLOGÍA
No sólo son procesos PERSONAS PROCESOS TECNOLOGÍA DX Pentium II Pentium IV
Personalidad de la organización Estructural ProcesosTecnologíaPersonas Humano Artesanía Producción heroica Producción industrial Capital Factores del sistema de producción Ubicación del conocimiento - valor Modelo de producción Conocimiento explícito Conocimiento tácito
Niveles de madurez CMMI Madurez de los procesos Capacidad de los procesos Eficiencia de los procesos Baja Alta Escalabilidad Alta Baja Repetibilidad Inicial Gestionado Definido Gestionado cuantit. Optimizado
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ónde los procesos y las herramientaspor encima El software que funcionade la documentación exhaustivapor encima La colaboración con el clientela negociación contractualpor encima La respuesta al cambioseguimiento de un planpor encima 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
¿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