Explicamos como Bdigital ayuda a las PYMES TIC a certificar su calidad en gestión de proyectos y desarrollo de software con CMMI, SCRUM, etc. en el marco del Plan Avanza.
2. BcnDevCon 2011 MEJORANDO LA GESTIÓN DE LOS EQUIPOS DE DESARROLLO
Abstract
La tecnología para el desarrollo y ejecución de aplicaciones mejora de forma
imparable. Cada vez es más accesible desarrollar proyectos con tecnologías como 2.0,
SOA, Redes Sociales, desarrollo móvil, multimedia, etc. tanto con plataformas
propietarias y de código abierto.
Esto permite a los equipos de desarrollo lanzarse a proyectos complejos y ambiciosos,
y en algunas ocasiones "mueren de éxito". El exceso de trabajo suele traer proyectos
que incumplen fechas de entrega, presentan problemas de calidad y dejan a los
clientes posiblemente insatisfechos aún cuando se cumplen los objetivos técnicos.
En esta sesión se quiere presentar cuales son los beneficios de la mejora de procesos,
basada en modelos estándares como CMMI y SPICE, y perfectamente compatibles con
metodologías ágiles como Scrum y XP, y otras como RUP, OpenUp, Métrica 3, Esprit,
MaqDSI y similares.
Se mostrará la experiencia de BDigital y Cynertia trabajando con Pimes TIC en
ediciones del Plan Avanza desde 2008, que ha permitido a dichas organizaciones
mejorar la calidad de sus proyectos, hacerlos más rentables y a la vez crecer para
abordar desafíos mayores.
3. BcnDevCon 2011 MEJORANDO LA GESTIÓN DE LOS EQUIPOS DE DESARROLLO
Contenidos
1. ¿Qué es pues CMMI?
2. Perfiles de empresas que han mejorado sus procesos
3. ¿Cuáles son sus problemas habituales?
4. Fases y actividades del proyecto CMMI
5. ¿Qué soluciones han encontrado las empresas?
6. Ejemplos: integración de CMMI con SCRUM
7. Ejemplos: herramientas populares implementadas
8. Ejemplos: implementación ágil de prácticas
9. BDigital: qué ofrece?
10. Preguntas y respuestas
4. BcnDevCon 2011 MEJORANDO LA GESTIÓN DE LOS EQUIPOS DE DESARROLLO
1. ¿Qué es pues CMMI?
• Mejores prácticas: el QUÉ, no el CÓMO
• Adaptable a cualquier metodología
• Flexible: de 5 a 5000 trabajadores
• Ser consistente sin perder agilidad
• Facilita la mejora continua
• Acceso libre al contenido
5. BcnDevCon 2011 MEJORANDO LA GESTIÓN DE LOS EQUIPOS DE DESARROLLO
2. Perfiles de empresas que han mejorado sus procesos
Hyds.es: Spin-off de la UPC, ofrece soluciones
avanzadas de hidrometeorología personalizada.
Perfiles:
- Doctores / investigadores universitarios
- Jefes de proyecto
- Programadores JS, PHP, IDL, Java, Symfony, iOS…
Productos:
- Desarrollos web: WiCast, WiGolf, WiSAM, HiWAT… Rafael Sanchez-Diezma, PhD
HYDS CEO
- Desarrollo móvil: WiCast Mobile
- Tipo clientes: agencias del agua, aeropuertos, actividades y eventos al
aire libre, etc.
6. BcnDevCon 2011 MEJORANDO LA GESTIÓN DE LOS EQUIPOS DE DESARROLLO
3. ¿Cuáles son sus problemas habituales?
1. No sabemos bien el esfuerzo de desarrollo y se nos alargan
las iteraciones (p.e. de 2 meses previstos a 7 reales).
Estimamos por intuición, y aunque nos desviamos algo en
esfuerzo, la desviación en calendario es mucho mayor.
2. Hay muchas interrupciones para los programadores
compartidos entre varios proyectos.
Eso hace que frecuentemente no podamos cumplir la
dedicación semanal planificada.
3. No probamos de manera sistemática, y eso nos provoca
demasiados errores en producción.
Hacemos algunas pruebas unitarias y el jefe de proyecto
prueba las funcionalidades, pero no sistemáticamente.
7. BcnDevCon 2011 MEJORANDO LA GESTIÓN DE LOS EQUIPOS DE DESARROLLO
4. Fases y actividades del proyecto (I)
DIAGNOSTICO DESARROLLO SOLU. PILOTAJE DESPLIEGUE CERTIFICACIÓN
H1 H2 H3
Auditoria inicial
Auditoria final
Soporte a todas las actividades
EMPRESA
Procesos Proyectos Todos los
Herramientas piloto proyectos
Debilidades y Procesos, plantillas y Informes intermedios de hito Certificado
plan de mejora herramientas
¡Hay plazas disponibles para la
edición de 2012!
8. BcnDevCon 2011 MEJORANDO LA GESTIÓN DE LOS EQUIPOS DE DESARROLLO
5. ¿Qué soluciones han encontrado las empresas? (I)
PROBLEMA CMMI SOLUCIÓN (PRINCIPAL)
• Estimaciones de esfuerzo PP SP1.1 1. Estructurar el proceso y productos
incorrectas PP SP1.2 de requisitos y estimación
• Fuertes desviaciones de PP SP1.4 2. Estimar esfuerzos “ocultos” (riesgos,
calendario REQM SP1.2 gestión, solución de bugs, testing...)
3. Ajustar el alcance de las iteraciones
según las estimaciones preliminares
• Frecuentes interrupciones PP SP3.1 1. Planificar conjuntamente los sprints
entre proyectos PP SP3.2 de todos los proyectos
PMC SP1.1 2. Programar sólo el 80% del tiempo y
PMC SP1.6 reservar el 20% para “issues”
• No se prueba PP SP1.1 1. Reservar esfuerzo para las pruebas
sistemáticamente RD SP1.2 2. Usar una matriz de trazabilidad de
• Frecuentes errores en REQM SP1.4 requisitos y casos de prueba
producción VAL SP1.1 3. Planificar y realizar las pruebas
VAL SP2.2 unitarias, de integración y de interfaz
9. BcnDevCon 2011 MEJORANDO LA GESTIÓN DE LOS EQUIPOS DE DESARROLLO
5. ¿Qué soluciones han encontrado las empresas? (II)
A. Aumentar el tiempo útil de desarrollo del 39% al 77% (1)
Nuevo desarrollo Prevención y test “solucionar” fallos
B. Mejorar la calidad y rentabilidad de los proyectos (2)
Métrica Valor Métrica Valor
Retorno de la inversión (ROI) 4.6 : 1 Reducción del retrabajo - 60 %
Duración de proyectos - 32.6 % Aumento productividad 57 %
Mejora de calidad (bugs) - 48 % Reducción del coste del proyecto - 30 %
(1) Raytheon Electronic Systems Experience in Software Process Improvement, CMU/SEI-95-TR-017, 11/1995
(2) DACS Report 2007. https://www.thedacs.com/databases/roi/
10. BcnDevCon 2011 MEJORANDO LA GESTIÓN DE LOS EQUIPOS DE DESARROLLO
6. Ejemplos: integración de CMMI con SCRUM
¿Por qué SCRUM no sólo es compatible, sino que
funciona mejor conjuntamente con CMMI?
1. CMMI ayuda a identificar y mantener las mejoras en los
procesos de manera objetiva y sostenible.
2. Los procesos se definen y mantienen estables cuando la
organización crece, rota o hay épocas de alta carga de trabajo.
3. Normaliza la realización de las actividades, ayuda a que el
trabajo sea más repetible y se reutilice mejor el conocimiento.
4. La gestión más detallada de los requisitos mejora la estabilidad
de las estimaciones, planificaciones, pruebas, etc.
11. BcnDevCon 2011 MEJORANDO LA GESTIÓN DE LOS EQUIPOS DE DESARROLLO
7. Ejemplos: herramientas populares implementadas (I)
Automatización de la gestión del Roadmap y la iteración SCRUM
Project Key <Project Key>
Project manager <Project Manager>
Version <Version>
Feature Requirement set Summary Assignee Estimated hours Description Jira (1=yes)
<Version> Iteration <Version> <Project Manager>
<Version> PDP Project Definition and Planification <Project Manager>
<Version> PDP Elaborate tender <Project Manager>
<Version> PDP Specify requirements <Project Manager>
<Version> PDP Review requirements for commitment <Project Manager>
<Version> PDP Estimate effort and cost <Project Manager> Fill HYDS_roadmap and WBS document for the project
Establish the CM plan
<Version> PDP Write project plan <Project Manager>
Establish the Configuration Management System
<Version> PDP Create and configure Jira project <Project Manager>
<Version> PDP Create and configure SubVersion repository <Project Manager>
Communicate project plan to the head management and
<Version> PDP Internal Kick-off <Project Manager>
team members
<Version> PMC Project Monitoring and Control <Project Manager>
<Version> PMC Collect indicators and analyse deviations <Project Manager> Collect indicators and analyse deviations
Compare project progress and status with the plan and
analyse deviations
<Version> PMC Revise project plan and analyse deviations <Project Manager>
Maintain the CM plan
Maintain the Configuration Management System
<Version> PMC Progress meeting with team members <Project Manager>
Planificate, Lead, Write minutes
Conduct weekly progress meeting with team members
Track change requests
Planificate, Lead, Write minutes
Script VBasic
<Version> PMC Progress meeting with head management <Project Manager> Conduct weekly progress meeting with head
managementTrack change requests
<Version> PMC Milestone meeting <Project Manager> Prepare material, Planificate, Lead, Write minutes
Receive change requests
<Version> PMC Change request meeting <Project Manager>
Status on change requests
<Version> PPQA Process and Product Quality Assurance <QA Officer>
Roadmap, wbs, descomposición tareas
Plantilla OpenOffice Calc
Vision, Scope, Wireframes,
Análisis funcional Descomposión subtareas, reporte
Plantillas OpenOffice Writer avance y esfuerzo
Atlassian Jira
Seguimiento iteración
Atlassian Jira
12. BcnDevCon 2011 MEJORANDO LA GESTIÓN DE LOS EQUIPOS DE DESARROLLO
7. Ejemplos: herramientas populares implementadas (II)
Recordemos: ¡no se trata de hacerlo igual de mal, pero más rápido!
Comercial / Coste Código abierto / gratuita
Planificación y seguimiento
del proyecto (tareas)
Documentación / Wiki
Control de versiones de
código (y documentos)
Testing
Montaje e integración
contínua
13. BcnDevCon 2011 MEJORANDO LA GESTIÓN DE LOS EQUIPOS DE DESARROLLO
8. Ejemplos: implementación ágil de prácticas
PP.SP 1.2 Establecer estimaciones de productos de trabajo y tareas
Estimación compleja (p.e. Puntos función) Estimación ágil (p.e. Planning Poker)
Story Story points Effort (h)
As a user, I want to search for my customers by their first… 4 27
User Story 2 8 54
User Story 3 16 108
···
Total effort (h) 28 199
x 6,75
14. BcnDevCon 2011 MEJORANDO LA GESTIÓN DE LOS EQUIPOS DE DESARROLLO
9. BDigital (I): Quiénes somos ?
Barcelona Digital Centre Tecnològic (BDigital)
es un centro tecnológico avanzado
especializado en la aplicación de las
Tecnología de la Información y la
Comunicación (TIC)
EDIFICI MEDIA-TIC,
AL COR DEL DISTRICTE
TECNOLÒGIC 22@ DE
BARCELONA
15. BcnDevCon 2011 MEJORANDO LA GESTIÓN DE LOS EQUIPOS DE DESARROLLO
9. BDigital (II): Miembros del Patronato
16. BcnDevCon 2011 MEJORANDO LA GESTIÓN DE LOS EQUIPOS DE DESARROLLO
9. BDigital (III): ¿Cómo os ayuda con el proyecto?
• Soporte técnico y consultoría para la certificación en CMMI.
• Disponibilidad actual de ayuda económica (AVANZA) 2011 – 2012
ACCESO A SUBVENCIÓN DE HASTA 22.000 € (!) para la empresa.
• Búsqueda de financiación para el período 2012-2013.
• Interlocución con el Ministerio.
• Experiencia des del año 2008.
• Acompañamiento para la certificación a más de 20 empresas.
17. BcnDevCon 2011 MEJORANDO LA GESTIÓN DE LOS EQUIPOS DE DESARROLLO
10. Preguntas y respuestas
Alex Ballarin / Colaborador BDigital
ballarin@bdigital.org
a.ballarin@cynertiaconsulting.com
18. BcnDevCon 2011 MEJORANDO LA GESTIÓN DE LOS EQUIPOS DE DESARROLLO
A. Mejor proceso son menos errores y más rentabilidad
19. BcnDevCon 2011 MEJORANDO LA GESTIÓN DE LOS EQUIPOS DE DESARROLLO
B. Proyecto Plan Avanza: Esquema de financiación
• Duración aproximada del proyecto: 1 año.
Dirección de proyecto: 3.000 €
Consultoría y evaluación SCAMPI: 34.725 €
Formación: 2.000 €
Total: 39.725 €
Ayuda aproximada: > 18.725 €
Total neto (aprox.): 21.000 €