Journal TrixX's Journal: Second systems
En "The Mythical Man-Month", Fred Brooks habla del "Second System Effect", algo que suele suceder cuando los diseñadores de un sistema de software simple, elegante, y exitoso, diseñan su sucesor, y en el afan de resolver todos los problemas y agregar todos los features que faltaban, aumentan la complejidad al punto del fracaso inevitable.
No me cabe duda que los ejemplos abundan por todos lados, incluso fuera de la industria del software (veasé: "Matrix: Reloaded"). Pero entre el software que uso, hay muchas segundas generaciones de herramientas que realmente brillan por haber escapado firmemente a este efecto, logrando ser mejores, evitando problemas, y siendo conceptualmente más simples. No se si califican de "second system" en la acepción original (el diseño no es de la misma persona), pero son claramente second system en el sentido de intentar ser un "sucesor de". Un par de ejemplos:
Subversion: El sucesor moderno de CVS. CVS fue por bastante tiempo el sistema por control de revisiones por defecto en el mundo unix y de software libre. Todo el mundo le conoce sus problemas y limitaciones, pero es innegable que anda. Pero lentamente se ve como Subversion lo está destronando. Se usa casi de la misma forma, pero tiende a hacer todo un poco mejor. Esquiva los problemas de CVS, y a la vez generaliza varios conceptos de CVS en unos pocos más simples, más fáciles de usar, y más eficientes.
Hay algunas otras alternativas dando vueltas que intentan ser mucho más grandiosas y resolver problemas más amplios (en particular, ser distribuidos en vez de tener un repositorio centralizado), pero les quedan problemas no resueltos. Capaz en el futuro lo solucionen, pero hoy por hoy todo parece indicar que el movimiento va de CVS hacia SVN.
Trac: Me encontré con Trac hace todavía menos que SVN (poco más de un año), pero esta en rápido ascenso. No es un sucesor directo de una herramienta, sino de dos o tres. Podría ser el sucesor directo (aunque más chico) de gforge (el motor detrás de sourceforge), en el sentido de ser una plataforma para desarrollo de software. Integra un issue tracker, un wiki, un browser de subversion y un par de chiches más. El issue tracker es más simple y a la vez más práctico que el rey (Bugzilla), el wiki es comparable a los demás, y el browser es bastante más lindo/legible (lo que importa mucho en una herramienta de representación de datos) que otros browsers de SVN. A todo eso le sumamos que las integra muy bien (se puede usar la notación wiki en todos los lugares donde se puede escribir, incluyendo logs de SVN; se puede hacer referencias entre un componente y otro, por ejemplo del wiki al issue tracker, o de un issue a un pedazo del código).
Con eso queda la herramienta de manejo de procesos que esta tomando al mundo por sorpresa. Hace un par de año algunos lo conocían. Hoy todos hablan de trac, y un montón de proyectos estan migrando, porque es llanamente más simple y más efectivo que las alternativas anteriores.
Había algún otro ejemplo dando vueltas. Si me acuerdo lo agrego.
Second systems More Login
Second systems
Slashdot Top Deals