Cómo Hacer Crecer un Sistema

Cómo Hacer Crecer un Sistema

hace 6 años · Actualizado hace 7 años

La semilla de un árbol contiene la idea del adulto pero no comunica completamente la forma y la potencia del adulto. El embrión crece. Se vuelve más grande. Se parece más al adulto y tiene la mayoría de las características. Eventualmente produce frutos.

Más tarde, muere y su cuerpo alimenta a otros organismos.

Tenemos la lujuria de tratar igual al software. Un puente no es así; nunca hay un bebé puente, sino meramente un puente no finalizado. Los puentes son mucho más simples que el software.

Es bueno pensar en el software como algo en crecimiento, debido a que nos permite hacer un progreso útil antes de que tengamos una imagen mental perfecta. Podemos obtener retroalimentación de los usuarios y usar eso para corregir el crecimiento.

Podar las hojas débiles es saludable.

El programador debe diseñar un sistema finalizado que pueda ser entregado y usado. Pero el programador avanzado debe hacer más. Debes diseñar una ruta de crecimiento que concluya en el sistema finalizado. Es tu trabajo tomar el germen de
una idea y construir una ruta que la convierta tan suavemente como sea posible en un artefacto útil.

Para hacer esto, debes visualizar el resultado final y comunicarlo de una forma que el equipo de ingenieros pueda emocionarse. Pero también debes comunicarles una ruta que vaya de dondequiera que estén ahora hacia donde quieren estar sin grandes
saltos. El árbol debe permanecer vivo todo el tiempo; no puede estar muerto en un punto y resucitar más tarde.

Este acercamiento es capturado en un desarrollo en espiral. Los hitos que nunca están demasiado alejados son usados para marcar el progreso a lo largo del camino. En el ambiente ultra competitivo de los negocios, es mejor si los hitos pueden ser liberados y hacer dinero tan pronto como sea posible, incluso si están demasiado lejos de un punto final bien diseñado. Uno de los trabajos del programador es balancear el pago inmediato frente al futuro mediante la sabia elección de un camino de crecimiento expresado en hitos.

El programador avanzado tiene la triple responsabilidad de hacer crecer el software, los equipos, y a las personas.

Un lector, Rob Hafernik, envió este comentario sobre esta sección que no puedo menos que citarlo completo:

Pienso que sub-enfatizas la importancia aquí. No son sólo sistemas, sino algoritmos, interfaces de usuario, modelos de datos, y cosas así. Es absolutamente vital a medida que trabajas en un gran sistema tener progreso medible hacia metas intermedias. Nada es tan malo como el horror especial de llegar al final y descubrir que toda la cosa simplemente no va a funcionar (mira la reciente debacle del Sistema Voter News). Yo iría más allá y lo afirmaría como una ley de la naturaleza: ningún sistema grande y complejo puede ser implementado de la nada, puede solamente evolucionar de un sistema simple a uno complejo en una serie de pasos intencionales.
A lo cual uno puede solamente replicar ¡Fiat lux!

 

Fuente:

Cómo Ser Un Programador: Un Resumen
Corto, Comprensivo y Personal
por Robert L. Read

Si quieres conocer otros artículos parecidos a Cómo Hacer Crecer un Sistema puedes visitar la categoría SISTEMAS OPERATIVOS.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Tu puntuación: Útil

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Subir