Actualizado el 25 de Enero del 2020 (Publicado el 4 de Julio del 2018)
1.257 visualizaciones desde el 4 de Julio del 2018
2,5 MB
27 paginas
Creado hace 9a (21/09/2015)
www.sgcampus.com.mx
Carlos Eduardo Vázquez
Estimación del esfuerzo y costos
necesarios para el desarrollo de un
proyecto de software
@sgcampus
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
Estimar pequeños elementos es fácil
Dificuldad
Impacto
Pequeño!
Programar
una
Transacción
Probar una
Transacción
Estimar la realización de una actividad de
•
12 horas
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.
www.sgcampus.com.mx
@sgcampus
1. La problemática de la
estimación
Un gran elemento como la suma de
pequeñas partes
Dificultad
Impacto
Fase 01 Fase 02 Fase 03 Fase 04
Grande!
Estimar la entrega de un
producto final a lo largo de dos
años
www.sgcampus.com.mx
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
@sgcampus
1. La problemática de la
estimación
El fallo en esta lógica
Alcance
preliminar
Necesidades
de negocio
Proceso de la Ingeniería de Requierimientos
Evolución del desarrollo
Decisiones y acuerdos sobre la solución
?
?
?
?
?
No se pueden identificar cuáles son esas
actividades de 12 horas durante las fases
•
iniciales del desarrollo
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
www.sgcampus.com.mx
@sgcampus
1. La problemática de la
estimación
#NoEstimates
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
¿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.
•
www.sgcampus.com.mx
@sgcampus
1. La problemática de la
estimación
CANTIDAD (#)
ESFUERZO (HH)
> 2.000
HH
18%
< 2.000
HH
82%
< 2.000
HH
39%
> 2.000
HH
61%
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
La unidad de producto en la construcción civil
Casa en el estilo Santa Fé
de Cadu
Presupuesto
disponible
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…
1 m
• Los desembolsos ocurridos no
excedieron la estimación inicial
basada en la cantidad de metros
cuadrados y en la productividad
media
1 m
Costo unitario medio de
construcción por m2
www.sgcampus.com.mx
@sgcampus
2. Unidad de producto para
producción de software
Productividad
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
1 m
1 m
US$ 500,00/
m2
Casa construida
300 m2
Producto
Desembolso con
las inversiones
US$ 150.000,00
Costo
www.sgcampus.com.mx
@sgcampus
2. Unidad de producto para
producción de software
Unidad de Producto
Permite aproximar o medir el
tamaño del software a partir de sus
requerimientos
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
Permite comparar la productividad
entre las diferentes técnicas y
tecnologías disponibles
@sgcampus
?
?
¿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?
www.sgcampus.com.mx
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
Mejora en el rendimiento del diseño
Apoyo a la Ingeniería de Requerimientos
Apoyo a la verificación y validación
Dimensión del
diseño y calidad
www.sgcampus.com.mx
@sgcampus
2. Unidad de producto para
producción de software
Tipos de Requerimientos
No son Requerimientos Funcionales
Cualquier otro tipo de requerimientos o de restricción de
orden general para el producto
l
A
a
L
e
t
i
n
e
b
m
a
la interoperabilidad,
privacidad y la
protección contra daños
incidentales o
accidentales
a
L
equipos de destino, la
adhesión a las normas
y los lugares para la
operación
i
n
ó
c
a
z
n
a
g
r
o
i
i
t
n
ó
c
a
n
e
m
e
p
m
l
i
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.
d
a
d
i
l
a
c
a
L
desempeño,
compatibilidad,
usabilidad,
confiabilidad,
seguridad,
mantenibilidad y
portabilidad
www.sgcampus.com.mx
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
@sgcampus
2. Unidad de producto para
producción de software
¿Dónde están los requerimientos funcionales?
artefatos con
definición de
requerimientos
artefatos con
decomposición funcional
de los requerimientos
artefatos del modelo
/análisis de datos
Requerimientos Funcionales del Usuário
(‘RFU’) en los artefatos del software a ser
medido
programas
físicos
Procedimentos y manuales
operacionales del software
www.sgcampus.com.mx
pré-
implementación
pós-
implementación
artefatos de
almacenamiento
físico de datos
@sgcampus
2. Unidad de producto para
producción de software
La relación entre los requerimientos funcionales y no funcionales a lo
largo del desarrollo
Primera versión de los
Versión posterior de los
Requerimientos
Requerimientos
Requerimientos
Funcionales del
Usuario
Requerimientos
Funcionales del
Usuario
Puede ser medido
por COSMIC
Requerimientos no
Funcionales
‘Verdaderos’
RFN
Debería ser
registrado, puede
ser cuantificable
Artefactos de
Software
www.sgcampus.com.mx
@sgcampus
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
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
La disponibilidad debe
aumentar Y% en
relación a la media
anual pasada
Proveer datos externos en
Equipo apropriado
tiempo real
Parte del software escrito en
Monitorar y reportar tiempo
lenguaje de bajo nivel
medio de respuesta
Habilitar el cambio rápido de
Procesador alternativo
procesamiento para un
procesador alternativo sin
interrupción del servico
operando en ‘hot stand by’
www.sgcampus.com.mx
@sgcampus
2. Unidad de producto para
producción de software
Derivación de unidad de producto de los requerimientos funcionales
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)
www.sgcampus.com.mx
@sgcampus
3. El método de medición de
tamaño funcional de COSMIC
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 capt
Comentarios de: Estimación del esfuerzo y costos necesarios para el desarrollo de un proyecto de software (0)
No hay comentarios