Está en la página 1de 35

CLAVES PARA EL XITO DE UN PROYECTO SOFTWARE

Dr. JAVIER GARZS


jgarzas@gmail.com www.javiergarzas.com

Javier Garzs Claves para el xito de un proyecto Software

Objetivo

CONOCER LAS PRCTICAS CLAVES PARA EL XITO DE UN PROYECTO SOFTWARE PROPORCIONAR LA BASE PARA LA FORMACIN DE JEFES DE PROYECTOS SOFTWARE O LIDERES DE PROYECTO?

Javier Garzs Claves para el xito de un proyecto Software

Bibliografa Bsica
McConnell, S., Rapid Development: Taming Wild Software Schedules, Microsoft Press, Redmond, WA, 1996

Javier Garzs Claves para el xito de un proyecto Software

Diferencias entre ser un Jefe y ser Lder


1. Para el Jefe, la autoridad es un privilegio de mando y para el Lder un privilegio de Servicio. El Jefe ordena: " Aqu mando yo", el Lder: "Aqu sirvo yo". El jefe empuja al grupo y el Lder va al frente comprometindose con sus acciones. 2. El Jefe existe por la autoridad, el Lder por la buena voluntad. El Jefe necesita imponerse con argumentos extensos, el Lder con ejemplos entraables. 3. El Jefe inspira miedo, se le teme, se le sonre de frente y se le critica de espalda. El Lder inspira confianza, da poder a su gente, los entusiasma y cuando est presente, fortalece al grupo. Si temes a tu superior, es Jefe. Si lo amas es un Lder. 4. El Jefe busca al culpable cuando hay un error. El que la hace la paga. Sanciona, castiga, reprende, cree arreglar el mundo con un grito o con una infraccin. El Lder jams apaga una llama encendida, corrige pero comprende, no busca las fallas por placer, sino para rehabilitar al cado. 5. El Jefe asigna los deberes, ordena a cada quien lo que tiene que hacer, mientras contempla desde su lugar cmo se le obedece. El Lder da el ejemplo, trabaja con y como los dems, es congruente con su pensar, decir y actuar. 6. El Jefe hace del trabajo una carga, el Lder un privilegio. Los que tienen un Lder, pueden cansarse ms no fastidiarse, porque el Lder transmite la alegra de vivir y de trabajar. 7. El Jefe sabe como se hacen las cosas, el Lder ensea como deben hacerse. Uno se guarda el secreto del xito, el otro capacita permanentemente, para que la gente pueda hacer las cosas con eficacia. 8. El Jefe maneja a la gente, el Lder la prepara. El Jefe masifica a las personas convirtindolas en nmeros o fichas. El Lder conoce a cada uno de sus colaboradores, los trata como personas, no los usa como cosas. Respeta la personalidad, se apoya en el hombre concreto, lo dinamiza y lo impulsa constantemente. 9. El Jefe dice, "vaya", el Lder "vayamos". El Lder promueve al grupo a travs del trabajo en equipo, forma a otros Lderes, consigue un compromiso real de todos los miembros, formula planes con objetivos claros y concretos, motiva, supervisa y difunde el ideal de una esperanza viva y una alegra contagiosa. 10. El Jefe llega a tiempo, el Lder llega adelantado. "Un pie adelante del grupo, una mirada ms all de los seguidores" el que inspira, el que no se contenta con lo posible sino con lo imposible. 11. El lder hace de la gente ordinaria, gente extraordinaria. La compromete con una misin que le permita la trascendencia y realizacin. Le da significado a la vida de sus seguidores, un porqu vivir, es un arquitecto humano.

Javier Garzs Claves para el xito de un proyecto Software

Fuente: De la Web y de un Annimo

Resultado de los Proyectos


6%, 200% de retraso Cancelados 29%

16 %, entre un 101 y un 200 % tarde

9%, entre un 51 y 100% tarde

8%, entre un 21 y un 50% de retraso 6%, un 20% tarde Javier Garzs Claves para el xito de un proyecto Software

Fuente: Standish Group Survey, 1999 (from a survey of 8000 business systems projects)

En tiempo 26%

Cules son las claves del xito?


Q: What are the most exciting/promising software engineering ideas or techniques on the horizon? A: I dont think that the most promising ideas are on the horizon. They are already here and have been here for years but are not being used properly.
David L. Parnas

Javier Garzs Claves para el xito de un proyecto Software

A qu se refiere Parnas?
PRCTICAS EN PLANIFICACIN GESTIN DE PROYECTOS Automated estimation tools (1973) Evolutionary delivery (1988) Measurement (1977) Productivity environments (1984) Risk management planning (1981) PRCTICAS EN INGENIERA DE REQUISITOS Change board (1979) Throwaway user interface prototyping (1975) JAD sessions (1985) Requirements (1989)

Javier Garzs Claves para el xito de un proyecto Software

A qu se refiere Parnas?
PRCTICAS EN PLANIFICACIN GESTIN DE PROYECTOS Automated estimation tools (1973) Evolutionary delivery (1988) Existen variaciones en productividad de Measurement (1977) 10:1 entre diferentes compaas en Productivity environments (1984) Risk management planning trabajando en (1981) la misma industria PRCTICAS EN INGENIERA DE REQUISITOS Change board (1979) Throwaway user interface prototyping (1975) JAD sessions (1985) Requirements scrubbing (1989) (Jones, 94)

Javier Garzs Claves para el xito de un proyecto Software

xito de un proyecto

Evitar los errores clsicos No ignorar las bases del desarrollo Gestin activa del riesgo Mtodos de Planificacin

Javier Garzs Claves para el xito de un proyecto Software

10 CLAVES DE UN PROYECTO CON XITO

PLANIFICACIN

PRIMERA CLAVE Visin Clara del Proyecto

Definicin Clara de los Objetivos del Proyecto


Sin una clara visin un proyecto puede terminar en cualquier punto
Los equipos trabajan para lograr las metas que se les fijan Muchos Objetivos = no Objetivos Una buena visin establece prioridades Qu tipo de desarrollo rpido quiere? Speed oriented Schedule-risk oriented Visibility oriented

Javier Garzs Claves para el xito de un proyecto Software

SEGUNDA CLAVE Requisitos estables, completos y escritos

Javier Garzs Claves para el xito de un proyecto Software

Los cambios en los requisitos


Riesgo ms comn en un proyecto

Requisitos estables al 100% es casi imposible La mayora de los cambios en los requisitos vienen de requisitos que definidos de forma incompleta la primera vez, y no por cambios de mercado u otras razones similares.

Javier Garzs Claves para el xito de un proyecto Software

Tcnicas para definir Requisitos estables


Requirements workshop User interface prototyping User interview Use cases User manual Usability studies Incremental delivery Requirements reviews/inspections

Javier Garzs Claves para el xito de un proyecto Software

TERCERA CLAVE Prototipos de Interfaz de Ususario

Prototipos de Interfaz de Ususario Detallados


Tcnica Orientada al riesgo ms comn en un proyecto... El cambio en los requisitos

Implican a los usuarios de forma amigable Bajo coste, corta planificacin y alta satisfaccin del usuario Es necesario tener habilidad para desarrollar prototipos exitosos

Javier Garzs Claves para el xito de un proyecto Software

CUARTA CLAVE Gestin de Proyectos Efectiva

10

Sobre la Gestin de Proyectos en el Mundo Real


La pobre gestin planificacin es el segundo riesgo ms comn

Pregunta: DE DNDE SALEN LA MAYORA DE LOS JEFES DE PROYECTO?

Javier Garzs Claves para el xito de un proyecto Software

Responsabilidades de un Jefe de Proyecto


Una buena gestin software requiere (NECESITA) significativas habilidades
Estimacin del Alcance Anlisis de Tiempo, Esfuerzo y Coste Seleccin del Ciclo de Vida Planificacin de la Calidad Personal Tcnico Gestin de Riesgos
Javier Garzs Claves para el xito de un proyecto Software

11

Por ejemplo, No existe un nico ciclo de vida...

Javier Garzs Claves para el xito de un proyecto Software development

Fuente: rapid

QUINTA CLAVE Estimaciones Precisas

12

Sobre las estimaciones

Las expectativas Injustificadas o no realistas son la mayor causa de los problemas

El estado del arte es dramaticamente mejor que el estado de la prctica

Javier Garzs Claves para el xito de un proyecto Software

Exactitud de la Estimacin y mejora


20%

Sobre/Bajo Procentaje De Esfuerzo Estimado

0%

-145% Sin Datos Histricos Variancin entre -145% to +20% (Mayormente en niveles 1 y 2 CMM) Con Datos Histricos Variancin entre +20% to -20% (Nivel 3)

Fuente: 120 Projects in Boeing Information Systems Javier Garzs Claves para el xito de un proyecto Software

13

Resultados Reales como Porcentaje de Resultados Estimados


600% 500% 400% 300% 200% 100%

Prediccin despues de Mejorar


0 1 2 SW-CMM Level 3 4

Prediccin antes de Mejorar

0%

Fuente: Dr. Patricia K. Lawlis, Capt. Robert M. Flowe, and Capt. James B. Thordahl. A Correlational Study of the CMM and Software Development Performance, Crosstalk, September 1995.

Javier Garzs Claves para el xito de un proyecto Software

Efecto de la Estimacin

Impacto no linear debido a errores de planificacin, defectos, prcticas de alto riesgo

Cost Effort Schedule

Impacto Lineal

Estimacin Baja

Estimacin Alta

< 100%

100%

>100%

Javier Garzs Claves para el xito de un proyecto Software

14

Estimacin Precisa
La estimacin es una habilidad tcnica especializada

Tratar la estimacin como un mini proyecto Tener un plan de restimacin periodica

Javier Garzs Claves para el xito de un proyecto Software

EJECUCIN

15

SEXTA CLAVE No morir por la planificacin

Evitar las dos causas de sobre planificacin...

Planes inamovibles Planes excesivamente detallados

Javier Garzs Claves para el xito de un proyecto Software

16

Ajuste en la Planificacin
Coste Proyecto (Esfuerzo Tamao) 4x

Momento en el que 2x tpicamente los compromisos se 1.5x realizan 1.25x 1.0x 0.8x 0.67x 0.5x

VS.
Momento en que muchos compromisos deben hacerse

0.25x Javier Garzs Claves para el xito de un proyecto Software tiempo

SEPTIMA CLAVE Enfoque en la Calidad

17

El coste de la equivocacin

50-200X

Coste de Corregir
50-200X

Fase en la que se crea un defecto


Requirements Architecture Detailed design Construction Requirements Architecture Detailed design Construction Release
1X 1X

Fase en la que el defecto es corregido


Javier Garzs Claves para el xito de un proyecto Software

El coste de la equivocacin
No Aqu Reparar Aqu Fase en la que se crea un defecto
Requirements Architecture Detailed design Construction Requirements Architecture
1X 1X

50-200X

Coste de Corregir
50-200X

Detailed design

Construction

Release

Fase en la que el defecto es corregido


Javier Garzs Claves para el xito de un proyecto Software

18

Por qu centrarse en la calidad?

En la mayora de los proyectos, el trabajo de corregir defectos no previstos es el mayor coste (40 80 % del total)
Centrarnos en la calidad tiene un impacto economico positivo

La calidad debe ser planificada durante el proyecto, no puede aadirse al final

Javier Garzs Claves para el xito de un proyecto Software

OCTAVA CLAVE No olvidar las bases del desarrollo software

19

NO olvidar los fundamentos de la Ingeniera del Software


Los fundamentos de Gestin
Siempre antes que los de Ingeniera (CMM 2 3) Estimacin, Planificacin, Seguimiento y Medicin

Las Bases Tcnicas


Requisitos, Diseo, Construccin, Gest. Configuracin, etc.

Las Bases del Control de Calidad


Pruebas, Inspecciones, etc.

Javier Garzs Claves para el xito de un proyecto Software

NOVENA CLAVE Gestin Activa de los Riesgos

20

Sobre la Gestin de Riesgos


Segn un estudio de KPMG
55% de los proyectos descontrolados no tenan gestin de riesgos 38% tenan algo, pero la mitad de estos no us los riesgos hallados una vez que el proyecto comenz 7% no sabe si utiliz gestin de riesgos sobre un 80% de los proyectos comenzados no mantenan una gestin de riesgos significativa

Ms del 50% de los proyectos muestran sus problemas durante el inicio del desarrollo Sobre el 25% muestran sus problemas durante la planificacin inicial
Javier Garzs Claves para el xito de un proyecto Software

Gestin de Riesgos
Identification

Assessment

Analysis

Prioritization Management Management Planning

Control

Resolution

Monitoring

Javier Garzs Claves para el xito de un proyecto Software

21

Gestin de Riesgos
Identification

Assessment

Analysis

Prioritization Management

Identificar todos los factores de riesgo Evitar los errores clsicos Control No ignorar las bases del desarrollo Gestin activa del riesgo

Management Planning

Considerar los tres pilares del desarrollo rpido:


Resolution

Monitoring

Javier Garzs Claves para el xito de un proyecto Software

Riesgos ms comunes (Best Hits)


Cambio en los Requisitos Escatimar en Calidad Planificaciones Demasiado Optimistas Diseo Inadecuado Sndrome de la "Bala de Plata" Desarrollo Orientado a la Investigacin Personal Mediocre No definicin de Roles y Responsables Error en la Contratacin Falta de Sponsor Falta de informacin del Usuario Aadir gente a un proyecto retrasado Sobreestimar de nuevas herramientas o mtodos Cambio de herramientas en mitad del proyecto Falta de control automatizado del cdigo fuente

Meticulosidad en Requisitos o Desarrollo Diferencias entre Desarrolladores y Clientes

Javier Garzs Claves para el xito de un proyecto Software

22

Gestin de Riesgos
Identification

Assessment

Analysis

Prioritization Management

VER EJEMPLO REAL G. RIESGOS


Management Planning

Control

Resolution

Monitoring

Javier Garzs Claves para el xito de un proyecto Software

DECIMA CLAVE El Factor Humano

23

Factores de Motivacin
Directivos
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Responsabilidad Realizacin Propio Trabajo Reconocimiento Posibilidad de Superacin Relaciones Personales (subordinados) Relaciones personales (igual nivel) Ascenso Salario Relaciones Personales (superiores) 1. 2. 3. 4. 5. 6. 7.

Analista Programador
Realizacin Posibilidad de Superacin Propio Trabajo Vida Personal Oportunidad de supervisin tcnica Ascenso Relaciones personales (igual nivel) Reconocimiento Salario Responsabilidad 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

Personas en General
Realizacin Reconocimiento Propio Trabajo Responsabilidad Ascenso Salario Posibilidad de Superacin Relaciones Personales (subordinados) Posicin social Relaciones Personales (superiores)

ESTADISTICA...

8. 9. 10.

Software Engineering Economics (Boehm, 1981)

Javier Garzs Claves para el xito de un proyecto Software

Factores de Motivacin
Directivos
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Responsabilidad Realizacin Propio Trabajo Reconocimiento Posibilidad de Superacin Relaciones Personales (subordinados) Relaciones personales (igual nivel) Ascenso Salario Relaciones Personales (superiores) 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

Analista Programador
Realizacin Posibilidad de Superacin Propio Trabajo Vida Personal Oportunidad de supervisin tcnica Ascenso Relaciones personales (igual nivel) Reconocimiento Salario Responsabilidad 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

Personas en General
Realizacin Reconocimiento Propio Trabajo Responsabilidad Ascenso Salario Posibilidad de Superacin Relaciones Personales (subordinados) Posicin social Relaciones Personales (superiores)

Software Engineering Economics (Boehm, 1981)

Javier Garzs Claves para el xito de un proyecto Software

24

Factores de Motivacin
Directivos
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Responsabilidad Realizacin Propio Trabajo Reconocimiento Posibilidad de Superacin Relaciones Personales (subordinados) Relaciones personales (igual nivel) Ascenso Salario Relaciones Personales (superiores) 1.

Analista Programador
Realizacin 1.

Personas en General
Realizacin

2. Posibilidad de Superacin Reconocimiento Personas diferentes se motivan con 2. factores 3. Propio Trabajo 3. Propio Trabajo Vida Personal 4. Responsabilidad diferentes,4.y los desarrolladores no se 5. Oportunidad de ser 5. Ascenso motivan siempre con los mismos factores que supervisor tcnico 6. Salario 6. Ascenso 7. Posibilidad de Superacin los directivos y personas en general 7. Relaciones personales (igual 8. Relaciones Personales 8. 9. 10. nivel) Reconocimiento Salario Responsabilidad 9. 10. (subordinados) Posicin social Relaciones Personales (superiores)

Software Engineering Economics (Boehm, 1981)

Javier Garzs Claves para el xito de un proyecto Software

Factores de Motivacin
Directivos
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Responsabilidad Realizacin Propio Trabajo Reconocimiento Posibilidad de Superacin Relaciones Personales (subordinados) Relaciones personales (igual nivel) Ascenso Salario Relaciones Personales (superiores) 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

Analista Programador
Realizacin Posibilidad de Superacin Propio Trabajo Vida Personal Oportunidad de ser supervisor tcnico Ascenso Relaciones personales (igual nivel) Reconocimiento Salario Responsabilidad 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

Personas en General
Realizacin Reconocimiento Propio Trabajo Responsabilidad Ascenso Salario Posibilidad de Superacin Relaciones Personales (subordinados) Posicin social Relaciones Personales (superiores)

Software Engineering Economics (Boehm, 1981)

Javier Garzs Claves para el xito de un proyecto Software

25

Factores de Motivacin
Directivos
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Responsabilidad Realizacin Propio Trabajo Reconocimiento Posibilidad de Superacin Relaciones Personales (subordinados) Relaciones personales (igual nivel) Ascenso Salario Relaciones Personales (superiores) 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

Analista Programador
Realizacin Posibilidad de Superacin Propio Trabajo Vida Personal Oportunidad de ser supervisor tcnico Ascenso Relaciones personales (igual nivel) Reconocimiento Salario Responsabilidad

Software Engineering Economics (Boehm, 1981)

Javier Garzs Claves para el xito de un proyecto Software

Factores de Motivacin
Directivos
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Responsabilidad Realizacin Propio Trabajo Reconocimiento Posibilidad de Superacin Relaciones Personales (subordinados) Relaciones personales (igual nivel) Ascenso Salario Relaciones Personales (superiores) 1. 2. 3. 4. 5.

Analista Programador
Realizacin Posibilidad de Superacin Propio Trabajo Vida Personal Oportunidad de supervisin tcnica Ascenso Relaciones personales (igual nivel) Reconocimiento Salario Responsabilidad

UN DIRECTIVO RARA VEZ PODR MOTIVAR A LOS DESARROLLADORES DE IGUAL FORMA A COMO LE GUSTARA 6. 7. QUE A L LE MOTIVARAN
8. 9. 10.

Software Engineering Economics (Boehm, 1981)

Javier Garzs Claves para el xito de un proyecto Software

26

Principales Factores de Motivacin del Desarrollador

1. Realizacin Propiedad, realizacin de objetivos propios Definicin de objetivos Demasiadas prioridades, prioridades no claras 2. Posibilidad de superacin 3. Vida personal 4. Oportunidad de ser supervisor tcnico

Javier Garzs Claves para el xito de un proyecto Software

Destructores de la Moral
Manipulacin de la Directiva
Fechas falsas, explicacin sobre decisiones en planificacin, etc.

Presin excesiva en la planificacin


Fechas imposibles

Falta de apreciacin del esfuerzo Participacin de directivos sin preparacin tcnica No involucrar a los desarrolladores en las decisiones Barreras de la productividad Baja calidad

Javier Garzs Claves para el xito de un proyecto Software

27

Mitos de la Gestin de Proyectos

MITO 1 Trabajar Duro Produce alta Productividad

28

TRABAJAR DURO CREA ALTA PRODUCTIVIDAD

Ms vale inteligencia que fuerza Ms vale trabajar con inteligencia y fuerza Ms vale trabajar con inteligencia, fuerza y mucho

Javier Garzs Claves para el xito de un proyecto Software

La Realidad...

Esfuerzo

PROYECTO TPICO

Cdigo

Javier Garzs Claves para el xito de un proyecto Software

29

La Realidad...
Estrs Rotacin de Personal Planificacin Agresiva

Esfuerzo

PROYECTO TPICO

Cdigo Relaciones Tensas Capacidad Debilitada para prox. Proj.

Javier Garzs Claves para el xito de un proyecto Software

Ms vale trabajar con inteligencia, fuerza y mucho, la mayora de las veces significa trabajar de forma estpida Un alto porcentaje de proyectos gastan de un 40 a 80 % de su presupuesto en re-trabajo La mayora de los proyectos queman a sus desarrolladores

Javier Garzs Claves para el xito de un proyecto Software

30

MITO 2 Clientes y Gerentes quieren un desarrollo Rpido

Ellos no quieren un desarrollo rpido...

ellos quieren una entrega rpida

Otras formas de lograr una entrega rpida:


Comenzar pronto Hacer pequeos proyectos (hacer menos no ms rpido) Comprar el software ...

Javier Garzs Claves para el xito de un proyecto Software

31

MITO 3 El desarrollo de calidad, sistemtico, etc., baja la moral

Relacin Proceso de Calidad Moral del Desarrollador


Porcentaje de Empleados que Califican su Moral como Buena o Excelente
60% 50% 40% 30% 20% 10% 0% SW-CMM Level 1 SW-CMM Level 2 SW-CMM Level 3

Fuente: James Herbsleb, et al. "Software Quality and the Capability Maturity Model," Communications of the ACM,June 1997, pp. 30-40.

Javier Garzs Claves para el xito de un proyecto Software

32

Relacin Proceso de Calidad Moral del Desarrollador


Porcentaje de Empleados que Califican su Moral como Buena o Excelente

QU ES REALMENTE MALO PARA LA MORAL?


50% 40% 30% 20% 10% 0% SW-CMM Level 1 SW-CMM Level 2 SW-CMM Level 3

60%

Muchas horas Estrs Baja Productividad ...

Fuente: James Herbsleb, et al. "Software Quality and the Capability Maturity Model," Communications of the ACM,June 1997, pp. 30-40.

Javier Garzs Claves para el xito de un proyecto Software

MITO 4 En la era Internet todo es distinto

33

Estimacin Tradicional
(Tradicional) Esfuerzo Real

ESFUERZO
(Tradicional) Esfuerzo Estimado

TAMAO DEL SOFTWARE

Javier Garzs Claves para el xito de un proyecto Software

Estimacin en era Internet


(Tradicional = INTERNET) Esfuerzo Real

ESFUERZO
(Tradicional) Esfuerzo Estimado

(INTERNET) Esfuerzo Estimado

TAMAO DEL SOFTWARE

Javier Garzs Claves para el xito de un proyecto Software

34

Conclusin, Preguntas, Dudas, Crticas, etc.

35