20
Alex Ballarin / Colaborador BDigital [email protected] Barcelona Developers Conference 2011 Nov 17th - 19th MEJORANDO LA GESTIÓN DE LOS EQUIPOS DE DESARROLLO

Bcn Dev Conference - Mejorando la gestion de los equipos de desarrollo

Embed Size (px)

DESCRIPTION

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.

Citation preview

Page 1: Bcn Dev Conference - Mejorando la gestion de los equipos de desarrollo

Alex Ballarin / Colaborador [email protected]

Barcelona Developers Conference 2011

Nov 17th - 19th

MEJORANDO LA GESTIÓN DE LOS EQUIPOS DE DESARROLLO

Page 2: Bcn Dev Conference - Mejorando la gestion de los equipos de desarrollo

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.

Page 3: Bcn Dev Conference - Mejorando la gestion de los equipos de desarrollo

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

Page 4: Bcn Dev Conference - Mejorando la gestion de los equipos de desarrollo

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

Page 5: Bcn Dev Conference - Mejorando la gestion de los equipos de desarrollo

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…

- Desarrollo móvil: WiCast Mobile

- Tipo clientes: agencias del agua, aeropuertos, actividades y eventos al aire libre, etc.

Rafael Sanchez-Diezma, PhDHYDS CEO

Page 6: Bcn Dev Conference - Mejorando la gestion de los equipos de desarrollo

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.

Page 7: Bcn Dev Conference - Mejorando la gestion de los equipos de desarrollo

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

EMP

RES

A

Au

dit

ori

a in

icia

l

Soporte a todas las actividades

Procesos

Herramientas

H1 H2 H3

Au

dit

ori

a fi

nal

Debilidades yplan de mejora

Procesos, plantillas y herramientas

Informes intermedios de hito Certificado

Proyectos piloto

Todos los proyectos

¡Hay plazas disponibles para la edición de 2012!

Page 8: Bcn Dev Conference - Mejorando la gestion de los equipos de desarrollo

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 incorrectas

• Fuertes desviaciones decalendario

PP SP1.1PP SP1.2PP SP1.4REQM SP1.2

1. Estructurar el proceso y productos de requisitos y estimación

2. Estimar esfuerzos “ocultos” (riesgos, gestión, solución de bugs, testing...)

3. Ajustar el alcance de las iteraciones según las estimaciones preliminares

• Frecuentes interrupciones entre proyectos

PP SP3.1PP SP3.2PMC SP1.1PMC SP1.6

1. Planificar conjuntamente los sprints de todos los proyectos

2. Programar sólo el 80% del tiempo y reservar el 20% para “issues”

• No se prueba sistemáticamente

• Frecuentes errores en producción

PP SP1.1RD SP1.2REQM SP1.4VAL SP1.1VAL SP2.2

1. Reservar esfuerzo para las pruebas2. Usar una matriz de trazabilidad de

requisitos y casos de prueba3. Planificar y realizar las pruebas

unitarias, de integración y de interfaz

Page 9: Bcn Dev Conference - Mejorando la gestion de los equipos de desarrollo

BcnDevCon 2011 MEJORANDO LA GESTIÓN DE LOS EQUIPOS DE DESARROLLO

5. ¿Qué soluciones han encontrado las empresas? (II)

Nuevo desarrollo Prevención y test “solucionar” fallos

A. Aumentar el tiempo útil de desarrollo del 39% al 77% (1)

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/

Page 10: Bcn Dev Conference - Mejorando la gestion de los equipos de desarrollo

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.

Page 11: Bcn Dev Conference - Mejorando la gestion de los equipos de desarrollo

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 SCRUMProject 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

<Version> PDP Write project plan <Project Manager>Establish the CM plan

Establish the Configuration Management System

<Version> PDP Create and configure Jira project <Project Manager>

<Version> PDP Create and configure SubVersion repository <Project Manager>

<Version> PDP Internal Kick-off <Project Manager>Communicate project plan to the head management and

team members

<Version> PMC Project Monitoring and Control <Project Manager>

<Version> PMC Collect indicators and analyse deviations <Project Manager> Collect indicators and analyse deviations

<Version> PMC Revise project plan and analyse deviations <Project Manager>

Compare project progress and status with the plan and

analyse deviations

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

<Version> PMC Progress meeting with head management <Project Manager>

Planificate, Lead, Write minutes

Conduct weekly progress meeting with head

managementTrack change requests

<Version> PMC Milestone meeting <Project Manager> Prepare material, Planificate, Lead, Write minutes

<Version> PMC Change request meeting <Project Manager>Receive change requests

Status on change requests

<Version> PPQA Process and Product Quality Assurance <QA Officer>

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

<Version> PDP Write project plan <Project Manager>Establish the CM plan

Establish the Configuration Management System

<Version> PDP Create and configure Jira project <Project Manager>

<Version> PDP Create and configure SubVersion repository <Project Manager>

<Version> PDP Internal Kick-off <Project Manager>Communicate project plan to the head management and

team members

<Version> PMC Project Monitoring and Control <Project Manager>

<Version> PMC Collect indicators and analyse deviations <Project Manager> Collect indicators and analyse deviations

<Version> PMC Revise project plan and analyse deviations <Project Manager>

Compare project progress and status with the plan and

analyse deviations

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

<Version> PMC Progress meeting with head management <Project Manager>

Planificate, Lead, Write minutes

Conduct weekly progress meeting with head

managementTrack change requests

<Version> PMC Milestone meeting <Project Manager> Prepare material, Planificate, Lead, Write minutes

<Version> PMC Change request meeting <Project Manager>Receive change requests

Status on change requests

<Version> PPQA Process and Product Quality Assurance <QA Officer>

Vision, Scope, Wireframes,Análisis funcionalPlantillas OpenOffice Writer

Roadmap, wbs, descomposición tareasPlantilla OpenOffice Calc

Descomposión subtareas, reporte avance y esfuerzoAtlassian Jira

Seguimiento iteraciónAtlassian Jira

Script VBasic

Page 12: Bcn Dev Conference - Mejorando la gestion de los equipos de desarrollo

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

Page 13: Bcn Dev Conference - Mejorando la gestion de los equipos de desarrollo

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

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

Estimación compleja (p.e. Puntos función) Estimación ágil (p.e. Planning Poker)

Page 14: Bcn Dev Conference - Mejorando la gestion de los equipos de desarrollo

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 DISTRICTETECNOLÒGIC 22@ DEBARCELONA

Page 15: Bcn Dev Conference - Mejorando la gestion de los equipos de desarrollo

BcnDevCon 2011 MEJORANDO LA GESTIÓN DE LOS EQUIPOS DE DESARROLLO

9. BDigital (II): Miembros del Patronato

Page 16: Bcn Dev Conference - Mejorando la gestion de los equipos de desarrollo

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.

Page 17: Bcn Dev Conference - Mejorando la gestion de los equipos de desarrollo

BcnDevCon 2011 MEJORANDO LA GESTIÓN DE LOS EQUIPOS DE DESARROLLO

10. Preguntas y respuestas

Alex Ballarin / Colaborador BDigital

[email protected]

[email protected]

Page 18: Bcn Dev Conference - Mejorando la gestion de los equipos de desarrollo

BcnDevCon 2011 MEJORANDO LA GESTIÓN DE LOS EQUIPOS DE DESARROLLO

A. Mejor proceso son menos errores y más rentabilidad

Page 19: Bcn Dev Conference - Mejorando la gestion de los equipos de desarrollo

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 €

Page 20: Bcn Dev Conference - Mejorando la gestion de los equipos de desarrollo

GRACIAS!

Barcelona Developers Conference 2011

Nov 17th - 19th

MEJORANDO LA GESTIÓN DE LOS EQUIPOS DE DESARROLLO