Skip to content

Latest commit

 

History

History
47 lines (43 loc) · 3.05 KB

capitulo-03.md

File metadata and controls

47 lines (43 loc) · 3.05 KB

Capítulo 3: La eficiencia importa

Este tercer capítulo trata acerca de la eficiencia, una de las calidades del software a la que se le debe rendir tributo.

La eficiencia importa

  • Las tecnologías de proxies, cachés o mirrors pueden reducir el uso de ancho de banda y tiempo en instalaciones a través de Internet y en general.
  • Evitar instalaciones manuales a gran escala.
    • Utilizar el clonado de sistemas siempre que sea posible.
    • Crear y mantener plantillas de sistemas y aplicaciones.
  • Optimizar el uso de recursos: memoria, CPU, discos, procesos, etc.
    • Esto es de vital importancia cuando se utilizan tecnologías cloud en modo de pago por uso.
    • Aunque se cuente con exceso de recursos, se debe optimizar el uso de los mismos para contemplar todos los aspectos y escenarios posibles: picos de carga, tiempos de respuesta, espacio para backups, crecimiento y escalabilidad de los datos a lo largo del tiempo.
  • Automatizar absolutamente todas las tareas que sean rutinarias o repetitivas (este punto abarca todo un capítulo en sí mismo).
  • Pensar en grande (tener la escalabilidad en mente en todo momento).
    • La eficiencia es la madre de la escalabilidad: ningún sistema ineficiente puede escalar bien.
  • Optimizar el uso del tiempo.
    • Saber distinguir cuándo una tarea tiene el potencial de ser rutinaria o repetitiva para invertir tiempo en su automatización.
      • Fallar en este aspecto puede provocar que se pierda tiempo automatizando una tarea que no es rutinaria ni repetitiva.
  • Documentar es ganar tiempo.
    • Dejar de lado el primer mandamiento es garantía de desperdiciar considerables cantidades de tiempo a corto, mediano y largo plazo.
  • Planificar el uso del tiempo.
    • Crear TODO lists.
      • Asignar prioridades (y recalcular siempre que sea necesario).
    • Hacer uso de algún sistema de gestión de proyectos (como por ejemplo Trac) puede ser de gran ayuda para planificar tareas y optimizar el uso del tiempo y recursos humanos.
    • Aprender a postergar solicitudes que tengan baja o nula prioridad (un ejemplo es el típico escenario en el cual un usuario pide ayuda por un ratón defectuoso, en el preciso momento en el que estamos migrando a una nueva versión de una aplicación crítica en producción).
    • Combatir la procrastinación (consultar a un experto en la materia).

Gestión del tiempo