20
Enlighten your software ¿Cómo puedo estimar cuando no hay requerimientos detallados? Dr. Francisco Valdés Souto @valdessoutofco, www.spingere.com.mx/blog

Estimacion requerimientos vagos

Embed Size (px)

Citation preview

Enlighten  your  software

¿Cómo  puedo  estimar  cuando  no  hay  requerimientos  

detallados?Dr.  Francisco  Valdés  Souto

@valdessoutofco,  www.spingere.com.mx/blog

Estimación

• “An  estimation  is  a  prediction  that  is  equally  likely  to  be  above  or  below  the  actual  result.”  T.  DeMarco

• “estimates  are,  in  reality,  guesses  regarding  future  performance  based  on  available  knowledge.  As  such,  their  accuracy  is  affected  by  the  extent  of  uncertainty  regarding  the  task  to  be  estimated.  Uncertainty  is  associated,   inter  alia,  with  definitions  of  requirements,  choice  of  technological  solutions,  innovativeness  of  needs,  and  customer  characteristics”  (Morgenshtern,  2007).

Pierre  Bourque (May 2007)

Características  Estimación

• Medición  (GIGO  -­‐ Std) • Confianza

¿Qué  se  puede  medir  en  el  software?

Factores  Técnicos

•Significante  para  desarrolladores  pero  no  para  usuarios  y  administración

•Pobre portabilidad•Se  conocen  precisamente  muy  tarde

•No  hay  un  estándar    internacional

Factores  Funcionales

•Significativo  para  los  managers  y  usuarios  y  staff técnico

•Portable•Puede ser  medido temprano•Basado en  estándarinternacional!

Q

Eff/$$

Método  COSMIC  (ISO  19761)• Common Software  MeasurementInternational  Consortium(COSMIC)  • Es  un  método  de  medición  de  tamaño  funcional  de  software• Es  el  único  método  de  segunda  generación.  • Está  basado  en  la  representación  del  software:  E,  X,  W,  R.  No  en  datos  estadísticos  como  en  la  primera  generación.  • Tiene  su  equivalente  en  Norma  Mexicana  (NMX),  que  está  incluida  en  el  MAAGTICSI

Niveles para  determiner  el  tamaño del  software  (Steve  McConnell)

• Count:  If  detailed  information  is  available,  the  most  accurate  way  of  determining  the  size  is  to  count.

• Compute:  If  not  enough  information  is  available  at  the  desired  level  of  detail,  count  something  that  is  available  and  then  compute  the  answer  by  using  calibration  data.

• Judge:  Experts  can  give  an  approximation  of  the  size,  based  on  a  mental  model  established  on  experience.  This  expert  judgment  is  the  least  accurate  means  of  approximation.  The  accuracy  can  be  strengthened  if  the  expert  judgment  can  be  tied  to  concrete  size  information.

Judge Compute CountAproximación  de  Tamaño  Funcional

Aproximación  de  Tamaño

• Se  utiliza cuándo:• No  hay  suficiente tiempo para  aplicar de  manera detallada el  método COSMIC• Los  requerimientosno  están al  nivel de  detalle requerido para  plicar el  método COSMIC

Level  of  granularity  of  the  Functional  User  Requirements  

Measurement  method  

Measurement  standard  

Actual  requirements  at  a  high  level  of  granularity  derived  from  e.g.:     high-­level  statement  of  actual  requirements  for  the  software     architecture  artifacts     high-­level  view  of  existing  software  expressed  in  locally-­defined  countable  units  e.g.  Use  Cases,  or  in  CFP  

‘Approximate  approach’  to  the  

COSMIC  measurement  method.  

 Calibrated  locally    

 The  average  size  of  the  locally  

defined  countable  unit,  expressed  in  local  units  or  in  

CFP  

The  functional  process  level  of  granularity  

COSMIC  measurement  method  

 The  CFP  

 

Needs  local  calibration

Requirement  granularity  level Consideration

Average  Functional  Process X

Functional  Process

This  approximation  is  valid  as  long  as  there  is  sufficient  reason  to  assume  that  the  sample  on  which  the  size  of  the  average  functional  process  is  calculated  is  representative  for  the  software  of  which  the  functional  size  of  which  size  is  approximated.  [38]

Fixed  Size  Classification   X

Functional  Process

This  approximation  is  valid  as  long  as  there  is  sufficient  reason  to  assume  that  the  assigned  size  classification  is  representative  for  the  software  of  which  the  functional  size  of  which  size  is  approximated.  [38]

Equal  Size  Bands  approximation X

Functional  Process

This  method  is  recommended  for  the  approximate  sizing  of  software  where  the  distribution  of  the  functional  process  sizes  is  skewed.  For  the  business  application  this  method  has  little  added  value  over  the  average  functional  process  method  (1)  or  the  fixed  size  classification  method  (2).  [38]

Average  Use  Case  approximation X Use  Case

This  approximation  is  valid  as  long  as  there  is  sufficient  reason  to  assume  that  the  assigned  size  classification  of  an  average  use  case  is  representative  for  the  software  of  which  the  functional  size  of  which  size  is  approximated.  [38]

Early  &  Quick  COSMIC  approximation X

Multilevel  Approach

The  precision  of  the  method  is  strongly  dependent  on  the  training  and  capability  of  the  practitioners  who  use  it  to  understand  the  categories  at  higher  levels  of  granularity.  [38]

EASY  Function  Point  Approximation X

Multilevel  Approach  

Different  choices  of  probability  distributions,  as  well  as  minimum  and  maximum  CFP  values  for  the  several  cases  of  Functional  Process  above,  lead  to  different  instantiation  of  the  EASY  approximation  approach

EPCU  approximation  approach

Functional  Process  &  Use  Cases

Does  not  require  local  calibration  (less  expensive  )  and  is  useful  when  there  are  no  historical  data  available.

Situación  Típica

Obtención  Requerimientos Estimación  $/EFF Validación

Ejecución  Proyecto

Enfoque  Actual

Recolección  e  Integración

Problemas:• Solo  pasan  los  requerimientos    a  los  CDS’s,  no  tienen  referencia

• Los  artefactos  mínimos  no  son  homologados

Problemas:• No  hay  datos  históricos  confiables• Las  validaciones  se  hacen  principalmente  por  Juicio  de  Experto  

• No  hay  sustentos   robustos  para  enfrentar  una  auditoría

• No  hay  certeza  de  que  se  paga  lo  mismo  por  funcionalidades  iguales

Caso  Práctico

1.Requerimientos  (CU) 2.  Analistas  de  Negocio 3.  www.mepe.com.mx

10  Módulos86  CU

Proceso  Funcional  /  Casos  de  Uso

Tamaño  del  Proceso  

Funcional  (0  

Nivel  de  Presencia  de  Objetos  

Alta  de  Establecimiento   3.3 3.5Baja 2.1 3.3Actualizacion 2.3 2.3Consulta 2.1 2.1Alta   3.8 2.3Baja 3.3 2.0Actualizacion 3.4 1.3Consulta 3.1 1.1Consulta  de  Información  del  Establecimiento 2.6 2.5

Proceso  Funcional  /  Casos  de  Uso

Tamaño  del  Proceso  

Funcional  (0  

Nivel  de  Presencia  de  Objetos  

ESTIMACIÓN

Alta  de  Establecimiento   3.3 3.5 14.58Baja 2.1 3.3 12.02Actualizacion 2.3 2.3 8.16Consulta 2.1 2.1 7.01Alta   3.8 2.3 9.32Baja 3.3 2.0 8.41Actualizacion 3.4 1.3 6.78Consulta 3.1 1.1 6.56Consulta  de  Información  del  Establecimiento 2.6 2.5 9.84

Caso  Práctico…

MMRE 44.7%DESV  STD 18.0%

Sigma Variación Confidencialidad Min Max Unidad1 126.35 68.26% 575.60 828.30 CFP2 252.70 95.46% 449.25 954.65 CFP3 379.05 99.73% 322.90 1081.00 CFP

Caso  Práctico

1.Requerimientos  (CU) 2.  Analistas  de  Negocio 3.  www.mepe.com.mx 4.  Estimación  Esfuerzo/Costo

10  Módulos86  CU

Proceso  Funcional  /  Casos  de  Uso

Tamaño  del  Proceso  

Funcional  (0  

Nivel  de  Presencia  de  Objetos  

Alta  de  Establecimiento   3.3 3.5Baja 2.1 3.3Actualizacion 2.3 2.3Consulta 2.1 2.1Alta   3.8 2.3Baja 3.3 2.0Actualizacion 3.4 1.3Consulta 3.1 1.1Consulta  de  Información  del  Establecimiento 2.6 2.5

Proceso  Funcional  /  Casos  de  Uso

Tamaño  del  Proceso  

Funcional  (0  

Nivel  de  Presencia  de  Objetos  

ESTIMACIÓN

Alta  de  Establecimiento   3.3 3.5 14.58Baja 2.1 3.3 12.02Actualizacion 2.3 2.3 8.16Consulta 2.1 2.1 7.01Alta   3.8 2.3 9.32Baja 3.3 2.0 8.41Actualizacion 3.4 1.3 6.78Consulta 3.1 1.1 6.56Consulta  de  Información  del  Establecimiento 2.6 2.5 9.84

Caso  Práctico…

MMRE 34.2%DESV  STD 26.8%

2,927.98HH

Sigma Variación Confidencialidad Min Max Unidad1 785.33 68.26% 2,142.65 3,713.30 HH2 1570.65 95.46% 1,357.32 4,498.63 HH3 2355.98 99.73% 572.00 5,283.95 HH

Caso  Práctico…

1.Requerimientos  (CU) 2.  Analistas  de  Negocio 3.  www.mepe.com.mx 4.  Estimación  Esfuerzo/Costo

10  Módulos86  CU

4.  Distribución  Esfuerzo/Costo

MIS Outsourcing MIS  Effort Outsourcing  Effort MIS  Effort Outsourcing  Effort1 7.5% 9.0% 219.60 263.52 396.30 475.562 2.0% 2.5% 58.56 73.20 105.68 132.103 0.5% 1.0% 14.64 29.28 26.42 52.844 1.0% 1.5% 29.28 43.92 52.84 79.265 8.0% 7.0% 234.24 204.96 422.72 369.886 7.0% 8.0% 204.96 234.24 369.88 422.727 0.0% 0.5% 0.00 14.64 0.00 26.428 20.0% 16.0% 585.60 468.48 1,056.79 845.439 0.0% 2.0% 0.00 58.56 0.00 105.6810 1.0% 1.0% 29.28 29.28 52.84 52.8411 0.0% 0.0% 0.00 0.00 0.00 0.00

12 0.0% 0.0% 0.00 0.00 0.00 0.0013 3.0% 3.0% 87.84 87.84 158.52 158.5214 2.0% 2.0% 58.56 58.56 105.68 105.6815 7.0% 9.0% 204.96 263.52 369.88 475.5616 4.0% 3.5% 117.12 102.48 211.36 184.9417 6.0% 5.0% 175.68 146.40 317.04 264.2018 5.0% 5.0% 146.40 146.40 264.20 264.2019 7.0% 5.0% 204.96 146.40 369.88 264.2020 0.0% 0.0% 0.00 0.00 0.00 0.0021 5.0% 3.0% 146.40 87.84 264.20 158.5222 0.0% 0.0% 0.00 0.00 0.00 0.0023 0.0% 1.0% 0.00 29.28 0.00 52.8424 2.0% 3.0% 58.56 87.84 105.68 158.5225 12.0% 12.0% 351.36 351.36 634.07 634.07

100.0% 100.0% 2,927.98 2,927.98 5,283.95 5,283.95

Installation/trainingProject  Management

Aproximado Max

Integration  TestingSystem  TestingField  Testing

Acceptance  TestingIndependent  TestingQuality  Assurance

Independent  Verification  and  

ValidationConfiguration  Management

Formal  IntegrationUser  Documentation

Unit  TestingFunctional  Testing

Detail  DesignDesign  Review

CodingReuse  AcquisitionPackage  PurchaseCode  Inspections

Initial  Design

ActividadesRequirementsPrototypingArchitectureProject  Plans

Caso  Práctico…

1.Requerimientos  (CU) 2.  Analistas  de  Negocio 3.  www.mepe.com.mx 4.  Estimación  Esfuerzo/Costo

10  Módulos86  CU

4.  Distribución  Esfuerzo/Costo5.  Documentar

Propuesta

Obtención  Requerimientos Estimación  $/EFF Validación

Ejecución  Proyecto

Enfoque  Actual

Enfoque  Propuesto

Recolección  e  Integración

Obtención  Requerimientos Estimación  $/EFF Validación

Ejecución  Proyecto

Recolección  e  Integración

¿Porqué  es  importante?

• Efectividad Operacional: conllevacualquier número de PRÁCTICAS que lepermiten a la empresa utilizar de mejormanera los insumos de producción

% Mejora

Tiempo

u Barrera  de  Productividad:  Máximo valor  que una compañía puede entregar sobre un  producto o  servicio a  un  costo dado.

Situación  Actual  Industria  de  Software  

Figura1.  Chaos  Manifesto 2013

¿Preguntas?Dr.  Francisco  Valdés  [email protected]@spingere.com.mx

@mxspingere,  www.spingere.com.mx/blog,@ammsmx

Dimensionamiento  y  Estimación  Profesional  de  Software!