SlideShare uma empresa Scribd logo
1 de 27
www.sgcampus.com.mx @sgcampus
www.sgcampus.com.mx
@sgcampus
Carlos Eduardo Vázquez
Estimación del esfuerzo y costos
necesarios para el desarrollo de un
proyecto de software
www.sgcampus.com.mx @sgcampus
Objetivos
1. Despertar en el público la conciencia sobre la
problemática en la elaboración de estimaciones
en el desarrollo de software
2. Presentar el concepto de unidad de producto y
de cómo aplicarlo en la medición de software para
la planeación y monitoreo de la productividad en su
desarrollo
3. Introducir el método de COSMIC para la medición
del tamaño funcional y su papel en la generación de
unidades de producto a partir de los requerimientos
funcionales
www.sgcampus.com.mx @sgcampus
1. La problemática de la
estimación
•
Cuando se solicita una
medición a un desarrollador
para entregar un programa
probado y brinda una
estimación de 12 horas, lo
más probable es que esté en
lo cierto
Esto porque se trata de un
programa cuya dificultad de
estimación es menor o su
impacto de error es pequeño.
Estimar pequeños elementos es fácil
Programar
una
Transacción
Probar una
Transacción
Estimar la realización de una actividad de
12 horas
Pequeño!
Dificuldad
Impacto
www.sgcampus.com.mx @sgcampus
1. La problemática de la
estimación
La solución para todos los
problemas de estimación es
descomponer un proyecto
en sus partes y hacer las
estimaciones en estos
mismos modelos
Los escenarios en los que la
estimación del todo es
difícil y que el impacto de
los errores es demasiado
grande no serían un
problema y todo el mundo
estaría feliz
Un gran elemento como la suma de
pequeñas partes
Estimar la entrega de un
producto final a lo largo de dos
años
Fase 01 Fase 02 Fase 03 Fase 04 Grande!
Dificultad
Impacto
www.sgcampus.com.mx @sgcampus
1. La problemática de la
estimación
•
Al inicio no sé sabe cuáles
son todos los programas
Hay trabajo que no es una
función de esa cantidad de
programas
El nivel de información
disponible no permite usar la
lógica de la estimación de
abajo hacia arriba como
solución para los desafíos de
la estimación
El fallo en esta lógica
Evolución del desarrollo
Decisiones y acuerdos sobre la solución
Proceso de la Ingeniería de Requierimientos
Alcance
preliminar
Necesidades
de negocio
?
No se pueden identificar cuáles son esas
actividades de 12 horas durante las fases
iniciales del desarrollo
?
? ?
?
www.sgcampus.com.mx @sgcampus
1. La problemática de la
estimación
•
#NoEstimates ¿Por qué estimar si al final
del trabajo ya estoy seguro
de la información de interés?
Al final, son apenas entre 15
o 30 días en un ambiente
donde se hace uso de
enfoques ágiles de desarrollo
Se puede esperar por ese
momento para “saber” en
lugar de simplemente creer.
De igual forma, no se
puede decidir sobre los
cambios que deben ser
priorizados dentro del
20% de las demandas
que consumen el 80% de
los recursos
www.sgcampus.com.mx @sgcampus
1. La problemática de la
estimación
> 2.000
HH
18%
< 2.000
HH
82%
CANTIDAD (#)
> 2.000
HH
61%
< 2.000
HH
39%
ESFUERZO (HH)
Las decisiones ejecutivas de inversión deben ser justificadas a quien
mantiene el gobierno de aquella organización
¿Cómo hacer esto con #NoEstimates?
www.sgcampus.com.mx @sgcampus
2. Unidad de producto para
producción de software
A partir de esto, tuve la oportunidad
de tomar varias decisiones:
• Es más caro (proporcionalmente)
construir un baño que un cuarto
• Cuando tuve que estimar el costo
únicamente del baño, ya tenía
elementos para realizar
estimaciones de abajo para
arriba…
• Los desembolsos ocurridos no
excedieron la estimación inicial
basada en la cantidad de metros
cuadrados y en la productividad
media
Casa en el estilo Santa Fé
de Cadu
Presupuesto
disponible
1 m
1 m
Costo unitario medio de
construcción por m2
La unidad de producto en la construcción civil
www.sgcampus.com.mx @sgcampus
2. Unidad de producto para
producción de software
1 m
1 m
US$ 500,00/
m2
Productividad
Casa construída
300 m2
Producto
Costo
Desembolso con
las inversiones
US$ 150.000,00
Arquitectos
Ingenieros
Maestro de obras
Albañiles
Ayudantes
Impuestos y tasas
Aprobaciones y registros
Diversos materiales
Apropiación
indirecta de costos
Apropiación directa
de costos
www.sgcampus.com.mx @sgcampus
2. Unidad de producto para
producción de software
?
?
Unidad de Producto
¿Cuál sería la métrica que
cumple el papel de unidad de
producto para la planificación
y seguimiento del desempeño
para el desarrollo de
software?
Permite aproximar o medir el
tamaño del software a partir de sus
requerimientos
Permite comparar la productividad
entre las diferentes técnicas y
tecnologías disponibles
Apoya en la estimación del
esfuerzo del proyecto o en la
cuantificación del desempeño a
partir de la perspectiva del usuario
o dueño para fines del análisis de
productividad
Es independiente del desarrollo
técnico y decisiones de
implementación
www.sgcampus.com.mx @sgcampus
Dimensión del
diseño y calidad
2. Unidad de producto para
producción de software
Otras métricas permiten
cuantificar el
desempeño técnico de
productos y servicios a
partir de su
implementación
Análisis de eficiencia del diseño
Apoyo a la verificación y validación
Mejora en el rendimiento del diseño
Apoyo a la Ingeniería de Requerimientos
www.sgcampus.com.mx @sgcampus
2. Unidad de producto para
producción de software
Tipos de Requerimientos
Requerimientos Funcionales
Requerimientos que
están específicamente
asociados a una tarea o
servicio del usuario y
que describen lo que el
software debe hacer
independientemente de
cómo lo haga
Manipulación y
movimiento de datos
 Transferencia
 Transformación
 Almacenamiento
 Recuperación
Cualquier otro tipo de requerimientos o de restricción de
orden general para el producto
las tecnologías de desarrollo,
mantenimiento, soporte y
ejecución como: herramientas de
programación y pruebas, sistemas
operativos, sistemas de gestión de
bases de datos, sistemas de
gestión de la interfaz gráfica con el
usuario, etc.
La
implementación
desempeño,
compatibilidad,
usabilidad,
confiabilidad,
seguridad,
mantenibilidad y
portabilidad
Lacalidad
La
organización
equipos de destino, la
adhesión a las normas
y los lugares para la
operación
la interoperabilidad,
privacidad y la
protección contra daños
incidentales o
accidentales
Al
ambiente
No son Requerimientos Funcionales
www.sgcampus.com.mx @sgcampus
2. Unidad de producto para
producción de software
Requerimientos Funcionales del Usuário
(‘RFU’) en los artefatos del software a ser
medido
artefatos con
definición de
requerimientos
artefatos del modelo
/análisis de datos
artefatos con
decomposición funcional
de los requerimientos
pré-
implementación
artefatos de
almacenamiento
físico de datos
Procedimentos y manuales
operacionales del software
pós-
implementación
programas
físicos
¿Dónde están los requerimientos funcionales?
www.sgcampus.com.mx @sgcampus
Artefactos de
Software
Primera versión de los
Requerimientos
Versión posterior de los
Requerimientos
Puede ser medido
por COSMIC
Debería ser
registrado, puede
ser cuantificable
Requerimientos
Funcionales del
Usuario
Requerimientos no
Funcionales
‘Verdaderos’
RFN
Requerimientos
Funcionales del
Usuario
Evolución de la Línea del Tiempo del Proyecto
2. Unidad de producto para
producción de software
La relación entre los requerimientos funcionales y no funcionales a lo
largo del desarrollo
www.sgcampus.com.mx @sgcampus
Inicialmente, RNF RFU a ser desenvolvido ou
adquirido
RNF após requisitos iniciais
evoluírem em RFU
El tiempo de respueta
medio en horarios pico
no debe exceder X
segundos
 Proveer datos externos en
tiempo real
 Monitorar y reportar tiempo
medio de respuesta
 Equipo apropriado
 Parte del software escrito en
lenguaje de bajo nivel
La disponibilidad debe
aumentar Y% en
relación a la media
anual pasada
 Habilitar el cambio rápido de
procesamiento para un
procesador alternativo sin
interrupción del servico
 Procesador alternativo
operando en ‘hot stand by’
2. Unidad de producto para
producción de software
La relación entre los requerimientos funcionales y no funcionales a lo
largo del desarrollo
www.sgcampus.com.mx @sgcampus
 ISO/IEC 14143 define los principios de la medición del
tamaño funcional
 Implementados en métodos de medición del tamaño
funcional por:
– COSMIC (ISO/IEC 19761:2011)
– IFPUG APF (ISO/IEC 20926:2009)
– UKSMA Mk II (ISO/IEC 20968:2002)
– NESMA APF (ISO/IEC 24570:2005)
– FISMA (ISO/IEC 29881:2010)
2. Unidad de producto para
producción de software
Derivación de unidad de producto de los requerimientos funcionales
www.sgcampus.com.mx @sgcampus
 2a generación de métodos de medición del tamaño funcional
 Nivel de confiabilidad compatible con todos los tipos de
software
 Accesible al público y su documentación no tiene costo
 Tiene reconocimiento total de la ISO/IEC
 Proyecto es simple y posee una base conceptual compatible
con la Ingeniería de Software moderna:
– Los métodos anteriores no siempre tienen una aplicación amplia
suficiente para atender las necesidades del mercado, o funcionan
apenas con acceso restringido
 Planificación y medición del desempeño tiene mayor exactitud
 Tiene la habilidad de capturar el tamaño a partir de múltiples
perspectivas
3. El método de medición de
tamaño funcional de COSMIC
www.sgcampus.com.mx @sgcampus
Conjunto de:
 Modelos
 Principios
 Reglas
 Procesos
3. El método de medición de
tamaño funcional de COSMIC
Visión general del método de medición COSMIC
objetivos
1
4
Independiente de
implementación
relacionada con los
artefactos del
software a ser
medido
Es un valor de una
magnitud de
acuerdo con el
método de COSMIC
Expresado en
unidades: Puntos de
Función COSMIC o
PFC
tamaño funcional
de la parte del
software
Describe lo que el software debe
hacer para los usuarios, quienes
son los destinatarios y remitentes
de los datos
Excluye requerimientos técnicos
o de calidad que expresan cómo
el software funciona
La función es relativa al proceso
de información que el software
debe ejecutar para sus usuarios
Requerimientos funcionales
del usuario en los artefactos
del software a ser medido2
3
www.sgcampus.com.mx @sgcampus
3. El método de medición de
tamaño funcional de COSMIC
Las fases en la medición COSMIC
Tamaño
funcional del
software en
unidades de
PFC
Objetivos1
4
3Estrategia
de
medición
6
Definición de cada parte del
software a ser medido de la
medición exigida
7
Fase de
mapeo
9
Modelo de contexto
de software
5
Modelo general de
software
8
Requerimientos
Funcionales del
Usuario en la
forma del
modelo general
de software
10
Fase de
medición
11
Requerimientos
funcionales del
Usuario en
artefatos del
software a ser
medido
2
www.sgcampus.com.mx @sgcampus
3. El método de medición de
tamaño funcional de COSMIC
Usuario funcional
Usuario
funcional
humano
aplicación
siendo
medida
Aplicación para
usuario funcional de la
aplicación siendo medida
Usuarios funcionales de una parte del software a ser medido identificados a partir de sus RFU,
como fuentes y/o destinos pretendidos para datos
En la visión lógica para una parte del software de aplicaciones de negocio, los RFU
acostumbran a describir sólo la funcionalidad requerida desde el punto de vista de usuarios
humanos y, tal vez, otras aplicaciones pares que envíen o reciban datos
Cualquier camada de software y dispositivos de hardware que soporten la interación de los
usuarios funcionales con la aplicación son facilitadores de las transferencias de datos y no
remitentes o destinatarios
www.sgcampus.com.mx @sgcampus
3. El método de medición de
tamaño funcional de COSMIC
Frontera
Frontera definida como interfaz conceptual entre software y usuario funcional
Frontera no debe ser confundida con qualquier línea diseñada en un diagrama para delimitar o
alcance de una parte del software o camada
Frontera permite hacer distinción clara entre cualquier parte del software medido (dentro) y
cualquier parte del ambiente de los usuarios funcionales (fuera)
frontera fronteraaplicación
siendo
medida
Aplicación par
www.sgcampus.com.mx @sgcampus
3. El método de medición de
tamaño funcional de COSMIC
Movimientos de datos
Usuarios funcionales interactuan con el software a través de la frontera via dos tipos de
movimientos de datos (entries y exits)
Software también intercambia datos con el dispositivo de almacenamiento persistente via
dos tipos de movimientos de datos (reads y writes)
El dispositivo de almacenamiento no es considerado como un usuario del software y, por
tanto, está dentro de la frontera del software
aplicación
siendo
medida
aplicación par
entradas
salidas
exits
entries exits
entries
armazenamento
persistente
camadadeaplicación
lecturasgrabaciones
Movimientos
de datos
www.sgcampus.com.mx @sgcampus
pedido
item del pedido
cliente
producto
pedido
item del pedido
usuario
funcional processo
funcional
objetos de interés
cliente producto pedido
items
de
pedido
confirmación del pedido
Ejemplo de Movimientos de datos
3. El método de medición de
tamaño funcional de COSMIC
www.sgcampus.com.mx @sgcampus
Editar y gerenciar
pedidos de vacaciones
100 PFCG1
incluir, alterar,
excluir, apreciar...
150 PFCG2
1 PFCG1 = 1,5 PFCG2 ± 25%
especificación
completa
200 PFCG3
1 PFCG2 = 1,33 PFCG3 ± 15%
Estimar/Aproximar Medir
propuesta requerimientos proyecto construcción implementación
1. Evaluar el desempeño por la relación entre la cantidad de horas invertidas y la
cantidad de puntos función COSMIC medidos
2. Re-evaluar los indicadores de productividad para que pasen a incluir el desempeño
de los proyectos que terminan
3. Re-evaluar la cantidad de puntos función COSMIC que corresponden en promedio a
los procesos y a los conceptos de negocio
Medición Vs Aproximación del tamaño
3. El método de medición de
tamaño funcional de COSMIC
www.sgcampus.com.mx @sgcampus
Benchmarking
3. El método de medición de
tamaño funcional de COSMIC
Aproximación del Tamaño:
150 CFP
Esfuerzo estimado por otros métodos:
1000 HH
07 HH/CFP o menos
de 8% de probabilidad
www.sgcampus.com.mx @sgcampus
Conócete a ti mismo
3. El método de medición de
tamaño funcional de COSMIC
www.sgcampus.com.mx @sgcampus
Conclusión
De algo que estoy seguro es sobre la diferencia de las
respuestas para la siguiente pregunta:
"¿Por qué me pides 5.000 HH para el proyecto
y no 2.000 HH?”
 Porque yo lo sé
 Porque sólo hay un 2% de probabilidad de entregar el
proyecto de este tamaño con 2.000 HH de acuerdo a
nuestros datos históricos. No hay un proyecto de la base
de datos internacional de evaluación comparativa que
indique esto como algo posible

Mais conteúdo relacionado

Mais procurados

Tecnicas de estimacion de software
Tecnicas de estimacion de softwareTecnicas de estimacion de software
Tecnicas de estimacion de softwareAdes27
 
Organigrama funcional de una empresa desarrolladora de software
Organigrama  funcional  de una empresa desarrolladora de softwareOrganigrama  funcional  de una empresa desarrolladora de software
Organigrama funcional de una empresa desarrolladora de softwareJose Luis Arce Caguana
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosSergio Sanchez
 
MOD Unidad 3: Modelado y verificación formal
MOD Unidad 3: Modelado y verificación formalMOD Unidad 3: Modelado y verificación formal
MOD Unidad 3: Modelado y verificación formalFranklin Parrales Bravo
 
Tema N° 6 Técnicas para el Levantamiento y Recolección de Requisitos
Tema N° 6 Técnicas para el Levantamiento y Recolección de RequisitosTema N° 6 Técnicas para el Levantamiento y Recolección de Requisitos
Tema N° 6 Técnicas para el Levantamiento y Recolección de RequisitosSaraEAlcntaraR
 
Técnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosTécnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosJuan Carlos Olivares Rojas
 
modelos de calidad de software
modelos de calidad de softwaremodelos de calidad de software
modelos de calidad de softwareHernan Espinoza
 
Normas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de SoftwareNormas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de SoftwareEvelinBermeo
 
Pruebas y Mantenimiento de Software
Pruebas y Mantenimiento de SoftwarePruebas y Mantenimiento de Software
Pruebas y Mantenimiento de SoftwareMaría Eugenia
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónYare LoZada
 
Análisis de Requerimientos
Análisis de RequerimientosAnálisis de Requerimientos
Análisis de RequerimientosUTPL UTPL
 
Unidad 3 aseguramiento de la calidad de los
Unidad 3 aseguramiento de la calidad de losUnidad 3 aseguramiento de la calidad de los
Unidad 3 aseguramiento de la calidad de lospabloreyes154
 
Modelos o Ciclos de vida de software
Modelos o Ciclos de vida de softwareModelos o Ciclos de vida de software
Modelos o Ciclos de vida de softwareWilliam Matamoros
 
Cuadro comparativo metodos
Cuadro comparativo metodosCuadro comparativo metodos
Cuadro comparativo metodosivansierra20
 

Mais procurados (20)

Tecnicas de estimacion de software
Tecnicas de estimacion de softwareTecnicas de estimacion de software
Tecnicas de estimacion de software
 
Organigrama funcional de una empresa desarrolladora de software
Organigrama  funcional  de una empresa desarrolladora de softwareOrganigrama  funcional  de una empresa desarrolladora de software
Organigrama funcional de una empresa desarrolladora de software
 
Metodología Mobile-D.pdf
Metodología Mobile-D.pdfMetodología Mobile-D.pdf
Metodología Mobile-D.pdf
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De Requerimientos
 
MOD Unidad 3: Modelado y verificación formal
MOD Unidad 3: Modelado y verificación formalMOD Unidad 3: Modelado y verificación formal
MOD Unidad 3: Modelado y verificación formal
 
Tema N° 6 Técnicas para el Levantamiento y Recolección de Requisitos
Tema N° 6 Técnicas para el Levantamiento y Recolección de RequisitosTema N° 6 Técnicas para el Levantamiento y Recolección de Requisitos
Tema N° 6 Técnicas para el Levantamiento y Recolección de Requisitos
 
Técnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosTécnicas para la Obtención de Requerimientos
Técnicas para la Obtención de Requerimientos
 
modelos de calidad de software
modelos de calidad de softwaremodelos de calidad de software
modelos de calidad de software
 
Normas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de SoftwareNormas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de Software
 
Proyecto Final - Calidad de Software
Proyecto Final - Calidad de SoftwareProyecto Final - Calidad de Software
Proyecto Final - Calidad de Software
 
Pruebas y Mantenimiento de Software
Pruebas y Mantenimiento de SoftwarePruebas y Mantenimiento de Software
Pruebas y Mantenimiento de Software
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 
Cocomo
CocomoCocomo
Cocomo
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicación
 
Análisis de Requerimientos
Análisis de RequerimientosAnálisis de Requerimientos
Análisis de Requerimientos
 
Unidad 3 aseguramiento de la calidad de los
Unidad 3 aseguramiento de la calidad de losUnidad 3 aseguramiento de la calidad de los
Unidad 3 aseguramiento de la calidad de los
 
Modelos o Ciclos de vida de software
Modelos o Ciclos de vida de softwareModelos o Ciclos de vida de software
Modelos o Ciclos de vida de software
 
Presentación proceso del software
Presentación proceso del softwarePresentación proceso del software
Presentación proceso del software
 
Estimación de Proyectos de Software
Estimación de Proyectos de SoftwareEstimación de Proyectos de Software
Estimación de Proyectos de Software
 
Cuadro comparativo metodos
Cuadro comparativo metodosCuadro comparativo metodos
Cuadro comparativo metodos
 

Destaque (7)

Estimación por puntos de función
Estimación por puntos de funciónEstimación por puntos de función
Estimación por puntos de función
 
CNMES'15 - Experiencias en la Implementación de COSMIC FP en una Empresa de A...
CNMES'15 - Experiencias en la Implementación de COSMIC FP en una Empresa de A...CNMES'15 - Experiencias en la Implementación de COSMIC FP en una Empresa de A...
CNMES'15 - Experiencias en la Implementación de COSMIC FP en una Empresa de A...
 
La medición total del software
La medición total del softwareLa medición total del software
La medición total del software
 
The Metrology Journey towards an 8th Base Quantity for Software: How Far or H...
The Metrology Journey towards an 8th Base Quantity for Software: How Far or H...The Metrology Journey towards an 8th Base Quantity for Software: How Far or H...
The Metrology Journey towards an 8th Base Quantity for Software: How Far or H...
 
Using the COSMIC Method to Estimate Agile User Stories
Using the COSMIC Method to Estimate Agile User StoriesUsing the COSMIC Method to Estimate Agile User Stories
Using the COSMIC Method to Estimate Agile User Stories
 
CNMES15 - Estimation con COSMIC - Alain Abran
CNMES15 - Estimation con COSMIC - Alain AbranCNMES15 - Estimation con COSMIC - Alain Abran
CNMES15 - Estimation con COSMIC - Alain Abran
 
Gestion de proyectos - Estimación del Esfuerzo
Gestion de proyectos - Estimación del EsfuerzoGestion de proyectos - Estimación del Esfuerzo
Gestion de proyectos - Estimación del Esfuerzo
 

Semelhante a Estimación del esfuerzo y costo necesarios para el desarrollo de un proyecto de software

Gestión de Proyectos Informáticos
Gestión de Proyectos InformáticosGestión de Proyectos Informáticos
Gestión de Proyectos InformáticosPilar Pardo Hidalgo
 
Conceptos sobre Gestión de Proyectos de Software
Conceptos sobre Gestión de Proyectos de Software Conceptos sobre Gestión de Proyectos de Software
Conceptos sobre Gestión de Proyectos de Software Joselito B
 
2.- Introducción y Tipos de sistemas de información (2).ppt
2.- Introducción y Tipos de sistemas de información (2).ppt2.- Introducción y Tipos de sistemas de información (2).ppt
2.- Introducción y Tipos de sistemas de información (2).pptMatasEnriqueFarasPea
 
U5 examen gonzalez_garciacarlosalberto
U5 examen gonzalez_garciacarlosalbertoU5 examen gonzalez_garciacarlosalberto
U5 examen gonzalez_garciacarlosalbertoRkr Gore
 
Ingenieria de software -analizis literario
Ingenieria de software -analizis literarioIngenieria de software -analizis literario
Ingenieria de software -analizis literariodiegos08
 
Tecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto softwareTecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto softwareJennifer Andrea Cano Guevara
 
Procesos de Ingenieria de Software
Procesos de Ingenieria de SoftwareProcesos de Ingenieria de Software
Procesos de Ingenieria de SoftwareAngel Macas
 
Tema 2 Modelos de Proceso del Software_para imprimir.pdf
Tema 2 Modelos de Proceso del Software_para imprimir.pdfTema 2 Modelos de Proceso del Software_para imprimir.pdf
Tema 2 Modelos de Proceso del Software_para imprimir.pdfNinoskaChuraLlojlla1
 
Metodologías de diseño y desarrollo de sistemas de información
Metodologías de diseño y desarrollo de sistemas de informaciónMetodologías de diseño y desarrollo de sistemas de información
Metodologías de diseño y desarrollo de sistemas de informaciónJose Martinez
 
0001-Informe de Factibilidad de Proyecto (1).docx
0001-Informe de Factibilidad de Proyecto (1).docx0001-Informe de Factibilidad de Proyecto (1).docx
0001-Informe de Factibilidad de Proyecto (1).docxBrayanPUMAVILLA
 
Modelo de cascadaa
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaamendez45
 
Plantilla caso prueba
Plantilla caso pruebaPlantilla caso prueba
Plantilla caso pruebaSTBG
 
METODOLOGIAS AGILES
METODOLOGIAS AGILESMETODOLOGIAS AGILES
METODOLOGIAS AGILESmikyWatt
 

Semelhante a Estimación del esfuerzo y costo necesarios para el desarrollo de un proyecto de software (20)

Gestión de Proyectos Informáticos
Gestión de Proyectos InformáticosGestión de Proyectos Informáticos
Gestión de Proyectos Informáticos
 
Gestion de proyectos de SW
Gestion de proyectos de SWGestion de proyectos de SW
Gestion de proyectos de SW
 
Conceptos sobre Gestión de Proyectos de Software
Conceptos sobre Gestión de Proyectos de Software Conceptos sobre Gestión de Proyectos de Software
Conceptos sobre Gestión de Proyectos de Software
 
Proceso desarrollo software
Proceso desarrollo softwareProceso desarrollo software
Proceso desarrollo software
 
Enrique Cabello
Enrique CabelloEnrique Cabello
Enrique Cabello
 
2.- Introducción y Tipos de sistemas de información (2).ppt
2.- Introducción y Tipos de sistemas de información (2).ppt2.- Introducción y Tipos de sistemas de información (2).ppt
2.- Introducción y Tipos de sistemas de información (2).ppt
 
U5 examen gonzalez_garciacarlosalberto
U5 examen gonzalez_garciacarlosalbertoU5 examen gonzalez_garciacarlosalberto
U5 examen gonzalez_garciacarlosalberto
 
Desarrollo de software
Desarrollo de softwareDesarrollo de software
Desarrollo de software
 
Ingenieria de software -analizis literario
Ingenieria de software -analizis literarioIngenieria de software -analizis literario
Ingenieria de software -analizis literario
 
Tecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto softwareTecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto software
 
Procesos de Ingenieria de Software
Procesos de Ingenieria de SoftwareProcesos de Ingenieria de Software
Procesos de Ingenieria de Software
 
UNIDAD_I.ppt
UNIDAD_I.pptUNIDAD_I.ppt
UNIDAD_I.ppt
 
titulo de pdf
titulo de pdftitulo de pdf
titulo de pdf
 
Tema 2 Modelos de Proceso del Software_para imprimir.pdf
Tema 2 Modelos de Proceso del Software_para imprimir.pdfTema 2 Modelos de Proceso del Software_para imprimir.pdf
Tema 2 Modelos de Proceso del Software_para imprimir.pdf
 
Metodologías de diseño y desarrollo de sistemas de información
Metodologías de diseño y desarrollo de sistemas de informaciónMetodologías de diseño y desarrollo de sistemas de información
Metodologías de diseño y desarrollo de sistemas de información
 
0001-Informe de Factibilidad de Proyecto (1).docx
0001-Informe de Factibilidad de Proyecto (1).docx0001-Informe de Factibilidad de Proyecto (1).docx
0001-Informe de Factibilidad de Proyecto (1).docx
 
Modelo de cascadaa
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaa
 
Plantilla caso prueba
Plantilla caso pruebaPlantilla caso prueba
Plantilla caso prueba
 
METODOLOGIAS AGILES
METODOLOGIAS AGILESMETODOLOGIAS AGILES
METODOLOGIAS AGILES
 
Analisis de requerimientos
Analisis de requerimientosAnalisis de requerimientos
Analisis de requerimientos
 

Mais 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
 

Mais 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
 

Último

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 

Último (15)

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 

Estimación del esfuerzo y costo necesarios para el desarrollo de un proyecto de software

  • 1. www.sgcampus.com.mx @sgcampus www.sgcampus.com.mx @sgcampus Carlos Eduardo Vázquez Estimación del esfuerzo y costos necesarios para el desarrollo de un proyecto de software
  • 2. www.sgcampus.com.mx @sgcampus Objetivos 1. Despertar en el público la conciencia sobre la problemática en la elaboración de estimaciones en el desarrollo de software 2. Presentar el concepto de unidad de producto y de cómo aplicarlo en la medición de software para la planeación y monitoreo de la productividad en su desarrollo 3. Introducir el método de COSMIC para la medición del tamaño funcional y su papel en la generación de unidades de producto a partir de los requerimientos funcionales
  • 3. www.sgcampus.com.mx @sgcampus 1. La problemática de la estimación • Cuando se solicita una medición a un desarrollador para entregar un programa probado y brinda una estimación de 12 horas, lo más probable es que esté en lo cierto Esto porque se trata de un programa cuya dificultad de estimación es menor o su impacto de error es pequeño. Estimar pequeños elementos es fácil Programar una Transacción Probar una Transacción Estimar la realización de una actividad de 12 horas Pequeño! Dificuldad Impacto
  • 4. www.sgcampus.com.mx @sgcampus 1. La problemática de la estimación La solución para todos los problemas de estimación es descomponer un proyecto en sus partes y hacer las estimaciones en estos mismos modelos Los escenarios en los que la estimación del todo es difícil y que el impacto de los errores es demasiado grande no serían un problema y todo el mundo estaría feliz Un gran elemento como la suma de pequeñas partes Estimar la entrega de un producto final a lo largo de dos años Fase 01 Fase 02 Fase 03 Fase 04 Grande! Dificultad Impacto
  • 5. www.sgcampus.com.mx @sgcampus 1. La problemática de la estimación • Al inicio no sé sabe cuáles son todos los programas Hay trabajo que no es una función de esa cantidad de programas El nivel de información disponible no permite usar la lógica de la estimación de abajo hacia arriba como solución para los desafíos de la estimación El fallo en esta lógica Evolución del desarrollo Decisiones y acuerdos sobre la solución Proceso de la Ingeniería de Requierimientos Alcance preliminar Necesidades de negocio ? No se pueden identificar cuáles son esas actividades de 12 horas durante las fases iniciales del desarrollo ? ? ? ?
  • 6. www.sgcampus.com.mx @sgcampus 1. La problemática de la estimación • #NoEstimates ¿Por qué estimar si al final del trabajo ya estoy seguro de la información de interés? Al final, son apenas entre 15 o 30 días en un ambiente donde se hace uso de enfoques ágiles de desarrollo Se puede esperar por ese momento para “saber” en lugar de simplemente creer. De igual forma, no se puede decidir sobre los cambios que deben ser priorizados dentro del 20% de las demandas que consumen el 80% de los recursos
  • 7. www.sgcampus.com.mx @sgcampus 1. La problemática de la estimación > 2.000 HH 18% < 2.000 HH 82% CANTIDAD (#) > 2.000 HH 61% < 2.000 HH 39% ESFUERZO (HH) Las decisiones ejecutivas de inversión deben ser justificadas a quien mantiene el gobierno de aquella organización ¿Cómo hacer esto con #NoEstimates?
  • 8. www.sgcampus.com.mx @sgcampus 2. Unidad de producto para producción de software A partir de esto, tuve la oportunidad de tomar varias decisiones: • Es más caro (proporcionalmente) construir un baño que un cuarto • Cuando tuve que estimar el costo únicamente del baño, ya tenía elementos para realizar estimaciones de abajo para arriba… • Los desembolsos ocurridos no excedieron la estimación inicial basada en la cantidad de metros cuadrados y en la productividad media Casa en el estilo Santa Fé de Cadu Presupuesto disponible 1 m 1 m Costo unitario medio de construcción por m2 La unidad de producto en la construcción civil
  • 9. www.sgcampus.com.mx @sgcampus 2. Unidad de producto para producción de software 1 m 1 m US$ 500,00/ m2 Productividad Casa construída 300 m2 Producto Costo Desembolso con las inversiones US$ 150.000,00 Arquitectos Ingenieros Maestro de obras Albañiles Ayudantes Impuestos y tasas Aprobaciones y registros Diversos materiales Apropiación indirecta de costos Apropiación directa de costos
  • 10. www.sgcampus.com.mx @sgcampus 2. Unidad de producto para producción de software ? ? Unidad de Producto ¿Cuál sería la métrica que cumple el papel de unidad de producto para la planificación y seguimiento del desempeño para el desarrollo de software? Permite aproximar o medir el tamaño del software a partir de sus requerimientos Permite comparar la productividad entre las diferentes técnicas y tecnologías disponibles Apoya en la estimación del esfuerzo del proyecto o en la cuantificación del desempeño a partir de la perspectiva del usuario o dueño para fines del análisis de productividad Es independiente del desarrollo técnico y decisiones de implementación
  • 11. www.sgcampus.com.mx @sgcampus Dimensión del diseño y calidad 2. Unidad de producto para producción de software Otras métricas permiten cuantificar el desempeño técnico de productos y servicios a partir de su implementación Análisis de eficiencia del diseño Apoyo a la verificación y validación Mejora en el rendimiento del diseño Apoyo a la Ingeniería de Requerimientos
  • 12. www.sgcampus.com.mx @sgcampus 2. Unidad de producto para producción de software Tipos de Requerimientos Requerimientos Funcionales Requerimientos que están específicamente asociados a una tarea o servicio del usuario y que describen lo que el software debe hacer independientemente de cómo lo haga Manipulación y movimiento de datos  Transferencia  Transformación  Almacenamiento  Recuperación Cualquier otro tipo de requerimientos o de restricción de orden general para el producto las tecnologías de desarrollo, mantenimiento, soporte y ejecución como: herramientas de programación y pruebas, sistemas operativos, sistemas de gestión de bases de datos, sistemas de gestión de la interfaz gráfica con el usuario, etc. La implementación desempeño, compatibilidad, usabilidad, confiabilidad, seguridad, mantenibilidad y portabilidad Lacalidad La organización equipos de destino, la adhesión a las normas y los lugares para la operación la interoperabilidad, privacidad y la protección contra daños incidentales o accidentales Al ambiente No son Requerimientos Funcionales
  • 13. www.sgcampus.com.mx @sgcampus 2. Unidad de producto para producción de software Requerimientos Funcionales del Usuário (‘RFU’) en los artefatos del software a ser medido artefatos con definición de requerimientos artefatos del modelo /análisis de datos artefatos con decomposición funcional de los requerimientos pré- implementación artefatos de almacenamiento físico de datos Procedimentos y manuales operacionales del software pós- implementación programas físicos ¿Dónde están los requerimientos funcionales?
  • 14. www.sgcampus.com.mx @sgcampus Artefactos de Software Primera versión de los Requerimientos Versión posterior de los Requerimientos Puede ser medido por COSMIC Debería ser registrado, puede ser cuantificable Requerimientos Funcionales del Usuario Requerimientos no Funcionales ‘Verdaderos’ RFN Requerimientos Funcionales del Usuario Evolución de la Línea del Tiempo del Proyecto 2. Unidad de producto para producción de software La relación entre los requerimientos funcionales y no funcionales a lo largo del desarrollo
  • 15. www.sgcampus.com.mx @sgcampus Inicialmente, RNF RFU a ser desenvolvido ou adquirido RNF após requisitos iniciais evoluírem em RFU El tiempo de respueta medio en horarios pico no debe exceder X segundos  Proveer datos externos en tiempo real  Monitorar y reportar tiempo medio de respuesta  Equipo apropriado  Parte del software escrito en lenguaje de bajo nivel La disponibilidad debe aumentar Y% en relación a la media anual pasada  Habilitar el cambio rápido de procesamiento para un procesador alternativo sin interrupción del servico  Procesador alternativo operando en ‘hot stand by’ 2. Unidad de producto para producción de software La relación entre los requerimientos funcionales y no funcionales a lo largo del desarrollo
  • 16. www.sgcampus.com.mx @sgcampus  ISO/IEC 14143 define los principios de la medición del tamaño funcional  Implementados en métodos de medición del tamaño funcional por: – COSMIC (ISO/IEC 19761:2011) – IFPUG APF (ISO/IEC 20926:2009) – UKSMA Mk II (ISO/IEC 20968:2002) – NESMA APF (ISO/IEC 24570:2005) – FISMA (ISO/IEC 29881:2010) 2. Unidad de producto para producción de software Derivación de unidad de producto de los requerimientos funcionales
  • 17. www.sgcampus.com.mx @sgcampus  2a generación de métodos de medición del tamaño funcional  Nivel de confiabilidad compatible con todos los tipos de software  Accesible al público y su documentación no tiene costo  Tiene reconocimiento total de la ISO/IEC  Proyecto es simple y posee una base conceptual compatible con la Ingeniería de Software moderna: – Los métodos anteriores no siempre tienen una aplicación amplia suficiente para atender las necesidades del mercado, o funcionan apenas con acceso restringido  Planificación y medición del desempeño tiene mayor exactitud  Tiene la habilidad de capturar el tamaño a partir de múltiples perspectivas 3. El método de medición de tamaño funcional de COSMIC
  • 18. www.sgcampus.com.mx @sgcampus Conjunto de:  Modelos  Principios  Reglas  Procesos 3. El método de medición de tamaño funcional de COSMIC Visión general del método de medición COSMIC objetivos 1 4 Independiente de implementación relacionada con los artefactos del software a ser medido Es un valor de una magnitud de acuerdo con el método de COSMIC Expresado en unidades: Puntos de Función COSMIC o PFC tamaño funcional de la parte del software Describe lo que el software debe hacer para los usuarios, quienes son los destinatarios y remitentes de los datos Excluye requerimientos técnicos o de calidad que expresan cómo el software funciona La función es relativa al proceso de información que el software debe ejecutar para sus usuarios Requerimientos funcionales del usuario en los artefactos del software a ser medido2 3
  • 19. www.sgcampus.com.mx @sgcampus 3. El método de medición de tamaño funcional de COSMIC Las fases en la medición COSMIC Tamaño funcional del software en unidades de PFC Objetivos1 4 3Estrategia de medición 6 Definición de cada parte del software a ser medido de la medición exigida 7 Fase de mapeo 9 Modelo de contexto de software 5 Modelo general de software 8 Requerimientos Funcionales del Usuario en la forma del modelo general de software 10 Fase de medición 11 Requerimientos funcionales del Usuario en artefatos del software a ser medido 2
  • 20. www.sgcampus.com.mx @sgcampus 3. El método de medición de tamaño funcional de COSMIC Usuario funcional Usuario funcional humano aplicación siendo medida Aplicación para usuario funcional de la aplicación siendo medida Usuarios funcionales de una parte del software a ser medido identificados a partir de sus RFU, como fuentes y/o destinos pretendidos para datos En la visión lógica para una parte del software de aplicaciones de negocio, los RFU acostumbran a describir sólo la funcionalidad requerida desde el punto de vista de usuarios humanos y, tal vez, otras aplicaciones pares que envíen o reciban datos Cualquier camada de software y dispositivos de hardware que soporten la interación de los usuarios funcionales con la aplicación son facilitadores de las transferencias de datos y no remitentes o destinatarios
  • 21. www.sgcampus.com.mx @sgcampus 3. El método de medición de tamaño funcional de COSMIC Frontera Frontera definida como interfaz conceptual entre software y usuario funcional Frontera no debe ser confundida con qualquier línea diseñada en un diagrama para delimitar o alcance de una parte del software o camada Frontera permite hacer distinción clara entre cualquier parte del software medido (dentro) y cualquier parte del ambiente de los usuarios funcionales (fuera) frontera fronteraaplicación siendo medida Aplicación par
  • 22. www.sgcampus.com.mx @sgcampus 3. El método de medición de tamaño funcional de COSMIC Movimientos de datos Usuarios funcionales interactuan con el software a través de la frontera via dos tipos de movimientos de datos (entries y exits) Software también intercambia datos con el dispositivo de almacenamiento persistente via dos tipos de movimientos de datos (reads y writes) El dispositivo de almacenamiento no es considerado como un usuario del software y, por tanto, está dentro de la frontera del software aplicación siendo medida aplicación par entradas salidas exits entries exits entries armazenamento persistente camadadeaplicación lecturasgrabaciones Movimientos de datos
  • 23. www.sgcampus.com.mx @sgcampus pedido item del pedido cliente producto pedido item del pedido usuario funcional processo funcional objetos de interés cliente producto pedido items de pedido confirmación del pedido Ejemplo de Movimientos de datos 3. El método de medición de tamaño funcional de COSMIC
  • 24. www.sgcampus.com.mx @sgcampus Editar y gerenciar pedidos de vacaciones 100 PFCG1 incluir, alterar, excluir, apreciar... 150 PFCG2 1 PFCG1 = 1,5 PFCG2 ± 25% especificación completa 200 PFCG3 1 PFCG2 = 1,33 PFCG3 ± 15% Estimar/Aproximar Medir propuesta requerimientos proyecto construcción implementación 1. Evaluar el desempeño por la relación entre la cantidad de horas invertidas y la cantidad de puntos función COSMIC medidos 2. Re-evaluar los indicadores de productividad para que pasen a incluir el desempeño de los proyectos que terminan 3. Re-evaluar la cantidad de puntos función COSMIC que corresponden en promedio a los procesos y a los conceptos de negocio Medición Vs Aproximación del tamaño 3. El método de medición de tamaño funcional de COSMIC
  • 25. www.sgcampus.com.mx @sgcampus Benchmarking 3. El método de medición de tamaño funcional de COSMIC Aproximación del Tamaño: 150 CFP Esfuerzo estimado por otros métodos: 1000 HH 07 HH/CFP o menos de 8% de probabilidad
  • 26. www.sgcampus.com.mx @sgcampus Conócete a ti mismo 3. El método de medición de tamaño funcional de COSMIC
  • 27. www.sgcampus.com.mx @sgcampus Conclusión De algo que estoy seguro es sobre la diferencia de las respuestas para la siguiente pregunta: "¿Por qué me pides 5.000 HH para el proyecto y no 2.000 HH?”  Porque yo lo sé  Porque sólo hay un 2% de probabilidad de entregar el proyecto de este tamaño con 2.000 HH de acuerdo a nuestros datos históricos. No hay un proyecto de la base de datos internacional de evaluación comparativa que indique esto como algo posible