Software economics
$9.00
Precio mínimo
$12.00
Precio sugerido

Software economics

Una guía de estudio

Sobre este libro

El libro reflexiona sobre prácticas de software como TDD, trabajo en pareja, diseño de código, arquitectura, etc. desde un punto de vista de coste, valor, riesgo y deuda.

Además, se introducen conceptos económicos como coste de oportunidad, real options o deuda técnica, que ayudarán al lector a la hora de tomar decisiones.

En definitiva, el libro intenta arrojar luz sobre cómo proteger una inversión desde un teclado y un ratón

Sobre el autor

Luis Artola
Luis Artola

Jardinero del software. Filósofo de salón. Hobbit gipuzkoano. Trabaja como Full-Stack Developer "de verdad" (from concept to cash) en BuntPlanet. Especialista en traducir informático/humano y humano/informático. Lleva 15 años haciendo software y, también, intentando entender exactamente qué es hacer software.

Table of Contents

  •  
    • Cómo leer este libro
    • Créditos
  • I PROTEGIENDO UNA INVERSIÓN
    • 1. Somos negocio
      • 1.1 Introducción
      • 1.2 Proteger una inversión
      • 1.3 Falta de inversión vs. deuda
        • La metáfora
        • Deuda técnica vs código de mierda
        • Promesas rotas
      • 1.4 Rentabilidad
        • Valor
        • Retorno de inversión
        • Coste
        • Por qué Negocio se centra en los costes
        • La reducción de costes no suele ser la mejor opción
        • Trabajadores del conocimiento
        • En busca de las economías de escala
        • Otra manera de mirar
      • 1.5 Riesgo
      • 1.6 Liquidez
        • Coste de oportunidad
        • Dividir funcionalidad en pequeños verticales
        • Valor temporal del dinero
      • 1.7 Priorización economics
        • Valor
        • Riesgo
      • 1.8 Contexto
      • 1.9 Resumen
      • 1.10 Palabros del capítulo
        • Conceptos mencionados y más
        • Links
      • 1.11 Libros destacados
    • 2. Óptica
      • 2.1 Introducción
      • 2.2 Rentabilidad, aumentar valor/ingresos
        • Descubrimiento y exploración
        • Priorización y estimación
        • Programar: añadir funcionalidad
      • 2.3 Rentabilidad: menos gastos
        • Reordenar código
        • Trabajar con Legacy
        • Arreglar bugs
        • Automatización
        • Ejecución de pruebas automáticas
        • ¿Test Driven Development?
      • 2.4 Mitigación de riesgos
        • Propiedad colectiva del código
        • Spikes
        • Trabajo en pareja
        • RAT
        • Integración continua
        • Arquitectura
        • Prácticas Agile
      • 2.5 Resumen
      • 2.6 Palabros del capítulo
        • Conceptos mencionados y más
        • Links
      • 2.7 Libros destacados
    • 3. Construir funcionalidad a funcionalidad
      • 3.1 Introducción
      • 3.2 Qué es y qué no es
        • ¿Iterativo e incremental?
      • 3.3 Ventajas de las entregas pequeñas
        • Aportar valor antes, invirtiendo menos
        • Oportunidades perdidas y coste de oportunidad
        • Reducir riesgo
        • Menos desperdicio en gestión y más enfocarse en tareas de valor
      • 3.4 Retos
        • Verticalidad
        • Rendimientos decrecientes
        • Continuidad
        • Automatización
        • Equipo alrededor del incremento
      • 3.5 Técnicas
        • Equipo alrededor del incremento
        • Arquitectura / Diseño emergente
        • Lotes pequeños y aditivos
        • De impacto a pequeño incremento
      • 3.6 Resumen
      • 3.7 Palabros del capítulo
        • Conceptos mencionados y más
        • Links
      • 3.8 Libros destacados
    • 4. Conocimiento
      • 4.1 Introducción
      • 4.2 Síntomas
        • Notación muerta
        • Imposible contratar, imposible reemplazar
        • Cuanta más gente más lento
        • Autoimagen relacionada con tecnología: soy javero
        • Motivaciones que no funcionan
        • No hay relación entre tamaño del cambio y tiempo necesario
        • Solución compleja
        • Maquinaria e instalaciones no te dan ventaja
        • Héroes solitarios
      • 4.3 Una economía del aprendizaje
        • Bus factor
        • Cuellos de botella
        • Liquidez
        • Economía del laberinto
        • Te has esforzado mucho ¿y a mí qué?
      • 4.4 Aprender a aprender
        • Aprendizaje deliberado
        • Conocimiento anti-frágil
        • T-shaped people
        • Expón tu ignorancia
        • Carga cognitiva
        • Cuando hacer es pensar (y viceversa)
        • Hábitos
        • Enseñar es aprender
        • Dreyfus model
        • Consumo y novedad
        • From the trenches
      • 4.5 Técnicas
        • Evocación y repetición espaciada
        • Práctica entrelazada
        • Elaboración
        • Escribir mientras lees
        • Fragmentos
        • Agrupar en lotes
        • Flash cards
        • Mind-mapping
        • Organizar el contenido sin distraerse
      • 4.6 Aprendizaje como labor de equipo
        • Matriz de competencias
        • El que más sabe, el último
        • Yo lo hago tu me ayudas
        • Trabajo en pareja
        • Generar expertos para luego diluirlos
        • Retrospectivas
        • Cómo montar un taller
      • 4.7 Resumen
      • 4.8 Palabros del capítulo
        • Conceptos mencionados y más
        • Links
      • 4.9 Libros destacados
  • II REDUCCIÓN DE COSTES
    • 5. Cuándo y por qué invertir en diseño de código
      • 5.1 Introducción
      • 5.2 El código es un pasivo: coste
        • El código se contabiliza como activo: ¿por qué?
      • 5.3 Diseño de software: porqué, cuándo y cómo
      • 5.4 Software craftsmanship
      • 5.5 Código plano
      • 5.6 Resumen
      • 5.7 Palabros del capítulo
        • Conceptos mencionados y más
        • Links
      • 5.8 Libros destacados
    • 6. Ordenando código para que sea fácil reordenarlo
      • 6.1 Introducción
      • 6.2 Horizontales y verticales
        • Dependencias: optimiza el código para poder borrarlo
        • ¿Puedo hacer todo esto con mi framework?
      • 6.3 Composición y polimorfismo
        • Componer objetos y funciones
        • Composición sobre herencia
        • Composición
        • Parnas: on the criteria to be used in decomposing systems into modules
        • Variabilidad
      • 6.4 Comandos y queries
      • 6.5 Dentro y fuera
        • Puertos primarios
        • Dejando de hablar de inversión del control
        • Pirámide de test y economics
      • 6.6 Resumen
      • 6.7 Palabros del capítulo
        • Links
      • 6.8 Ejercicios
        • Object calisthenics
        • Diseño OOP con CRC Cards
      • 6.9 Libros destacados
    • 7. Reordenando el código para adaptarnos al cambio
      • 7.1 Introducción
      • 7.2 Horizontales y verticales
        • RCCASS en función del cambio
        • SOLID en función del cambio
        • Acoplamiento y cohesión
        • Código reutilizado
        • Absorbe la variabilidad con polimorfismo
        • Duplicación versus reutilización
      • 7.3 Composición y polimorfismo
        • ¿Cómo ayuda a reducir el coste del cambio?
        • Estrategias para descomponer
      • 7.4 Comandos y queries
      • 7.5 Dentro y fuera
      • 7.6 Resumen
      • 7.7 Palabros del capítulo
        • Conceptos mencionados y más
        • Links
        • Artículos
      • 7.8 Ejercicios
      • 7.9 Libros destacados
      • 7.10 Capítulo olvidado: código legacy, por Guillermo Gutiérrez Almazor
    • 8. Test driven development es una técnica de diseño
      • 8.1 Introducción
      • 8.2 Testing automatizado no es TDD
      • 8.3 TDD reduce el coste estresando el diseño
      • 8.4 Proteger una inversión con TDD
        • Mitigar riesgos
        • Rentabilidad
        • Liquidez
      • 8.5 Resumen
      • 8.6 Palabros del capítulo
        • Conceptos mencionados y más
        • Links
      • 8.7 Ejercicios
      • 8.8 Libros destacados
  • III VALOR TEMPRANO Y RIESGO BAJO
    • 9. Diseño emergente
      • 9.1 Introducción
      • 9.2 Abstracciones
      • 9.3 Cómo hacer emerger la estructura
        • Condicionales
        • Carga cognitiva
        • Duplicación: reutilizable vs. reutilizado
        • Las cuatro reglas de diseño simple
      • 9.4 Apóyate en abstracciones conocidas y estables
        • Domain-driven Design
        • Patrones de diseño
      • 9.5 Desacopla el qué del cómo
      • 9.6 Antipatrones
        • Nivel de abstracción
        • Indirección sin abstracción
        • Leaky Abstraction
        • Abstracción equivocada
      • 9.7 Tipado estático
      • 9.8 Resumen
      • 9.9 Palabros del capítulo
        • Conceptos mencionados y más
        • Links
      • 9.10 Ejercicios
      • 9.11 Libros destacados
    • 10. Manteniendo el ritmo
      • 10.1 Introducción
      • 10.2 Lotes pequeños
        • Feature toggles
        • Spike and stabilize
        • Probar directamente en producción
        • Trunk based development
        • Walking skeleton
      • 10.3 Hacer solo cambios aditivos
        • Polimorfismo
        • Polimorfismo: puertos y adaptadores
        • Polimorfismo: branch by abstraction
        • Cambio en paralelo
      • 10.4 Resumen
      • 10.5 Palabros del capítulo
        • Conceptos mencionados y más
        • Links
      • 10.6 Ejercicios
      • 10.7 Libros destacados
  • ANEXOS
    • ANEXO I: conceptos de economía aplicados al software
      • Inversión
      • Rentabilidad
      • Retorno de inversión
      • Amortización
      • Liquidez
      • Time to market
      • Riesgo
      • Coste de oportunidad
      • Rendimientos decrecientes
      • Valor temporal del dinero
      • Valor actual neto (net present value)
      • Economías de escala
      • Real options
      • Libros destacados
    • ANEXO II: Glosario Lean Software development
      • Principios Lean del desarrollo de software
      • Contraintuitivo
      • Stop starting, start finishing
      • Wip
      • Slack
      • Lead time
      • Cost of carry
      • Cost of delay
      • Theory of constraints
        • Bottleneck
        • Small batches / batching
        • Inventory
        • Cost accounting
        • Throughput accounting
      • Libros destacados
    • ANEXO III: El artesano, de Richard Sennet
      • El buen artesano…
      • Hacer es pensar
      • El taller
      • El taller: competencia vs. cooperación
      • El taller: relaciones
      • Las máquinas
      • Herramienta espejo
      • Instrucciones
      • Producto
      • Artesanía y arte
      • Apprenticeship y mentoring
    • ANEXO IV: Polimorfismo
  • Notas

Authors have earned$10,052,337writing, publishing and selling on Leanpub, earning 80% royalties while saving up to 25 million pounds of CO2 and up to 46,000 trees.

Más información sobre cómo escribir en Leanpub

Leanpub incondicional, sin riesgo, 100% de felicidad garantizada

Durante los primeros 45 días de compra, puedes obtener un reembolso del 100% de cualquier compra Leanpub, en dos clics. Procesamos las restituciones manualmente, así que puede tomarse unos días en aparecer. Véase términos completos.

Actualizaciones gratis. Libre de DRM.

¡Si compras un libro Leanpub obtienes actualizaciones gratis siempre y cuando el autor actualice el libro! Varios autores usan Leanpub para publicar sus libros en progreso mientras los escriben. Todos los lectores obtienen actualizaciones gratis, independientemente de cuándo compraron el libro o cuánto pagaron (incluyendo si fue gratis).

La mayoría de los libros Leanpub se encuentran disponibles en PDF (para computadores), EPUB (para teléfonos y tabletas) y MOBI (para Kindle). Los formatos que un libro incluye se muestran en la esquina superior derecha de esta página.

Finalmente, los libros Leanpub no tienen ninguna de las cosas sin sentido sobre protección de copia DRM, así que puedes leerlos fácilmente en cualquier dispositivo que se soporta.

Aprende más sobre los formatos de Leanpub y dónde puedes leerlos

Escribir y publicar en Leanpub

Los autores y editores usan Leanpub para publicar libros electrónicos sorprendentes en curso y completados, como éste. ¡También puedes utilizar Leanpub para escribir, publicar y vender tu libro! Leanpub es una potente plataforma para autores serios, que combina un flujo de trabajo de escritura y publicación simple y elegante con una tienda centrada en la venta de libros electrónicos en progreso. Leanpub es una máquina de escribir mágica para los autores: basta con escribir en texto plano, y para publicar tu libro electrónico, simplemente haz clic en un botón. Realmente es así de fácil.

Más información sobre cómo escribir en Leanpub