32
© 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

Análise de Pontos de Função: Fundamentos, Benefícios e

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

© 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 4

Manifiesto Ágil

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

El contexto SCRUM

© 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 15

Contratos de desarrollo de software

© 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 21

El contexto de los puntos de función

© 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 24

Contrato SCRUM con APF

© 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

[email protected]

https://br.linkedin.com/in/guilhermesimoes/es

Skype: guilherme.s.simoes

32