© FATTO Consultoría y Sistemas - www.fattocs.com
Manejo de contratos de fábrica de software con SCRUM vía puntos de función
1
© FATTO Consultoría y Sistemas - www.fattocs.com 2
Agenda
Motivación
El contexto SCRUM
Retos para contratos de desarrollo
El contexto de los puntos de función
Contrato SCRUM con puntos de función
Cierre
© FATTO Consultoría y Sistemas - www.fattocs.com 3
Motivación
Es común el uso del término “proceso ágil” como una antítesis de procesos tradicionales como el RUP
Aunque esta visión no sea correcta, la adopción de muchos en el mercado por el RUP en una estrategia secuencial (o cascada) refuerza esta idea
Sin embargo, Ágil es mucho más que esta antítesis
© FATTO Consultoría y Sistemas - www.fattocs.com 5
Motivación
Hoy las metodologías agiles se han destacado en el mercado de desarrollo de software. SCRUM tal vez sea la más popular
Considerando que se hace el uso cada vez más intenso de servicios externos de desarrollo de software, ¿cómo manejar proveedores utilizando SCRUM?
© FATTO Consultoría y Sistemas - www.fattocs.com 6
Cuidado: ¡no hay bala de plata!
Simplemente cambiar la metodología de desarrollo de software con el proveedor difícilmente solucionará los problemas
La adopción de la filosofía ágil implica en cambios culturales en toda las partes de la organización involucradas en el desarrollo de software, no sólo el área de TI
© FATTO Consultoría y Sistemas - www.fattocs.com 8
¿Qué es SCRUM?
Es un proceso de desarrollo iterativo e incremental (o creciente) para la gestión y el desarrollo de proyectos de software
Equipos pequeños: 3-9 personas
Ciclos de entrega cortos
© FATTO Consultoría y Sistemas - www.fattocs.com 9
Product Backlog
La Lista de Producto es una lista ordenada (y dinámica, cambia constantemente) de todo los requisitos del producto, y es la única fuente de requisitos para cualquier cambio a realizarse en éste
www.scrum.org/Portals/0/Documents/Scrum%20Guides/2013/Scrum-Guide-ES.pdf
© FATTO Consultoría y Sistemas - www.fattocs.com 10
Historia de Usuario
Es una especificación de requisito escrito en una o dos frases en lenguaje común del usuario, acompañadas de las discusiones con él y las pruebas de validación
Formato:
– Como (rol) quiero (algo) para poder (beneficio)
– Ej.: Como alumno quiero reservar un libro para poder estudiar
Es el ítem más utilizado en la Lista de Producto
http://es.wikipedia.org/wiki/Historias_de_usuario
© FATTO Consultoría y Sistemas - www.fattocs.com 11
Sprint
El corazón de Scrum es el Sprint. Es un bloque de tiempo (time-box) de un mes o menos durante el cual se crea un incremento de producto “Terminado”, utilizable y potencialmente desplegable
© FATTO Consultoría y Sistemas - www.fattocs.com 12
Sprint Backlog
La Lista de Pendientes del Sprint es el conjunto de elementos de la Lista de Producto seleccionados para el Sprint, más un plan para entregar el incremento de producto y conseguir el Objetivo del Sprint
© FATTO Consultoría y Sistemas - www.fattocs.com 13
Micro Estimaciones
La dinámica del SCRUM se caracteriza por microestimaciones
– De los Sprints
– De las Historias de Usuario
– Estimaciones Botton-up
Una de las estrategias más populares de estimación enequipos ágiles son los Puntos de Historia (Story Points)
© FATTO Consultoría y Sistemas - www.fattocs.com 14
Puntos de Historia (Story Points)
Es una evaluación de manera relativa de las historias deusuario en cuanto a: complejidad, esfuerzo, duraciónriesgo
– Se selecciona una historia de usuario para asignarle unacomplejidad nominal que servirá de referencia para catalogar alresto de historias de usuario
– Basada en la experiencia del equipo y analogía con otrashistorias
Resultados con significado solo para el propio equipo
Medida subjetiva
No se puede comparar los puntos de historia medidos porun equipo con los de otros equipos
© FATTO Consultoría y Sistemas - www.fattocs.com 16
Metas al definir un modelo de contrato
Cumplir con las exigencias de gobierno corporativo
– Transparencia y eficiencia
Gestionar basado en resultados entregados. No secontrata mano de obra, se contrata la entrega deproductos de software
Un modelo de contratación sin la estrategia adecuadaserá poco eficiente y poco transparente
© FATTO Consultoría y Sistemas - www.fattocs.com 17
Dificultades para manejo del contrato
¿Cómo saber cuanto se estima gastar en el proyecto queserá iniciado?
¿Cómo pagar por los servicios entregados?
¿Cómo pagar por los cambios a lo largo del proyecto?
© FATTO Consultoría y Sistemas - www.fattocs.com 18
¿Cuánto se gastará en el proyecto?
Desde una perspectiva económica, todo proyecto antesde ser iniciado debe pasar por un análisis de costo xbeneficio
– Un presupuesto abierto no permite esto
– #noestimates no se aplica a este caso
Utilizar puntos de historia en este momento no seriaadecuado
– Es una medida subjetiva de un equipo
– El equipo casi siempre no está definida en este momento
Resta entonces buscar otro método de estimación
© FATTO Consultoría y Sistemas - www.fattocs.com 19
¿Cómo pagar por los servicios?
Hora trabajada
– Sin garantía al cliente de que el proveedor busca serproductivo
– Necesita una gestión más intensa del cliente sobre elequipo, sin embargo genera conflicto con la filosofíaSCRUM de equipos auto-organizados
Puntos de historia entregados
– ¿Cómo definir un precio si la medida es subjetiva?
– En cada equipo y cada proyecto el punto de historia tendríaun valor distinto
Mejor buscar una unidad de medida estándar
© FATTO Consultoría y Sistemas - www.fattocs.com 20
¿Cómo pagar por los cambios?
Partes del Manifiesto Ágil
– “Software funcionando sobre documentación extensiva”
– “Respuesta ante el cambio sobre seguir un plan”
– “Aceptamos que los requisitos cambien, incluso en etapastardías del desarrollo. Los procesos Ágiles aprovechan elcambio para proporcionar ventaja competitiva al cliente.”
No se esperan requerimientos detallados
Los requerimientos son refinados a lo largo del desarrollovía “cambios” frecuentes
En la gestión tradicional todo cambio impacta costo,¿significa que el proyecto ágil se quedará más caro?
© FATTO Consultoría y Sistemas - www.fattocs.com
Método de medición de las funcionalidades de unsoftware desde el punto de vista del usuario
– Donde Usuario es cualquier persona o cosa que se comunica ointeractúa con el software en cualquier momento
– El análisis no considera ningún aspecto deimplementación de la solución
– Medida objetiva; con un conjunto de reglas replicables
¿Qué es la Medición Funcional de Software?
22
© FATTO Consultoría y Sistemas - www.fattocs.com
Medición Funcional de Software
23
ISO/IEC 14143
Métodos: IFPUG (ISO/IEC 20926)COSMIC (ISO/IEC 19761)NESMA (ISO/IEC 24570)MARK II (ISO/IEC 20968)FISMA (ISO/IEC 29881)
Est
ándar
Measuring ApplicationDevelopment Productivity: Allan J. Albrecht, publicado en 1979
Estudio de Productividad en IBM
FPA: Function Point Analysis o Análisis de Puntos de Función (APF)
Origen
© FATTO Consultoría y Sistemas - www.fattocs.com
Todo lo que es hecho con puntos de historia puede serhecho también con puntos de función
– Sin embargo, si esto ya funciona bien, no se necesita cambiar apuntos de función. Se puede seguir haciendo el controloperativo del proyecto con puntos de historia
– Utilizar los dos tiene como ventaja la posibilidad de conciliar lasestimaciones hecha por cada uno de ellos, asegurando máscalidad a la estimación
– La ventaja de cambiar de método es utilizar una medida objetiva(puntos de función) en lugar de una subjetiva (puntos dehistoria)
SCRUM con APF
25
© FATTO Consultoría y Sistemas - www.fattocs.com
Más allá de puntos de historia
Los puntos de función soportan una visión Táctica yEstratégica sobre el desarrollo de software, puntos dehistoria sólo soporta visión operacional
Visión Operacional (nivel del proyecto)
– Equipo
– Ej.: Planificación, seguimiento y control de proyectos
Visión Táctica y Estratégica (nivel organizacional)
– Media y alta administración, PMO
– Ej.: Seguimiento y control de programas y portafolios
26
© FATTO Consultoría y Sistemas - www.fattocs.com 27
¿Cuánto se gastará en el proyecto?
El tamaño vía puntos de función puede ser estimado omedido en etapas tempranas del proyecto, o sea, antesde una especificación completa de requerimientos
El análisis es estándar y consistente. Dos personasdistintas analizando el mismo proyecto llegan al mismoresultado
El costo, plazo y esfuerzo puede ser estimado vía PFs enun modelo de estimación
© FATTO Consultoría y Sistemas - www.fattocs.com 28
¿Cómo pagar por los servicios?
Por la cantidad de puntos de función entregados
– Por ser una métrica estándar y objetiva es aplicada de lamisma manera para distintos proveedores
– Los FPs representan la visión del usuario y por lo tantopueden ser comprendidos fácilmente por el proveedor y elcliente
– Los FPs representan una medida de producción delproveedor y por lo tanto el interés de lo mismo es ser lomás productivo posible
© FATTO Consultoría y Sistemas - www.fattocs.com 29
¿Cómo pagar por los cambios?
Es critico tener una definición clara de lo que es cambio
– Esto tal vez sea el mayor elemento de riesgo para el clienteen un contrato SCRUM
Refinar requerimientos no debería ser tratado comocambio, y por lo tanto no debe generar costo adicional
Una funcionalidad puede necesitar de más de un sprintpara ser considerada hecha, esto no significa que haycambios sobre la misma
– PFs representan una funcionalidad completa desde unpunto de vista de negocio
© FATTO Consultoría y Sistemas - www.fattocs.com 30
Resumen
El mercado empezó a adoptar de manera crecienteenfoques ágiles, SCRUM principalmente
La medición funcional puede ser agregada al procesopara proveer un mejor manejo del contrato por parte delcliente
Proyectos ágiles y puntos de función no son conceptosincompatibles
© FATTO Consultoría y Sistemas - www.fattocs.com
Para saber más…
Preguntas frecuentes Puntos de Función – fattocs.com/es/faq-fpa
Videos - youtube.com/user/FattocsES
IFPUG – www.ifpug.org
COSMIC – www.cosmicon.com
NESMA – www.nesma.nl
MKII – uksma.co.uk
FISMA – www.fisma.fi
31
© FATTO Consultoría y Sistemas - www.fattocs.com
Cierre
¡Gracias por su atención!
¿Preguntas?
Guilherme Siqueira Simões
https://br.linkedin.com/in/guilhermesimoes/es
Skype: guilherme.s.simoes
32