SlideShare una empresa de Scribd logo
1 de 32
La medición funcional de
software con SCRUM
1
Guilherme Siqueira Simões
www.fattocs.com
Agenda
• Introducción
• El contexto SCRUM
• El contexto de la medición funcional de software
• Combinando los dos
• Prejuicios comunes sobre la medición funcional
• Cierre
2www.fattocs.com
Introducción
• Hoy las metodologías agiles se han destacado en el
mercado de desarrollo de software. SCRUM es el
más popular
• Las mediciones funcionales de software también
crecen en uso por todo el mundo
• Pero muchas personas del mundo ágil desconocen
las mediciones funcionales o piensan que son
conceptos incompatibles
3www.fattocs.com
Agenda
• Introducción
• El contexto SCRUM
• El contexto de la medición funcional de software
• Combinando los dos
• Prejuicios comunes sobre la medición funcional
• Cierre
4www.fattocs.com
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ñas: 3-9 personas
• Ciclos de entrega cortos
5
Ciclo de vida SCRUM
www.fattocs.com
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 este
6
www.scrum.org/Portals/0/Documents/Scrum%20Guides/2013/Scrum-Guide-ES.pdf
www.fattocs.com
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
7
http://es.wikipedia.org/wiki/Historias_de_usuario
www.fattocs.com
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
8
www.scrum.org/Portals/0/Documents/Scrum%20Guides/2013/Scrum-Guide-ES.pdf
www.fattocs.com
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
9
www.scrum.org/Portals/0/Documents/Scrum%20Guides/2013/Scrum-Guide-ES.pdf
www.fattocs.com
Micro Estimaciones
• La dinámica del SCRUM se caracteriza por micro
estimaciones
– De los Sprints
– De las Historias de Usuario
– Estimaciones Botton-up
• Una de las estrategias más populares de estimación
en equipos ágiles son los Puntos de Historia (Story
Points)
10www.fattocs.com
Puntos de Historia (Story Points)
• Es una evaluación de manera relativa de las historias
de usuario en cuanto a: complejidad, esfuerzo, riesgo
– Se selecciona una historia de usuario para asignarle una
complejidad nominal que servirá de referencia para
catalogar al resto de historias de usuario
– Basada en la experiencia del equipo y analogía con otras
historias
• Resultados con significado sólo para el propio
equipo. Medida subjetiva.
• No se puede comparar los puntos de historia
medidos por un equipo con los de otros equipos
11www.fattocs.com
Velocidad (Productividad)
• Velocidad es el número de puntos de historia que un
equipo consigue entregar en una iteración (sprint)
– Si el equipo trabajó junto en algunos proyectos pasados,
hay (o debería haber) datos para derivarse una velocidad
promedia
– A lo largo del proyecto, la velocidad es ajustada con la
experiencia de las iteraciones más recientes
– Para nuevos equipos, descubrir la velocidad inicial es más
complicado, porque no hay datos históricos
12www.fattocs.com
Agenda
• Introducción
• El contexto SCRUM
• El contexto de la medición funcional de software
• Combinando los dos
• Prejuicios comunes sobre la medición funcional
• Cierre
13www.fattocs.com
Medición Funcional de Software
• Surgió en IBM (1979) resultado de un estudio de
productividad en desarrollo de software
– Solución para analizar proyectos desarrollado con
lenguajes de programación distintos
– Desarrollado por Allan Albrecht* y llamado “Análisis de
Puntos de Función” o “Function Point Analisys”
– Su trabajo motivó varias propuestas de mejora para este
método de diversos investigadores
– A lo largo del tiempo, cinco métodos se consolidaron como
estándares (de acuerdo con la ISO/IEC 14143) derivados de
la propuesta original de IBM : IFPUG, COSMIC, NESMA,
MKII y FISMA
14
*www.fattocs.com/files/es/articulos/midiendo_productividad_desarrollo_aplicativos.pdf
www.fattocs.com
Que es la Medición Funcional de Software
• Es un análisis basado en la identificación de las
funciones del software bajo el punto de vista del
usuario
– Cada función identificada tiene un tamaño, una cantidad
de puntos de función
– Usuario es cualquier persona o cosa que se comunica o
interactúa con el software en cualquier momento
• El análisis es independiente de cualquier aspecto de
implementación del software
• Considera sólo parte de los requisitos: los requisitos
funcionales (lo que el software debe hacer en
términos de tareas y servicios)
• Medida objetiva; con un conjunto de reglas
replicables 15www.fattocs.com
¿Por qué medición funcional?
• Estimación de esfuerzo, costo o plazo
• Seguimiento y control del proyecto
• Benchmarking de productividad
• Mejora de procesos de software
• Gestión de contratos de desarrollo
• Gobierno corporativo de las aplicaciones
• Valoración de activos de software
• Indicadores para mejor visibilidad del proceso
– Productividad: horas / puntos de función
– Costo: $ / puntos de función
– Calidad: defectos / puntos de función
16www.fattocs.com
¿Para quién la medición funcional?
• 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
– Ej.: Seguimiento y control de programas y portfolio
17www.fattocs.com
Agenda
• Introducción
• El contexto SCRUM
• El contexto de la medición funcional de software
• Combinando los dos
• Prejuicios comunes sobre la medición funcional
• Cierre
18www.fattocs.com
SCRUM con Medición funcional
• Medición de las historias, sprints y product backlog
en puntos de función
• Estimación de esfuerzo de las historias de usuario y
sprints a partir de los puntos de función
• Ayudar a definir el numero de sprints en una release
o la cantidad de historias por sprint
• Apoyar en la definición de velocidad (o
productividad) en sprint: horas / puntos de función
• Pero, ¿los puntos de historia ya no cumplen estos
objetivos ?
19www.fattocs.com
¿Cambiar los Puntos de Historia?
• No, si esto ya funciona bien
• Pero mediante el uso más de un método es posible
conciliar las estimaciones hecha por cada uno de
ellos, asegurando más calidad a la estimación
• La velocidad inicial pude ser más fácilmente obtenida
con puntos de función porque es una medida
objetiva y estándar entre proyectos
• La ventaja en se cambiar de método es cambiar una
medida subjetiva por una objetiva
20www.fattocs.com
Más allá de puntos de historia
• La medición funcional soporta una visión Táctica y
Estratégica sobre el desarrollo de software
• Estimaciones de esfuerzo o costo antes del inicio del
proyecto (análisis de viabilidad)
• Benchmarking: comparación del desempeño del
equipo con otros, entre aplicaciones, de la
organización con otras del mercado
• Ayudar a comprender las variaciones de
productividad y crecimiento de alcance entre
proyectos
21www.fattocs.com
Más allá de puntos de historia (2)
• Seguimiento y control del proyecto: aunque que se
utilice gráficos como burndown, burnup o cumulative
flow para seguimiento del trabajo diario por el
equipo, es necesario ofrecer maneras para el
seguimiento de los proyectos en un ámbito externo
al proyecto, por ejemplo, para la oficina de
administración de proyectos (PMO) o la dirección de
la empresa
• Gestión de contratos de desarrollo externo de
software: es necesaria una métrica estándar para se
medir las entregas de los distintos proveedores
22www.fattocs.com
Más allá de puntos de historia (3)
• Iniciativas de Mejora de Procesos (SPI): para medir
los resultados de estas iniciativas son necesarios
datos al largo del tiempo, de varios proyectos y
equipos. Los puntos de historia no pueden ser
comparados entre proyectos y equipos distintos
• Gobierno corporativo de las aplicaciones: basar
decisiones de reingeniería de aplicaciones, generar
indicadores de costos de mantenimiento , calcular el
costo real de las aplicaciones (todo su ciclo de vida)
23www.fattocs.com
Agenda
• Introducción
• El contexto SCRUM
• El contexto de la medición funcional de software
• Combinando los dos
• Prejuicios comunes sobre la medición funcional
• Cierre
24www.fattocs.com
Prejuicio 1
• “La medición funcional es un método para proyectos
desarrollados en modelo de cascada ” –
INCORRECTO
• “La medición funcional no sirve para proyectos con
diseños orientados a objetos ” – INCORRECTO
• La medición funcional es independiente de cualquier
aspecto de implementación, sea proceso de
desarrollo, plataforma tecnológica, lenguajes de
programación o cualquier otra herramienta
• Hubo sólo una coincidencia de la medición funcional
surgir en un momento en que el enfoque
predominante en la industria para desarrollar
software era en cascada y diseño estructurado
25www.fattocs.com
Prejuicio 2
• “La medición funcional necesita de documentación
más extensiva” – INCORRECTO
• No hay ninguna necesidad de se producir más
documentación para se utilizar los métodos de
medición funcional estándares
• Para análisis tempranos hay maneras de estimarse el
tamaño funcional sin una especificación completa de
requisitos
– Las historias de usuario no son detalladas, entonces no
pueden ser medidas, sólo estimadas en puntos de función
26www.fattocs.com
Prejuicio 3
• “La medición funcional es utilizada para análisis de
productividad individual de los desarrolladores” –
INCORRECTO
• En general no es posible medir la productividad
individual porque una función involucra el trabajo de
varias personas del equipo
• Aunque fose posible, el intento no seria exitoso
porque algunas personas trabajarían para manejar el
indicador
• Productividad es un indicador para se utilizar en nivel
organizacional, no en nivel individual
27www.fattocs.com
Prejuicio 4
• “La medición funcional no considera toda la
complejidad involucrada en el desarrollo de un
proyecto” – CORRECTO
• Esto es verdad, pues la medición mide solamente
requisitos funcionales. Ocurre que al estimarse el
esfuerzo o costo de un proyecto, otras variables más
allá del tamaño funcional deben también ser
consideradas
• El tamaño funcional es utilizado para estimaciones
siempre en modelo de estimación que debe ser
previamente definido y calibrado (ajustado a las
condiciones locales). El error más común es no
hacerlo 28www.fattocs.com
Agenda
• Introducción
• El contexto SCRUM
• El contexto de la medición funcional de software
• Combinando los dos
• Prejuicios comunes sobre la medición funcional
• Cierre
29www.fattocs.com
Resumen
• La medición funcional y los métodos agiles no son
incompatibles
• Aunque la medición funcional puede ser utilizada en
alternativa a puntos de historia, a nivel de proyecto
los efectos serón casi los mismos
• Pero a nivel organizacional, en una visión táctica y
estratégica los puntos de historia no pueden ser
utilizados e la medición funcional es la mejor
alternativa
30www.fattocs.com
Para saber más…
31
• IFPUG – www.ifpug.org
• COSMIC – www.cosmicon.com
• NESMA – www.nesma.nl
• MKII – uksma.co.uk
• FISMA – www.fisma.fi
• Preguntas frecuentes FPA – fattocs.com/es/faq-fpa
www.fattocs.com
Cierre
¡Gracias por su atención!
¿Preguntas?
Guilherme Siqueira Simões
guilherme.simoes@fattocs.com
linkedin.com/in/guilhermesimoes
Skipe: guilherme.s.simoes
32www.fattocs.com

Más contenido relacionado

La actualidad más candente

4.1 Proceso Unificado De Rational
4.1 Proceso Unificado De Rational4.1 Proceso Unificado De Rational
4.1 Proceso Unificado De RationalJulio Pari
 
Etapa de Formalizacion
Etapa de Formalizacion Etapa de Formalizacion
Etapa de Formalizacion Oscar Lopez
 
Proceso de Software Una Visión General
Proceso de Software Una Visión GeneralProceso de Software Una Visión General
Proceso de Software Una Visión GeneralRuth Hidalgo Tene
 
Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoSesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoCoesi Consultoria
 
s05 - paradigma de construcción de soluciones basado en desarrollo de código
s05 - paradigma de construcción de soluciones basado en desarrollo de códigos05 - paradigma de construcción de soluciones basado en desarrollo de código
s05 - paradigma de construcción de soluciones basado en desarrollo de códigoMario Solarte
 
Los modelos de desarrollo de software (hendrick rodriguez )
Los modelos de desarrollo de software (hendrick rodriguez )Los modelos de desarrollo de software (hendrick rodriguez )
Los modelos de desarrollo de software (hendrick rodriguez )Hendrick Rodriguez
 
Gestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad II: Calidad en el SoftwareGestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad II: Calidad en el SoftwareJosé Antonio Sandoval Acosta
 
Breve explicacion del Rup
Breve explicacion del RupBreve explicacion del Rup
Breve explicacion del Rupluisitoman
 
Fundamentos de las metodologías ágiles
Fundamentos de las metodologías ágilesFundamentos de las metodologías ágiles
Fundamentos de las metodologías ágilesDomingo Gallardo
 
Modelos de desarrollo del software
Modelos de desarrollo del softwareModelos de desarrollo del software
Modelos de desarrollo del softwareRenny Batista
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de softwareRadel Fuentes
 
Modelos para el desarrollo de software V3
Modelos para el desarrollo de software V3Modelos para el desarrollo de software V3
Modelos para el desarrollo de software V3Marco Guerrero
 
Las Claves para Gestionar Proyectos de Sistemas de Información
Las Claves para Gestionar Proyectos de Sistemas de InformaciónLas Claves para Gestionar Proyectos de Sistemas de Información
Las Claves para Gestionar Proyectos de Sistemas de InformaciónSolutions DAT
 
Controles a proyectos de desarrollo de Software
Controles a proyectos de desarrollo de SoftwareControles a proyectos de desarrollo de Software
Controles a proyectos de desarrollo de SoftwareSantander David Navarro
 

La actualidad más candente (19)

4.1 Proceso Unificado De Rational
4.1 Proceso Unificado De Rational4.1 Proceso Unificado De Rational
4.1 Proceso Unificado De Rational
 
Etapa de Formalizacion
Etapa de Formalizacion Etapa de Formalizacion
Etapa de Formalizacion
 
Proceso de Software Una Visión General
Proceso de Software Una Visión GeneralProceso de Software Una Visión General
Proceso de Software Una Visión General
 
Rup jenny mallqui
Rup   jenny mallquiRup   jenny mallqui
Rup jenny mallqui
 
Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoSesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de proceso
 
s05 - paradigma de construcción de soluciones basado en desarrollo de código
s05 - paradigma de construcción de soluciones basado en desarrollo de códigos05 - paradigma de construcción de soluciones basado en desarrollo de código
s05 - paradigma de construcción de soluciones basado en desarrollo de código
 
Los modelos de desarrollo de software (hendrick rodriguez )
Los modelos de desarrollo de software (hendrick rodriguez )Los modelos de desarrollo de software (hendrick rodriguez )
Los modelos de desarrollo de software (hendrick rodriguez )
 
Qué+es+ru..
Qué+es+ru..Qué+es+ru..
Qué+es+ru..
 
Gestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad II: Calidad en el SoftwareGestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad II: Calidad en el Software
 
Breve explicacion del Rup
Breve explicacion del RupBreve explicacion del Rup
Breve explicacion del Rup
 
Fundamentos de las metodologías ágiles
Fundamentos de las metodologías ágilesFundamentos de las metodologías ágiles
Fundamentos de las metodologías ágiles
 
Modelos de desarrollo del software
Modelos de desarrollo del softwareModelos de desarrollo del software
Modelos de desarrollo del software
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de software
 
Metodologías ágiles
Metodologías ágilesMetodologías ágiles
Metodologías ágiles
 
Modelos para el desarrollo de software V3
Modelos para el desarrollo de software V3Modelos para el desarrollo de software V3
Modelos para el desarrollo de software V3
 
Las Claves para Gestionar Proyectos de Sistemas de Información
Las Claves para Gestionar Proyectos de Sistemas de InformaciónLas Claves para Gestionar Proyectos de Sistemas de Información
Las Claves para Gestionar Proyectos de Sistemas de Información
 
Administración de Proyectos en la Ingeniería de Software
Administración de Proyectos en la Ingeniería de SoftwareAdministración de Proyectos en la Ingeniería de Software
Administración de Proyectos en la Ingeniería de Software
 
Controles a proyectos de desarrollo de Software
Controles a proyectos de desarrollo de SoftwareControles a proyectos de desarrollo de Software
Controles a proyectos de desarrollo de Software
 
Rup
RupRup
Rup
 

Similar a La medición funcional de software con Scrum

Fundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfFundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfBibliotecaenlineaUNI
 
metodologias de desarrollo.ppt
metodologias de desarrollo.pptmetodologias de desarrollo.ppt
metodologias de desarrollo.pptCristianFlasher1
 
Prototipado rapido de interfaces
Prototipado rapido de interfacesPrototipado rapido de interfaces
Prototipado rapido de interfacesGaby Fernandez
 
Copia de carlos leon
Copia de carlos leonCopia de carlos leon
Copia de carlos leonCLPROGRAM
 
Presentacion modelos de proceso Grupo 3
Presentacion modelos de proceso Grupo 3Presentacion modelos de proceso Grupo 3
Presentacion modelos de proceso Grupo 3Bruno
 
Métodos Ágiles de Programación
Métodos Ágiles de Programación Métodos Ágiles de Programación
Métodos Ágiles de Programación Sonia Sosa
 
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOpsJose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOpsJose Luis Soria
 
Slideshare 20, luis mortell 26.055.569
Slideshare 20, luis mortell 26.055.569Slideshare 20, luis mortell 26.055.569
Slideshare 20, luis mortell 26.055.569forwer1223
 
05 masmodelosdeprocesodesoftware isi
05 masmodelosdeprocesodesoftware isi05 masmodelosdeprocesodesoftware isi
05 masmodelosdeprocesodesoftware isiChristian Bueno
 
Los 7 pasos del desarrollo de sistemas informaticos
Los 7 pasos del desarrollo de sistemas informaticosLos 7 pasos del desarrollo de sistemas informaticos
Los 7 pasos del desarrollo de sistemas informaticosFranklin Tenelema
 

Similar a La medición funcional de software con Scrum (20)

Fundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfFundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdf
 
metodologias de desarrollo.ppt
metodologias de desarrollo.pptmetodologias de desarrollo.ppt
metodologias de desarrollo.ppt
 
Prototipado rapido de interfaces
Prototipado rapido de interfacesPrototipado rapido de interfaces
Prototipado rapido de interfaces
 
S4-CDSQA.pptx
S4-CDSQA.pptxS4-CDSQA.pptx
S4-CDSQA.pptx
 
Carlos leon
Carlos leonCarlos leon
Carlos leon
 
Enrique Cabello
Enrique CabelloEnrique Cabello
Enrique Cabello
 
Ciclo de vida
Ciclo de vidaCiclo de vida
Ciclo de vida
 
Copia de carlos leon
Copia de carlos leonCopia de carlos leon
Copia de carlos leon
 
El pato-volador
El pato-voladorEl pato-volador
El pato-volador
 
Presentacion modelos de proceso Grupo 3
Presentacion modelos de proceso Grupo 3Presentacion modelos de proceso Grupo 3
Presentacion modelos de proceso Grupo 3
 
Auditoria en redes
Auditoria en redesAuditoria en redes
Auditoria en redes
 
Métodos Ágiles de Programación
Métodos Ágiles de Programación Métodos Ágiles de Programación
Métodos Ágiles de Programación
 
Apuntes
ApuntesApuntes
Apuntes
 
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOpsJose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
 
Slideshare 20, luis mortell 26.055.569
Slideshare 20, luis mortell 26.055.569Slideshare 20, luis mortell 26.055.569
Slideshare 20, luis mortell 26.055.569
 
Clase 11
Clase 11Clase 11
Clase 11
 
05 masmodelosdeprocesodesoftware isi
05 masmodelosdeprocesodesoftware isi05 masmodelosdeprocesodesoftware isi
05 masmodelosdeprocesodesoftware isi
 
Los 7 pasos del desarrollo de sistemas informaticos
Los 7 pasos del desarrollo de sistemas informaticosLos 7 pasos del desarrollo de sistemas informaticos
Los 7 pasos del desarrollo de sistemas informaticos
 
Rup
RupRup
Rup
 
Modelos de software
Modelos de softwareModelos de software
Modelos de software
 

Más de Software Guru

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasSoftware Guru
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesSoftware Guru
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environmentsSoftware Guru
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorSoftware Guru
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealSoftware Guru
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowSoftware Guru
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:Software Guru
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learningSoftware Guru
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDiSoftware Guru
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Software Guru
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSSoftware Guru
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...Software Guru
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?Software Guru
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Software Guru
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsSoftware Guru
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosSoftware Guru
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressSoftware Guru
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsSoftware Guru
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Software Guru
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoSoftware Guru
 

Más de Software Guru (20)

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las Cosas
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso reales
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environments
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador Senior
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto ideal
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache Airflow
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learning
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDi
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJS
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOps
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stress
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goals
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseño
 

La medición funcional de software con Scrum

  • 1. La medición funcional de software con SCRUM 1 Guilherme Siqueira Simões www.fattocs.com
  • 2. Agenda • Introducción • El contexto SCRUM • El contexto de la medición funcional de software • Combinando los dos • Prejuicios comunes sobre la medición funcional • Cierre 2www.fattocs.com
  • 3. Introducción • Hoy las metodologías agiles se han destacado en el mercado de desarrollo de software. SCRUM es el más popular • Las mediciones funcionales de software también crecen en uso por todo el mundo • Pero muchas personas del mundo ágil desconocen las mediciones funcionales o piensan que son conceptos incompatibles 3www.fattocs.com
  • 4. Agenda • Introducción • El contexto SCRUM • El contexto de la medición funcional de software • Combinando los dos • Prejuicios comunes sobre la medición funcional • Cierre 4www.fattocs.com
  • 5. 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ñas: 3-9 personas • Ciclos de entrega cortos 5 Ciclo de vida SCRUM www.fattocs.com
  • 6. 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 este 6 www.scrum.org/Portals/0/Documents/Scrum%20Guides/2013/Scrum-Guide-ES.pdf www.fattocs.com
  • 7. 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 7 http://es.wikipedia.org/wiki/Historias_de_usuario www.fattocs.com
  • 8. 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 8 www.scrum.org/Portals/0/Documents/Scrum%20Guides/2013/Scrum-Guide-ES.pdf www.fattocs.com
  • 9. 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 9 www.scrum.org/Portals/0/Documents/Scrum%20Guides/2013/Scrum-Guide-ES.pdf www.fattocs.com
  • 10. Micro Estimaciones • La dinámica del SCRUM se caracteriza por micro estimaciones – De los Sprints – De las Historias de Usuario – Estimaciones Botton-up • Una de las estrategias más populares de estimación en equipos ágiles son los Puntos de Historia (Story Points) 10www.fattocs.com
  • 11. Puntos de Historia (Story Points) • Es una evaluación de manera relativa de las historias de usuario en cuanto a: complejidad, esfuerzo, riesgo – Se selecciona una historia de usuario para asignarle una complejidad nominal que servirá de referencia para catalogar al resto de historias de usuario – Basada en la experiencia del equipo y analogía con otras historias • Resultados con significado sólo para el propio equipo. Medida subjetiva. • No se puede comparar los puntos de historia medidos por un equipo con los de otros equipos 11www.fattocs.com
  • 12. Velocidad (Productividad) • Velocidad es el número de puntos de historia que un equipo consigue entregar en una iteración (sprint) – Si el equipo trabajó junto en algunos proyectos pasados, hay (o debería haber) datos para derivarse una velocidad promedia – A lo largo del proyecto, la velocidad es ajustada con la experiencia de las iteraciones más recientes – Para nuevos equipos, descubrir la velocidad inicial es más complicado, porque no hay datos históricos 12www.fattocs.com
  • 13. Agenda • Introducción • El contexto SCRUM • El contexto de la medición funcional de software • Combinando los dos • Prejuicios comunes sobre la medición funcional • Cierre 13www.fattocs.com
  • 14. Medición Funcional de Software • Surgió en IBM (1979) resultado de un estudio de productividad en desarrollo de software – Solución para analizar proyectos desarrollado con lenguajes de programación distintos – Desarrollado por Allan Albrecht* y llamado “Análisis de Puntos de Función” o “Function Point Analisys” – Su trabajo motivó varias propuestas de mejora para este método de diversos investigadores – A lo largo del tiempo, cinco métodos se consolidaron como estándares (de acuerdo con la ISO/IEC 14143) derivados de la propuesta original de IBM : IFPUG, COSMIC, NESMA, MKII y FISMA 14 *www.fattocs.com/files/es/articulos/midiendo_productividad_desarrollo_aplicativos.pdf www.fattocs.com
  • 15. Que es la Medición Funcional de Software • Es un análisis basado en la identificación de las funciones del software bajo el punto de vista del usuario – Cada función identificada tiene un tamaño, una cantidad de puntos de función – Usuario es cualquier persona o cosa que se comunica o interactúa con el software en cualquier momento • El análisis es independiente de cualquier aspecto de implementación del software • Considera sólo parte de los requisitos: los requisitos funcionales (lo que el software debe hacer en términos de tareas y servicios) • Medida objetiva; con un conjunto de reglas replicables 15www.fattocs.com
  • 16. ¿Por qué medición funcional? • Estimación de esfuerzo, costo o plazo • Seguimiento y control del proyecto • Benchmarking de productividad • Mejora de procesos de software • Gestión de contratos de desarrollo • Gobierno corporativo de las aplicaciones • Valoración de activos de software • Indicadores para mejor visibilidad del proceso – Productividad: horas / puntos de función – Costo: $ / puntos de función – Calidad: defectos / puntos de función 16www.fattocs.com
  • 17. ¿Para quién la medición funcional? • 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 – Ej.: Seguimiento y control de programas y portfolio 17www.fattocs.com
  • 18. Agenda • Introducción • El contexto SCRUM • El contexto de la medición funcional de software • Combinando los dos • Prejuicios comunes sobre la medición funcional • Cierre 18www.fattocs.com
  • 19. SCRUM con Medición funcional • Medición de las historias, sprints y product backlog en puntos de función • Estimación de esfuerzo de las historias de usuario y sprints a partir de los puntos de función • Ayudar a definir el numero de sprints en una release o la cantidad de historias por sprint • Apoyar en la definición de velocidad (o productividad) en sprint: horas / puntos de función • Pero, ¿los puntos de historia ya no cumplen estos objetivos ? 19www.fattocs.com
  • 20. ¿Cambiar los Puntos de Historia? • No, si esto ya funciona bien • Pero mediante el uso más de un método es posible conciliar las estimaciones hecha por cada uno de ellos, asegurando más calidad a la estimación • La velocidad inicial pude ser más fácilmente obtenida con puntos de función porque es una medida objetiva y estándar entre proyectos • La ventaja en se cambiar de método es cambiar una medida subjetiva por una objetiva 20www.fattocs.com
  • 21. Más allá de puntos de historia • La medición funcional soporta una visión Táctica y Estratégica sobre el desarrollo de software • Estimaciones de esfuerzo o costo antes del inicio del proyecto (análisis de viabilidad) • Benchmarking: comparación del desempeño del equipo con otros, entre aplicaciones, de la organización con otras del mercado • Ayudar a comprender las variaciones de productividad y crecimiento de alcance entre proyectos 21www.fattocs.com
  • 22. Más allá de puntos de historia (2) • Seguimiento y control del proyecto: aunque que se utilice gráficos como burndown, burnup o cumulative flow para seguimiento del trabajo diario por el equipo, es necesario ofrecer maneras para el seguimiento de los proyectos en un ámbito externo al proyecto, por ejemplo, para la oficina de administración de proyectos (PMO) o la dirección de la empresa • Gestión de contratos de desarrollo externo de software: es necesaria una métrica estándar para se medir las entregas de los distintos proveedores 22www.fattocs.com
  • 23. Más allá de puntos de historia (3) • Iniciativas de Mejora de Procesos (SPI): para medir los resultados de estas iniciativas son necesarios datos al largo del tiempo, de varios proyectos y equipos. Los puntos de historia no pueden ser comparados entre proyectos y equipos distintos • Gobierno corporativo de las aplicaciones: basar decisiones de reingeniería de aplicaciones, generar indicadores de costos de mantenimiento , calcular el costo real de las aplicaciones (todo su ciclo de vida) 23www.fattocs.com
  • 24. Agenda • Introducción • El contexto SCRUM • El contexto de la medición funcional de software • Combinando los dos • Prejuicios comunes sobre la medición funcional • Cierre 24www.fattocs.com
  • 25. Prejuicio 1 • “La medición funcional es un método para proyectos desarrollados en modelo de cascada ” – INCORRECTO • “La medición funcional no sirve para proyectos con diseños orientados a objetos ” – INCORRECTO • La medición funcional es independiente de cualquier aspecto de implementación, sea proceso de desarrollo, plataforma tecnológica, lenguajes de programación o cualquier otra herramienta • Hubo sólo una coincidencia de la medición funcional surgir en un momento en que el enfoque predominante en la industria para desarrollar software era en cascada y diseño estructurado 25www.fattocs.com
  • 26. Prejuicio 2 • “La medición funcional necesita de documentación más extensiva” – INCORRECTO • No hay ninguna necesidad de se producir más documentación para se utilizar los métodos de medición funcional estándares • Para análisis tempranos hay maneras de estimarse el tamaño funcional sin una especificación completa de requisitos – Las historias de usuario no son detalladas, entonces no pueden ser medidas, sólo estimadas en puntos de función 26www.fattocs.com
  • 27. Prejuicio 3 • “La medición funcional es utilizada para análisis de productividad individual de los desarrolladores” – INCORRECTO • En general no es posible medir la productividad individual porque una función involucra el trabajo de varias personas del equipo • Aunque fose posible, el intento no seria exitoso porque algunas personas trabajarían para manejar el indicador • Productividad es un indicador para se utilizar en nivel organizacional, no en nivel individual 27www.fattocs.com
  • 28. Prejuicio 4 • “La medición funcional no considera toda la complejidad involucrada en el desarrollo de un proyecto” – CORRECTO • Esto es verdad, pues la medición mide solamente requisitos funcionales. Ocurre que al estimarse el esfuerzo o costo de un proyecto, otras variables más allá del tamaño funcional deben también ser consideradas • El tamaño funcional es utilizado para estimaciones siempre en modelo de estimación que debe ser previamente definido y calibrado (ajustado a las condiciones locales). El error más común es no hacerlo 28www.fattocs.com
  • 29. Agenda • Introducción • El contexto SCRUM • El contexto de la medición funcional de software • Combinando los dos • Prejuicios comunes sobre la medición funcional • Cierre 29www.fattocs.com
  • 30. Resumen • La medición funcional y los métodos agiles no son incompatibles • Aunque la medición funcional puede ser utilizada en alternativa a puntos de historia, a nivel de proyecto los efectos serón casi los mismos • Pero a nivel organizacional, en una visión táctica y estratégica los puntos de historia no pueden ser utilizados e la medición funcional es la mejor alternativa 30www.fattocs.com
  • 31. Para saber más… 31 • IFPUG – www.ifpug.org • COSMIC – www.cosmicon.com • NESMA – www.nesma.nl • MKII – uksma.co.uk • FISMA – www.fisma.fi • Preguntas frecuentes FPA – fattocs.com/es/faq-fpa www.fattocs.com
  • 32. Cierre ¡Gracias por su atención! ¿Preguntas? Guilherme Siqueira Simões guilherme.simoes@fattocs.com linkedin.com/in/guilhermesimoes Skipe: guilherme.s.simoes 32www.fattocs.com