Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccin
Antecedentes
1. 2. 3. Estadsticas globales de fracaso en proyectos de software (74%) Errores cometidos / observados Prcticas exitosas observadas en la comunidad
Objetivos
1. 2. 3. 4.
Compartir soluciones prcticas a problemas tpicos Proponer un modelo progresivo de buenas prcticas en 4 niveles, cada uno respaldado por una metodologa madura (herramienta). Profundizar en los aspectos donde se presentan fallas crticas/frecuentes y las metodologas no detallan soluciones. Las metodologas y conceptos expuestos se seleccionaron con base en su robustez y validez prctica frente a otras alternativas similares. No exponer las metodologas, sino optimizar su uso.
5.
Introduccin
Premisas Principales
1. 2. 3. La Ingeniera de Software (SE) como ciencia precisa. (Basada en hechos y datos /cuantificable) Mejoramiento continuo (plan-do-check-act) Las metodologas como herramientas para ordenar y simplificar (garantizar el xito)
4.
Introduccin
Premisas Secundarias
1.
2. 3.
4.
5.
6. 7.
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
2.
3.
Tiempo y Materiales (T&M). Se recomienda que lo ejecute una empresa CMMI 4 (o con infraestructura similar) ya que demanda 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. 2. 3. 4. Ingeniero de Desarrollo = Concentracin + Pensamiento lgico-analtico Arquitecto = Pensamiento Abstracto + Capacidad de aprendizaje e investigacin. Especificacin de requerimientos y pruebas = Organizado, metdico, orientado al detalle. PM = Liderazgo + Comunicacin (verbal y escrita), visin global.
* Estadsticamente a 1 y 2 le faltan las caractersticas de 3 y 4 y viceversa. Motivacin es el arte y la ciencia de identificar y potenciar lo mejor de cada persona de su equipo, independiente de su cargo, preferencias y relaciones personales. Mantenga un ritmo de trabajo alto y constante, priorice el inicio del proyecto ya que existen ms incertidumbre y riesgos.
1. 2. 3. 4.
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
Es ms sencillo y flexible planear de forma progresiva (Plan proyecto + plan detallado por iteracin) Duracin recomendada para las iteraciones = 4 8 semanas
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. Oriente y cuantifique los resultados hacia sus necesidades (Quiz, paper, prueba de concepto?).
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.
Acuerde previamente con el cliente que escenarios dispararan un control de cambio contractual.
Si un evento genera un control de cambio que afecte el alcance del proyecto, alguien debe asumir el costo. Si no es su culpa, no la asuma, recuerde que todo debe estar sustentado con hechos y datos.
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.
Pensar en grande, hacer en pequeo. La arquitectura debe ser genrica siempre, el desarrollo del sistema debe implementar los requerimientos.
Similar al concepto de normalizacin relacional en 12 niveles de CODD. Los frameworks simplifican la tarea de normalizacin por que internamente se basan en patrones y buenas prcticas. Existe la tendencia equivocada de sobre-crear patrones y por principio estos no son patrones. Las evoluciones de OOP son COP, IOC, SOC y las corrientes ms prometedoras son AOP, MDA, SOA. 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.
Que pasara si la liebre fuera tan organizada, juiciosa y constante como la tortuga?...
2.
2.
3.
Cronograma Individual. Mide la variacin entre la duracin real y estimada de las actividades del cronograma
Mtricas y reportes peridicos.
No se comprometa a realizar algo sobre lo cual no posee informacin y por tanto no puede garantizar
Competir con calidad y cantidad Calidad = Interiorizar la cultura del mejoramiento continuo Cantidad = Supere el mito del esclavo Saque el mejor partido de sus habilidades e intereses. No todo desarrollador debera terminarcomo PM o arquitecto.
3. Conclusiones
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.
2. 3. 4. 5.
6.
(Inicialmente compuestas por comits de gerentes y arquitectos hasta que la evolucin de la compaa amerite un encargado por rea.)
Conclusiones CMMI:
8. La compaa debe tener un norte anual representado en su Plan Estratgico: 1. 2. 3. 4. 5. 6. 9. 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)
Modelo Propuesto: 1. 2. 3. 4. 5. PSP RUP PMI CMMI Six Sigma (corresponde a una metodologa integral de optimizacin de procesos con una base estadstica, alcanza su mxima utilidad al nivel 5 de CMMI)
10.
Siglas y Abreviaturas I
PMI = Project Management Institut PM = Project Manager Q-$-t = Triple Restriccin (calidad-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 Integration
Siglas y Abreviaturas II
OOP = Object Oriented Programming. COP = Component Oriented Programming. SOC = Separation Of Concerns. IOC = Inversion Of Control. MDA = Model Driven Architecture. SOA = Service Oriented Architecture. AOP = Aspect Oriented Programming.
Finalmente