SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
Economía del
Software
Noviembre 2019
Miguel G.
Flores
https://www.miguelg.com
@miguelgflores
Indice
● Negocio
● Contexto
● Coste del desarrollo
● Prácticas
● Conclusiones
● Q&A
Negocio
Contexto
Contexto
● Momento del proyecto
● Metodología
Momento del proyecto
Descubrimiento:
- Validar hipótesis
- Velocidad
- Bajo time to market
Momento del proyecto
Long Term:
- Foco en la entrega y añadir nueva funcionalidad
- Bajo coste de mantenimiento
- Reducir el coste marginal
08 de abril de 2019
Coste Marginal
“Coste que se asume al iniciar la producción de una
unidad adicional”
-- Economipedia.com
Contexto
● Momento del proyecto
● Metodología
Coste del
desarrollo de
Software
08 de abril de 2019
Leer código / Escribir código
08 de abril de 2019
Leer código / Escribir código
“The ratio of time spent reading versus writing is well
over 10 to 1. We are constantly reading old code as
part of the effort to write new code.”
― Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship
08 de abril de 2019
Coste del crear / Coste de modificar
08 de abril de 2019
Coste del crear / Coste de modificar
Feature 1
08 de abril de 2019
Coste del crear / Coste de modificar
Feature 1 + Feature 2
08 de abril de 2019
Coste del crear / Coste de modificar
Feature 1 + Feature 2 + Feature 3
08 de abril de 2019
Complejidad esencial / Complejidad accidental
08 de abril de 2019
Complejidad esencial / Complejidad accidental
08 de abril de 2019
Complejidad esencial / Complejidad accidental
08 de abril de 2019
Coste de los bugs
08 de abril de 2019
Coste de solución de bugs
https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20100036670.pdf
08 de abril de 2019
Bug en fase de creación vs bug en producción
10x
08 de abril de 2019
Coste de oportunidad
Terminología y negocio
“Es el coste de la alternativa a la que renunciamos
cuando tomamos una decisión, incluyendo los
beneficios que podríamos haber obtenido de haber
escogido la opción alternativa.”
-- Economipedia.com
Prácticas
08 de abril de 2019
Testing automático
08 de abril de 2019
Testing automático
08 de abril de 2019
Testing automático
“We found that the TDD developers produced higher
quality code, which passed 18% more functional
black box test cases. However, TDD developer pairs
took 16% more time for development. A moderate
correlation between time spent and the resulting
quality was established upon analysis”
― An Initial Investigation of Test Driven Development in Industry
https://collaboration.csc.ncsu.edu/laurie/Papers/TDDpaperv8.pdf
● El diseño va evolucionando según se crea la aplicación
08 de abril de 2019
Diseño emergente
● Se basa en reglas de simplicidad de código
● El código pasa una batería de tests automáticos
● El código no tiene duplicidad
● El código separa componentes con distintas responsabilidades
● El código tiene la mínima cantidad de componentes (clases, funciones, …) para
cumplir los tres valores anteriores
● El diseño se basa en patrones conocidos para reducir el coste de mantenimiento
● Limitar el diseño a los requisitos actuales
Rentabilidad del diseño
https://martinfowler.com/bliki/DesignStaminaHypothesis.html
08 de abril de 2019
Refactorizar
“Refactoring is a disciplined technique for
restructuring an existing body of code, altering its
internal structure without changing its external
behavior.”
― Martin Fowler
https://refactoring.com/
Rediscover
the city.
08 de abril de 2019
TDD
Rediscover
the city.
08 de abril de 2019
Boy Scout
Rule
Rediscover
the city.
08 de abril de 2019
Momento
AJA!
Rediscover
the city.
08 de abril de 2019
Allanar el
camino
Conclusión
08 de abril de 2019
Conclusiones
“No es por calidad, por hacer código limpio,
profesionalidad o hacer lo correcto. Es economía.
Reducir la volatilidad en el coste de la siguiente
funcionalidad y proteger la base de código”
― Miguel G. Flores
Economía del Software
¡Muchas Gracias!
Miguel G. Flores
@miguelgflores
Q&A
Noviembre 2019

Más contenido relacionado

Similar a Miguel G. Flores - Software economics

Capitulo 6 gestion de costos del proyecto
Capitulo 6   gestion de costos del proyectoCapitulo 6   gestion de costos del proyecto
Capitulo 6 gestion de costos del proyectou2013116022
 
Angel Ferré y Pablo Mir - Responsable del Delivery nacional /local/ internaci...
Angel Ferré y Pablo Mir - Responsable del Delivery nacional /local/ internaci...Angel Ferré y Pablo Mir - Responsable del Delivery nacional /local/ internaci...
Angel Ferré y Pablo Mir - Responsable del Delivery nacional /local/ internaci...COIICV
 
Métodos ágiles de programación
Métodos ágiles de programaciónMétodos ágiles de programación
Métodos ágiles de programaciónGiovanna Rangel
 
Metodologías ágiles
Metodologías ágilesMetodologías ágiles
Metodologías ágilesPablo Macon
 
Oportunidades de vinculación academia industria en temas de arquitectura de s...
Oportunidades de vinculación academia industria en temas de arquitectura de s...Oportunidades de vinculación academia industria en temas de arquitectura de s...
Oportunidades de vinculación academia industria en temas de arquitectura de s...Software Guru
 
Sesion 2 - Contratos Tradicionales vs Contratos Colaborativos rev.03.pdf
Sesion 2 - Contratos Tradicionales vs Contratos Colaborativos rev.03.pdfSesion 2 - Contratos Tradicionales vs Contratos Colaborativos rev.03.pdf
Sesion 2 - Contratos Tradicionales vs Contratos Colaborativos rev.03.pdfMORILLAS1
 
2. Administración de Proyectos de Software (UTM 2071)
2. Administración de Proyectos de Software (UTM 2071)2. Administración de Proyectos de Software (UTM 2071)
2. Administración de Proyectos de Software (UTM 2071)Mario A Moreno Rocha
 
Libro blanco comparando el costo total de propiedad en las soluciones de int...
Libro blanco comparando el costo  total de propiedad en las soluciones de int...Libro blanco comparando el costo  total de propiedad en las soluciones de int...
Libro blanco comparando el costo total de propiedad en las soluciones de int...Hernando Bernal Algecira
 
IPD - LEAN PROJECT DELIVERY - TARGET COST
IPD - LEAN PROJECT DELIVERY - TARGET COSTIPD - LEAN PROJECT DELIVERY - TARGET COST
IPD - LEAN PROJECT DELIVERY - TARGET COSTJuan Felipe Pons Achell
 
La Práctica : Una visión general
La Práctica : Una visión generalLa Práctica : Una visión general
La Práctica : Una visión generalCinthia Pulla
 
La Práctica : Una visión general
La Práctica : Una visión generalLa Práctica : Una visión general
La Práctica : Una visión generalguest87d127
 
Procesos de Ingenieria de Software
Procesos de Ingenieria de SoftwareProcesos de Ingenieria de Software
Procesos de Ingenieria de SoftwareAngel Macas
 
Grupo 5-modelos-de-procesos-de-software
Grupo 5-modelos-de-procesos-de-softwareGrupo 5-modelos-de-procesos-de-software
Grupo 5-modelos-de-procesos-de-softwarePrimoLaura
 
Díme que desarrollas y te diré que metodología usar
Díme que desarrollas y te diré que metodología usarDíme que desarrollas y te diré que metodología usar
Díme que desarrollas y te diré que metodología usarKiberley Santos
 

Similar a Miguel G. Flores - Software economics (20)

Capitulo 6 gestion de costos del proyecto
Capitulo 6   gestion de costos del proyectoCapitulo 6   gestion de costos del proyecto
Capitulo 6 gestion de costos del proyecto
 
Angel Ferré y Pablo Mir - Responsable del Delivery nacional /local/ internaci...
Angel Ferré y Pablo Mir - Responsable del Delivery nacional /local/ internaci...Angel Ferré y Pablo Mir - Responsable del Delivery nacional /local/ internaci...
Angel Ferré y Pablo Mir - Responsable del Delivery nacional /local/ internaci...
 
Métodos ágiles de programación
Métodos ágiles de programaciónMétodos ágiles de programación
Métodos ágiles de programación
 
Metodologías ágiles
Metodologías ágilesMetodologías ágiles
Metodologías ágiles
 
ASPgems 2018
ASPgems 2018 ASPgems 2018
ASPgems 2018
 
2 modelos de la ingenieria de software
2  modelos de la ingenieria de software2  modelos de la ingenieria de software
2 modelos de la ingenieria de software
 
Métodos agiles
Métodos agilesMétodos agiles
Métodos agiles
 
Oportunidades de vinculación academia industria en temas de arquitectura de s...
Oportunidades de vinculación academia industria en temas de arquitectura de s...Oportunidades de vinculación academia industria en temas de arquitectura de s...
Oportunidades de vinculación academia industria en temas de arquitectura de s...
 
Sesion 2 - Contratos Tradicionales vs Contratos Colaborativos rev.03.pdf
Sesion 2 - Contratos Tradicionales vs Contratos Colaborativos rev.03.pdfSesion 2 - Contratos Tradicionales vs Contratos Colaborativos rev.03.pdf
Sesion 2 - Contratos Tradicionales vs Contratos Colaborativos rev.03.pdf
 
2. Administración de Proyectos de Software (UTM 2071)
2. Administración de Proyectos de Software (UTM 2071)2. Administración de Proyectos de Software (UTM 2071)
2. Administración de Proyectos de Software (UTM 2071)
 
Libro blanco comparando el costo total de propiedad en las soluciones de int...
Libro blanco comparando el costo  total de propiedad en las soluciones de int...Libro blanco comparando el costo  total de propiedad en las soluciones de int...
Libro blanco comparando el costo total de propiedad en las soluciones de int...
 
Cocomo 1 y cocomo 2
Cocomo 1 y  cocomo 2Cocomo 1 y  cocomo 2
Cocomo 1 y cocomo 2
 
IPD - LEAN PROJECT DELIVERY - TARGET COST
IPD - LEAN PROJECT DELIVERY - TARGET COSTIPD - LEAN PROJECT DELIVERY - TARGET COST
IPD - LEAN PROJECT DELIVERY - TARGET COST
 
La Práctica : Una visión general
La Práctica : Una visión generalLa Práctica : Una visión general
La Práctica : Una visión general
 
La Práctica : Una visión general
La Práctica : Una visión generalLa Práctica : Una visión general
La Práctica : Una visión general
 
Procesos de Ingenieria de Software
Procesos de Ingenieria de SoftwareProcesos de Ingenieria de Software
Procesos de Ingenieria de Software
 
Grupo 5-modelos-de-procesos-de-software
Grupo 5-modelos-de-procesos-de-softwareGrupo 5-modelos-de-procesos-de-software
Grupo 5-modelos-de-procesos-de-software
 
ESTUDIO TECNICO DEL MERCADO
ESTUDIO TECNICO DEL MERCADOESTUDIO TECNICO DEL MERCADO
ESTUDIO TECNICO DEL MERCADO
 
Díme que desarrollas y te diré que metodología usar
Díme que desarrollas y te diré que metodología usarDíme que desarrollas y te diré que metodología usar
Díme que desarrollas y te diré que metodología usar
 
Ejemplo proyecto informatico.pptx
Ejemplo proyecto informatico.pptxEjemplo proyecto informatico.pptx
Ejemplo proyecto informatico.pptx
 

Último

707555966-El-Libro-de-La-Inteligencia-Artificial-Version-11-Alfredovela.pdf
707555966-El-Libro-de-La-Inteligencia-Artificial-Version-11-Alfredovela.pdf707555966-El-Libro-de-La-Inteligencia-Artificial-Version-11-Alfredovela.pdf
707555966-El-Libro-de-La-Inteligencia-Artificial-Version-11-Alfredovela.pdfErnestoCano12
 
Diagramas de Tiempo.pptpara electronica aplicada
Diagramas de Tiempo.pptpara electronica aplicadaDiagramas de Tiempo.pptpara electronica aplicada
Diagramas de Tiempo.pptpara electronica aplicadaSantiago Luis Gómez
 
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 20.5 PREFERIDO.wbk.wbk SEG...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 20.5 PREFERIDO.wbk.wbk SEG...TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 20.5 PREFERIDO.wbk.wbk SEG...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 20.5 PREFERIDO.wbk.wbk SEG...FRANCISCOJUSTOSIERRA
 
REGLA DE PROBABILIDADES Y REGLA DE BAYES.pptx
REGLA DE PROBABILIDADES  Y REGLA DE BAYES.pptxREGLA DE PROBABILIDADES  Y REGLA DE BAYES.pptx
REGLA DE PROBABILIDADES Y REGLA DE BAYES.pptxJhonLeon59
 
Presentación de proyecto y resumen de conceptos (3).pdf
Presentación de proyecto y resumen de conceptos (3).pdfPresentación de proyecto y resumen de conceptos (3).pdf
Presentación de proyecto y resumen de conceptos (3).pdflisCuenca
 
SISTEMA ARTICULADO DE CUATRO BARRAS .pdf
SISTEMA ARTICULADO DE CUATRO BARRAS .pdfSISTEMA ARTICULADO DE CUATRO BARRAS .pdf
SISTEMA ARTICULADO DE CUATRO BARRAS .pdfIvanIsraelPiaColina
 
Carbohidratos utilizados en la industria alimentaria.pdf
Carbohidratos utilizados en la industria alimentaria.pdfCarbohidratos utilizados en la industria alimentaria.pdf
Carbohidratos utilizados en la industria alimentaria.pdfJESUSGARRIDOISLAS1
 
Redes GSM en la tecnología en la segunda
Redes GSM en la tecnología en la segundaRedes GSM en la tecnología en la segunda
Redes GSM en la tecnología en la segundaanonimussecreto
 
INVESTIGACION DE ACCIDENTE EN REFINERIA.pptx
INVESTIGACION DE ACCIDENTE EN REFINERIA.pptxINVESTIGACION DE ACCIDENTE EN REFINERIA.pptx
INVESTIGACION DE ACCIDENTE EN REFINERIA.pptxssuserd2ff51
 
Tema 1 ECONOMIA del MECANIZADO.pptx.mfse
Tema 1 ECONOMIA del MECANIZADO.pptx.mfseTema 1 ECONOMIA del MECANIZADO.pptx.mfse
Tema 1 ECONOMIA del MECANIZADO.pptx.mfseyohepirell
 
Sistema de 4 barras articuladas bb_2.pdf
Sistema de 4 barras articuladas bb_2.pdfSistema de 4 barras articuladas bb_2.pdf
Sistema de 4 barras articuladas bb_2.pdfLuisMarioMartnez1
 
FORMATO PARA CONTROL DE CALIDAD DE PRODUCTOS VARIOS EN INGENIERIA ALIMENTARIA
FORMATO PARA CONTROL DE CALIDAD DE PRODUCTOS VARIOS EN INGENIERIA ALIMENTARIAFORMATO PARA CONTROL DE CALIDAD DE PRODUCTOS VARIOS EN INGENIERIA ALIMENTARIA
FORMATO PARA CONTROL DE CALIDAD DE PRODUCTOS VARIOS EN INGENIERIA ALIMENTARIACesarCastilloHernand
 
368165951-Procedimiento-de-Gruas-e-Izaje.doc
368165951-Procedimiento-de-Gruas-e-Izaje.doc368165951-Procedimiento-de-Gruas-e-Izaje.doc
368165951-Procedimiento-de-Gruas-e-Izaje.docangelmt2
 
CLASES DE ARRANQUE DE UN MOTOR ELECTRICO.pptx
CLASES DE ARRANQUE DE UN MOTOR ELECTRICO.pptxCLASES DE ARRANQUE DE UN MOTOR ELECTRICO.pptx
CLASES DE ARRANQUE DE UN MOTOR ELECTRICO.pptxLuisLobatoingaruca
 
Capacitación virtual_Hcampos_Asistencia Tecnica_Cajamarca.pptx
Capacitación virtual_Hcampos_Asistencia Tecnica_Cajamarca.pptxCapacitación virtual_Hcampos_Asistencia Tecnica_Cajamarca.pptx
Capacitación virtual_Hcampos_Asistencia Tecnica_Cajamarca.pptxErickAbrahamChavezBe
 
Circuitos_basicos_de_neumatica miquel carulla .pdf
Circuitos_basicos_de_neumatica  miquel carulla .pdfCircuitos_basicos_de_neumatica  miquel carulla .pdf
Circuitos_basicos_de_neumatica miquel carulla .pdfJosueUlin1
 
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDF
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDFACT MECANISMO DE 4 BARRAS ARTICULADAS.PDF
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDFDavidMorales257484
 

Último (20)

707555966-El-Libro-de-La-Inteligencia-Artificial-Version-11-Alfredovela.pdf
707555966-El-Libro-de-La-Inteligencia-Artificial-Version-11-Alfredovela.pdf707555966-El-Libro-de-La-Inteligencia-Artificial-Version-11-Alfredovela.pdf
707555966-El-Libro-de-La-Inteligencia-Artificial-Version-11-Alfredovela.pdf
 
Diagramas de Tiempo.pptpara electronica aplicada
Diagramas de Tiempo.pptpara electronica aplicadaDiagramas de Tiempo.pptpara electronica aplicada
Diagramas de Tiempo.pptpara electronica aplicada
 
Litio en México y su uso en baterías
Litio en México y su uso en bateríasLitio en México y su uso en baterías
Litio en México y su uso en baterías
 
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 20.5 PREFERIDO.wbk.wbk SEG...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 20.5 PREFERIDO.wbk.wbk SEG...TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 20.5 PREFERIDO.wbk.wbk SEG...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 20.5 PREFERIDO.wbk.wbk SEG...
 
REGLA DE PROBABILIDADES Y REGLA DE BAYES.pptx
REGLA DE PROBABILIDADES  Y REGLA DE BAYES.pptxREGLA DE PROBABILIDADES  Y REGLA DE BAYES.pptx
REGLA DE PROBABILIDADES Y REGLA DE BAYES.pptx
 
Presentación de proyecto y resumen de conceptos (3).pdf
Presentación de proyecto y resumen de conceptos (3).pdfPresentación de proyecto y resumen de conceptos (3).pdf
Presentación de proyecto y resumen de conceptos (3).pdf
 
SISTEMA ARTICULADO DE CUATRO BARRAS .pdf
SISTEMA ARTICULADO DE CUATRO BARRAS .pdfSISTEMA ARTICULADO DE CUATRO BARRAS .pdf
SISTEMA ARTICULADO DE CUATRO BARRAS .pdf
 
Carbohidratos utilizados en la industria alimentaria.pdf
Carbohidratos utilizados en la industria alimentaria.pdfCarbohidratos utilizados en la industria alimentaria.pdf
Carbohidratos utilizados en la industria alimentaria.pdf
 
Redes GSM en la tecnología en la segunda
Redes GSM en la tecnología en la segundaRedes GSM en la tecnología en la segunda
Redes GSM en la tecnología en la segunda
 
INVESTIGACION DE ACCIDENTE EN REFINERIA.pptx
INVESTIGACION DE ACCIDENTE EN REFINERIA.pptxINVESTIGACION DE ACCIDENTE EN REFINERIA.pptx
INVESTIGACION DE ACCIDENTE EN REFINERIA.pptx
 
Tema 1 ECONOMIA del MECANIZADO.pptx.mfse
Tema 1 ECONOMIA del MECANIZADO.pptx.mfseTema 1 ECONOMIA del MECANIZADO.pptx.mfse
Tema 1 ECONOMIA del MECANIZADO.pptx.mfse
 
Deusto Ingeniería 24 (Año 2023) - Universidad de Deusto
Deusto Ingeniería 24 (Año 2023) - Universidad de DeustoDeusto Ingeniería 24 (Año 2023) - Universidad de Deusto
Deusto Ingeniería 24 (Año 2023) - Universidad de Deusto
 
ESTRATEGIA comercial de productos en mineria.pptx
ESTRATEGIA comercial de productos en mineria.pptxESTRATEGIA comercial de productos en mineria.pptx
ESTRATEGIA comercial de productos en mineria.pptx
 
Sistema de 4 barras articuladas bb_2.pdf
Sistema de 4 barras articuladas bb_2.pdfSistema de 4 barras articuladas bb_2.pdf
Sistema de 4 barras articuladas bb_2.pdf
 
FORMATO PARA CONTROL DE CALIDAD DE PRODUCTOS VARIOS EN INGENIERIA ALIMENTARIA
FORMATO PARA CONTROL DE CALIDAD DE PRODUCTOS VARIOS EN INGENIERIA ALIMENTARIAFORMATO PARA CONTROL DE CALIDAD DE PRODUCTOS VARIOS EN INGENIERIA ALIMENTARIA
FORMATO PARA CONTROL DE CALIDAD DE PRODUCTOS VARIOS EN INGENIERIA ALIMENTARIA
 
368165951-Procedimiento-de-Gruas-e-Izaje.doc
368165951-Procedimiento-de-Gruas-e-Izaje.doc368165951-Procedimiento-de-Gruas-e-Izaje.doc
368165951-Procedimiento-de-Gruas-e-Izaje.doc
 
CLASES DE ARRANQUE DE UN MOTOR ELECTRICO.pptx
CLASES DE ARRANQUE DE UN MOTOR ELECTRICO.pptxCLASES DE ARRANQUE DE UN MOTOR ELECTRICO.pptx
CLASES DE ARRANQUE DE UN MOTOR ELECTRICO.pptx
 
Capacitación virtual_Hcampos_Asistencia Tecnica_Cajamarca.pptx
Capacitación virtual_Hcampos_Asistencia Tecnica_Cajamarca.pptxCapacitación virtual_Hcampos_Asistencia Tecnica_Cajamarca.pptx
Capacitación virtual_Hcampos_Asistencia Tecnica_Cajamarca.pptx
 
Circuitos_basicos_de_neumatica miquel carulla .pdf
Circuitos_basicos_de_neumatica  miquel carulla .pdfCircuitos_basicos_de_neumatica  miquel carulla .pdf
Circuitos_basicos_de_neumatica miquel carulla .pdf
 
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDF
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDFACT MECANISMO DE 4 BARRAS ARTICULADAS.PDF
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDF
 

Miguel G. Flores - Software economics

  • 3. Indice ● Negocio ● Contexto ● Coste del desarrollo ● Prácticas ● Conclusiones ● Q&A
  • 6. Contexto ● Momento del proyecto ● Metodología
  • 7. Momento del proyecto Descubrimiento: - Validar hipótesis - Velocidad - Bajo time to market
  • 8. Momento del proyecto Long Term: - Foco en la entrega y añadir nueva funcionalidad - Bajo coste de mantenimiento - Reducir el coste marginal
  • 9. 08 de abril de 2019 Coste Marginal “Coste que se asume al iniciar la producción de una unidad adicional” -- Economipedia.com
  • 10. Contexto ● Momento del proyecto ● Metodología
  • 12. 08 de abril de 2019 Leer código / Escribir código
  • 13. 08 de abril de 2019 Leer código / Escribir código “The ratio of time spent reading versus writing is well over 10 to 1. We are constantly reading old code as part of the effort to write new code.” ― Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship
  • 14. 08 de abril de 2019 Coste del crear / Coste de modificar
  • 15. 08 de abril de 2019 Coste del crear / Coste de modificar Feature 1
  • 16. 08 de abril de 2019 Coste del crear / Coste de modificar Feature 1 + Feature 2
  • 17. 08 de abril de 2019 Coste del crear / Coste de modificar Feature 1 + Feature 2 + Feature 3
  • 18. 08 de abril de 2019 Complejidad esencial / Complejidad accidental
  • 19. 08 de abril de 2019 Complejidad esencial / Complejidad accidental
  • 20. 08 de abril de 2019 Complejidad esencial / Complejidad accidental
  • 21. 08 de abril de 2019 Coste de los bugs
  • 22. 08 de abril de 2019 Coste de solución de bugs https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20100036670.pdf
  • 23. 08 de abril de 2019 Bug en fase de creación vs bug en producción 10x
  • 24. 08 de abril de 2019 Coste de oportunidad Terminología y negocio “Es el coste de la alternativa a la que renunciamos cuando tomamos una decisión, incluyendo los beneficios que podríamos haber obtenido de haber escogido la opción alternativa.” -- Economipedia.com
  • 26. 08 de abril de 2019 Testing automático
  • 27. 08 de abril de 2019 Testing automático
  • 28. 08 de abril de 2019 Testing automático “We found that the TDD developers produced higher quality code, which passed 18% more functional black box test cases. However, TDD developer pairs took 16% more time for development. A moderate correlation between time spent and the resulting quality was established upon analysis” ― An Initial Investigation of Test Driven Development in Industry https://collaboration.csc.ncsu.edu/laurie/Papers/TDDpaperv8.pdf
  • 29. ● El diseño va evolucionando según se crea la aplicación 08 de abril de 2019 Diseño emergente ● Se basa en reglas de simplicidad de código ● El código pasa una batería de tests automáticos ● El código no tiene duplicidad ● El código separa componentes con distintas responsabilidades ● El código tiene la mínima cantidad de componentes (clases, funciones, …) para cumplir los tres valores anteriores ● El diseño se basa en patrones conocidos para reducir el coste de mantenimiento ● Limitar el diseño a los requisitos actuales
  • 31. 08 de abril de 2019 Refactorizar “Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior.” ― Martin Fowler https://refactoring.com/
  • 32. Rediscover the city. 08 de abril de 2019 TDD
  • 33. Rediscover the city. 08 de abril de 2019 Boy Scout Rule
  • 34. Rediscover the city. 08 de abril de 2019 Momento AJA!
  • 35. Rediscover the city. 08 de abril de 2019 Allanar el camino
  • 37. 08 de abril de 2019 Conclusiones “No es por calidad, por hacer código limpio, profesionalidad o hacer lo correcto. Es economía. Reducir la volatilidad en el coste de la siguiente funcionalidad y proteger la base de código” ― Miguel G. Flores
  • 38. Economía del Software ¡Muchas Gracias! Miguel G. Flores @miguelgflores