11 Abr

Leyes de Lehman sobre la Evolución del Software

Las leyes de Lehman describen principios observados en la evolución de los sistemas de software a gran escala. A continuación se detallan:

  1. Ley: Cambio continuo. Descripción: Un programa que es utilizado en un entorno del mundo real debe necesariamente cambiar o se volverá cada vez más inútil en ese entorno.
  2. Ley: Incremento de complejidad. Descripción: A medida que un programa en evolución cambia, su estructura tiende a volverse cada vez más compleja. Deben asignarse recursos extras para preservar y simplificar esta estructura.
  3. Ley: Evolución de grandes programas. Descripción: La evolución del programa es un proceso autorregulado. Atributos del sistema tales como tamaño, tiempo entre releases y el número de reportes de errores son, en general, invariantes para cada release.
  4. Ley: Estabilidad Organizacional. Descripción: A través de la vida de un programa, su tasa de evolución es constante e independiente de los recursos dedicados al desarrollo del sistema.
  5. Ley: Conservación de familiaridad. Descripción: A través de la vida del sistema, el cambio incremental en cada release es aproximadamente constante.
  6. Ley: Crecimiento continuo. Descripción: La funcionalidad ofrecida por los sistemas tiene que crecer continuamente para mantener la satisfacción del usuario.
  7. Ley: Calidad Decreciente. Descripción: La calidad de los sistemas disminuirá a menos que se modifiquen para reflejar los cambios en su entorno operativo.
  8. Ley: Sistema de Retroalimentación. Descripción: La evolución de los procesos incorpora retroalimentación de sistemas multiagente y multiciclo, y deben tratarse como sistemas de retroalimentación para lograr una mejora significativa del producto.

Aplicabilidad de las Leyes de Lehman

Generalmente, estas leyes son aplicables a sistemas grandes y a medida, desarrollados para organizaciones grandes. No está claro cómo deberían modificarse para:

  • Productos de software empaquetados.
  • Sistemas que incorporan un número significativo de componentes COTS (Commercial Off-The-Shelf).
  • Pequeñas organizaciones.
  • Sistemas de tamaño medio.

Heurísticas de Nielsen para el Diseño de Interfaces de Usuario

Las Heurísticas de Nielsen son los 10 principios generales de Jakob Nielsen para el diseño de interacción. Se les llama “heurísticas” porque son reglas generales y no directrices específicas de usabilidad.

  1. Visibilidad del estado del sistema: El sistema siempre debe mantener a los usuarios informados sobre lo que está sucediendo, a través de la retroalimentación adecuada dentro de un tiempo razonable. Debería mostrarse el progreso de las tareas (Ejemplo: un indicador de «cargando»).
  2. Correspondencia entre el sistema y el mundo real: El sistema debe hablar el idioma de los usuarios, con palabras, frases y conceptos familiares para el usuario, en lugar de términos orientados al sistema. Siga las convenciones del mundo real, haciendo que la información aparezca en un orden natural y lógico.
  3. Control y libertad del usuario: Los usuarios suelen elegir funciones del sistema por error y necesitarán una “salida de emergencia” clara para salir del estado no deseado sin tener que pasar por un diálogo extenso. Debe soportar las funciones de deshacer y rehacer.
  4. Consistencia y estándares: Los usuarios no deberían tener que preguntarse si diferentes palabras, situaciones o acciones significan lo mismo. Siga las convenciones de la plataforma.
  5. Prevención de errores: Mejor que buenos mensajes de error es un diseño cuidadoso que evite que ocurra un problema en primer lugar. Eliminar condiciones propensas a errores o verificarlas y presentar a los usuarios una opción de confirmación antes de ejecutar la acción.
  6. Reconocimiento antes que recuerdo: Minimizar la carga de memoria del usuario haciendo visibles los objetos, acciones y opciones. El usuario no debería tener que recordar información entre diferentes partes del diálogo. Las instrucciones de uso deben estar visibles o ser fácilmente recuperables cuando sea necesario.
  7. Flexibilidad y eficiencia de uso: Los aceleradores —invisibles para el usuario novato— pueden agilizar la interacción para el usuario experto, de modo que el sistema pueda atender tanto a usuarios inexpertos como experimentados. Permitir a los usuarios personalizar acciones frecuentes.
  8. Diseño estético y minimalista: Los diálogos no deben contener información irrelevante o que se necesite raramente. Cada unidad extra de información en un diálogo compite con la información relevante y disminuye su visibilidad relativa.
  9. Ayudar a los usuarios a reconocer, diagnosticar y recuperarse de errores: Los mensajes de error deben expresarse en lenguaje sencillo (sin códigos), indicar con precisión el problema y sugerir una solución constructiva.
  10. Ayuda y Documentación: Aunque es mejor que el sistema pueda usarse sin documentación, puede ser necesario proporcionar ayuda y documentación. Dicha información debe ser fácil de buscar, estar centrada en las tareas del usuario, listar pasos concretos a seguir y no ser excesivamente extensa.

Estas reglas son claves para facilitar el uso por parte de cualquier persona, no solo dentro de los sitios web, sino en cualquier sistema de información.

Deja un comentario