Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccin
Antecedentes
1. 2. Estadsticas globales de fracaso en proyectos de software Errores cometidos y observados
Objetivos
1. 2. Compartir soluciones prcticas a problemas tpicos Proponer un modelo progresivo de buenas prcticas en 4 niveles (cada uno respaldado por una metodologa madura). Profundizar en cada nivel en los aspectos crticos donde se presentan fallas o la metodologa no detalla.
3.
Introduccin
Premisas Principales
1. La Ingeniera de Software (SE) como ciencia precisa, basada en hechos y datos (cuantificable).
2.
3.
4.
Introduccin
Premisas Secundarias 1. Administracin y control del Alcance 2. Ayudarse con la metodologa de desarrollo 3. Normalizacin Arquitectnica 4. Sacar ventaja de las pruebas 5. PSP como base de un proceso maduro 6. Papel de la organizacin en los proyectos
Siglas y Abreviaturas
PMI = Project Management Institut PM = Project Manager Q-S-$-t = Triple Restriccin (calidad-Alcance-Costo-Tiempo) Proc = Procurement = adquisiciones y compras HR = Recursos Humanos COMM = Comunicacin EVA = Earned Value Analisys FP = Fixed Price, contratos a precio fijo T&M = Contratos donde el cliente paga al final de cada etapa segn el tiempo y materiales invertidos en desarrollar el producto. KLOC = K = mil, LOC = Lneas de cdigo RUP = Rational Unified Process (Modelo Unificado de desarrollo propuesto por Rational Corp.) CU = Caso de Uso
PSP = Personal Software Process SEI = Software Engineering Institut CMMI = Capability Maturity Model Integrated
4. 5. 6. 7. 8. 9.
Actividades de Monitoreo y Ctrl Admin. de Riesgos Ctrl. de cambios Toma de Decisiones Alcance de la Calidad Actividades de Cierre
Las causas ms comunes de fallo en proyectos de software son la falta de administracin del alcance, la comunicacin con el cliente y el manejo de los recursos humanos (S-Comm-HR).
2.
3.
Tiempo y Materiales (T&M). Se recomienda que lo ejecute una empresa CMMI 4 ya que requiere una infrainstructura para cuantificar y controlar el esfuerzo de desarrollo del proyecto.
El proyecto lo implementan los recursos del equipo.. Proceso de seleccin: 1. Evaluacin de Conocimientos (pruebas tcnicas) 2. Evaluacin de Experiencia (aos de experiencia especfica) 3. Evaluacin de Actitud (pruebas psicolgicas + 2 entrevistas cruzadas (PM, HR) ) Las pruebas psicolgicas se deben disear con base en el perfil y el cargo: 1. Ingeniero de Desarrollo = Concentracin + Pensamiento lgico-analtico 2. Arquitecto = Pensamiento Abstracto + Capacidad de aprendizaje e investigacin. 3. 4. Especificacin de requerimientos y pruebas = Organizado, metdico, orientado al detalle. PM = Liderazgo + Comunicacin (verbal y escrita), visin global.
o o o
Cada elemento tiene complejidad 1-5. A la informacin histrica NO se le debe calcular holgura (ya la incluye) La recoleccin de informacin termina al generar las tablas de performance de la organizacin
o o o o
Es ms sencillo y flexible planear de forma progresiva (Plan proyecto + plan detallado por iteracin) Duracin recomendada para las iteraciones = 4 8 semanas WBS
Plan de Aceptacin
Plan de Comunicacin Planeacin Iterativa Tipo de contrato Juegue con reglas claras: Incluya en sus planes riesgos, restricciones y precondiciones. Revisiones Peridicas Formales (semanales fase, tcnicas, funcionales y
administrativas)
Medicin de la Estabilidad del Proceso. Cantidad de cambios registrados al alcance (requerimientos, ajustes al cronograma, controles de cambio, etc..)
Identifique el esfuerzo en entrenamiento y cuantifique los resultados (Quiz?).
Actividades de Administracin de Riesgos Identifique y agrupe los riesgos: De proyecto Tcnicos Funcionales Documento Pendientes. Genere un formato de hoja de clculo donde cada miembro del equipo registre (da a da) la informacin pendiente para cumplir su trabajo. Debe incluir tipo, descripcin, fecha ingreso, estado, responsable, respuesta. El manejo de riesgos es netamente preventivo y como tal se debe informar e involucrar activamente al cliente.
6. Toma de Decisiones Se debe basar en una metodologa que evite conflictos de intereses personales como Weighted Score Model: 1. Identifique los factores que intervienen en la decisin y asigneles un peso o prioridad Asigne un puntaje a cada factor Sume el total de cada alternativa. Se escoge la alternativa con mayor puntaje acumulado
Tipo Herramienta Release estable Se basa en tecnologas WS Profundidad Documenta cin Enrutamiento e invocacin dinmica de servicios web Procesamiento Sncrono / asncrono Incluye implementa ciones de ServicePro viders / Handlers TOTAL
0,2 1 0
0,6 0,6 0
1 0 1
0,4 0,6 1
1 0,6 1
0,1
0,5
0,5
0,5
0,5
0,1
0,5
0,5
0,5
0,5
2.
0,1 0,5 0,5 0,5 0,25 0,5
3. 4.
0,1
0,3
0,4
0,4
0,5
2,2
3,4
3,65
4,6
El costo de la calidad TOTAL es muy alto (no se puede identificar que es peor, la cura o la enfermedad).
En proyectos de software, calidad es sinnimo de estabilidad no de mejoras o adiciones a los requerimientos acordados (Gold Plating).
8. Actividades de Cierre PMI recomienda que en cada ciclo terminado de un proyecto se registren las lecciones aprendidas (embarradas cometidas).
La planeacin y control del proyecto se simplifica al dividirlo en Iteraciones cortas (4-8 semanas). El resultado de cada iteracin debe ser una versin ejecutable del sistema. El cliente percibe resultados ms rpido y puede retroalimentar de forma ms efectiva.
Cada fase consta de iteraciones de su mismo tipo (p.e. IC1, IC2, IC3, corresponden a iteraciones de la fase de construccin).
7.
8.
9.
10. La mtrica recomendada para adoptar RUP es usar las disciplinas en proyectos cortos hasta institucionalizarla en la compaa.
Un ejemplo sera iniciar usando las disciplinas de administracin en un primer proyecto. En un segundo proyecto incluir el grupo de business Modeling y Requirements. En un tercer proyecto adicionar Analisis & Design En un cuarto proyecto adicionar Implementation & Testing En un quinto proyecto usar todas las disciplinas.
16.
17.
18. 19. 20. 21. 22.
Pensar en grande, hacer en pequeo. La arquitectura debe ser genrica siempre, el desarrollo del sistema debe implementar los requerimientos.
Los frameworks simplifican la tarea de normalizacin por que internamente se basan en patrones y buenas prcticas. De las metodologas de diseo resaltan COP, IOC, SOC originadas a partir de los proyectos open source de Apache. Las corrientes ms prometedoras son AOP, MDA, SOA. Existe la tendencia equivocada de sobre-crear patrones y por principio estos no son patrones. Todas las metodologas de modelamiento de software se pueden abstraer en una nica metodologa (basada en meta-patrones y roles). Cuando se llegue a ese nivel de madurez se podr automatizar la generacin de cdigo a partir del modelo requerimientos (ver GeneXus).
3.
4.
Artefactos Requeridos 1. 2. 3. 4. 5. Plan de Pruebas Plan de Aceptacin Casos y escenarios de Prueba Reporte de Defectos Resumen Ciclo de Pruebas
2.
2.
2.
3.
Cronograma Individual. Mide la variacin entre la duracin real y estimada de las actividades del cronograma
Mtricas de Productividad.
Calidad = Interiorizar la cultura del mejoramiento continuo Cantidad = Superar el mito del esclavo Saque el mejor partido de sus habilidades e intereses. No todo desarrollador debera terminarcomo PM o arquitecto.
2.
3.
3.
Se pueden escoger 2 rutas de mejoramiento para llegar a N5. Evolucionar por nivel (todas las PA del nivel deben ser nivel 5 - CMM). Evolucionar por PA (se define un plan de evolucin donde se priorizan unas PA de diferentes niveles segn conveniencia - CMMI).
Conclusiones CMMI:
1. La estructura de una empresa de software debera empezar de forma orientada a procesos. Cuando la empresa produzca un producto comercial se incluyen elementos de organizacin funcional. A medida que se adopta el modelo CMMI se alcanza una organizacin de tipo Matriz Balanceada. En la parte tcnica se recomienda separar una Oficina de Proyectos de la Gerencia de Tecnologa. Inicialmente compuestas por comits de gerentes y arquitectos hasta que la evolucin de la compaa amerite un encargado por rea. La compaa debe tener un norte anual representado en su Plan Estratgico. En este se estipula:
1. 2. 3. 4. 5. 6. Mercados, industrias y clientes a atacar Generacin de nuevos productos o estrategias de comercializacin de los existentes Plan de calidad (mejoramiento continuo) Plan de costos Plan de Capacitacin ***Crecimiento proyectado (mejorar vs. crecer)
2.
3.
4.
Modelo Integrado:
1. 2. 3. 4. 5. PSP RUP PMI CMMI Six Sigma (corresponde a una metodologa integral de optimizacin de procesos con una base estadstica, se integra al nivel 5 de CMMI)
5.
Finalmente