Decimos cu谩l es la esencia de la ley, c贸mo se manifiesta y qu茅 sucede cuando esta ley no se tiene en cuenta en el dise帽o y desarrollo de los sistemas de TI.
Fotos - Spencer - UnsplashEn el libro "To Yourself an MBA. La autoeducaci贸n es 100% ", escrita por Josh Kaufman (Josh Kaufman), la ley de Gall se
da en la siguiente redacci贸n:
鈥淐ualquier sistema complejo de trabajo se desarrolla sobre la base de un sistema simple de trabajo. Los sistemas complejos creados desde cero nunca funcionar谩n en el mundo real, porque durante el proceso de desarrollo no fueron influenciados por los factores de selecci贸n inherentes al entorno ".
Esto significa que se debe aplicar un enfoque sistem谩tico al desarrollo de cualquier proyecto, pasando de lo simple a lo complejo. En otras palabras, debe comenzar con la creaci贸n de sistemas simples y avanzar gradualmente hacia su complejidad, ampliando la funcionalidad y las capacidades.
Un sistema simple generalmente significa un sistema que consiste en un peque帽o n煤mero de elementos y que no tiene una jerarqu铆a. Un sistema complejo, por el contrario, tiene una estructura ramificada y una gran cantidad de componentes interconectados.
Minuto de historia
El autor de la ley, John Gall, era pediatra de profesi贸n, pero pasaba su tiempo libre investigando en teor铆a de sistemas. En 1977, public贸 el libro
Sistematizaci贸n: c贸mo funcionan los sistemas y c贸mo colapsan . En 茅l, dijo que para controlar cualquier sistema es necesario comprender c贸mo los factores ambientales afectan su funcionalidad. Fue en este libro que
se formul贸 la ley de Gall .
La ley gan贸 fama gracias a la menci贸n en el libro "
T茅rminos de referencia estructurados ", escrito por el desarrollador del sistema Ken Orr (
Ken Orr ) en 1981. Su trabajo ha ganado una gran popularidad, y los autores de la literatura moderna sobre an谩lisis de sistemas
todav铆a se refieren a 茅l.
Alg煤n tiempo despu茅s de la publicaci贸n del libro de Ken Orr, la regla Gall estaba "armada" con Grady Booch cuando cre贸
UML . Este lenguaje tambi茅n traza el concepto de "de simple a complejo": para construir un modelo abstracto del sistema, se utilizan clases, tipos e interfaces individuales.
Fotos - Isaac Smith - UnsplashLa ley tambi茅n se refleja en enfoques flexibles para el desarrollo de software. En particular, la regla se aplica en la programaci贸n extrema (
XP ). Uno de los conceptos principales de esta metodolog铆a es la
facilidad de dise帽o . Establece que un nuevo producto no debe dise帽arse por adelantado y en su totalidad. La planificaci贸n debe llevarse a cabo de forma iterativa, teniendo en cuenta los requisitos en constante cambio (cliente y mercado).
Cu谩ndo seguir la ley de Gall
El ejemplo m谩s llamativo para ilustrar la ley de Gall es la
World Wide Web . Se origin贸 como un proyecto CERN local: la organizaci贸n desarroll贸 una herramienta para vincular documentos a trav茅s de enlaces de hipertexto. Pero con el tiempo, la red se expandi贸 con 茅xito a una escala global: sus capacidades se expandieron, la estructura se volvi贸 m谩s compleja y "creci贸" con nuevos protocolos (por ejemplo, HTTPS, que se convirti贸 en el desarrollo de HTTP).
Comenzar el desarrollo con
MVP (producto m铆nimo viable) hace posible probar r谩pidamente una idea y, si es necesario, cambiar la funcionalidad. Por ejemplo, la primera versi贸n del servicio Uber
conten铆a solo dos funciones simples: llamar al conductor y pagar el viaje con una tarjeta de cr茅dito. Con su ayuda, el equipo prob贸 su concepto, atrajo a una base de usuarios y continu贸 desarrollando el producto. Hoy, estas funciones b谩sicas se han vuelto m谩s complicadas: ha aparecido la oportunidad de dividir la factura entre varias personas, rastrear a los conductores en el mapa y hacer pagos autom谩ticos.
La Ley de Gall ayuda a que la IU sea m谩s f谩cil para los usuarios. Por ejemplo, la primera versi贸n de la aplicaci贸n Dropbox ten铆a una interfaz muy simple:
era una carpeta de archivos normal. Seg煤n los desarrolladores, esta caracter铆stica en particular permiti贸 atraer a una gran cantidad de nuevos usuarios: en pocos d铆as, la lista de aplicaciones para las pruebas beta de Dropbox se repon铆a en 70 mil. Las funciones adicionales y los cuadros de di谩logo, como los archivos de edici贸n conjunta, comenzaron a aparecer m谩s tarde.
驴Qu茅 sucede cuando este patr贸n no se tiene en cuenta?
Como ejemplo de un proyecto, cuando se crean los desarrolladores que deben conocer la ley de Gall y tenerla en cuenta, generalmente se proporciona el est谩ndar de tecnolog铆a
CORBA . Su especificaci贸n era originalmente voluminosa y conten铆a una gran cantidad de instrucciones. Debido a la excesiva complejidad, el desarrollo del est谩ndar se llev贸 a cabo durante mucho tiempo, mientras que muchas de sus caracter铆sticas nunca se implementaron en la pr谩ctica. Como resultado, CORBA no fue ampliamente utilizado.
Un ejemplo de implementaci贸n fallida de un producto de software es Digital Media Initiative (DMI), un proyecto de la BBC de 2008. Su objetivo era crear una plataforma a gran escala con herramientas internas para la edici贸n de videos y el almacenamiento de contenido. La base de DMI estableci贸 inmediatamente una gran cantidad de especificaciones, que no se implementaron en la pr谩ctica. El desarrollo dur贸 cinco a帽os, pero nunca se complet贸. Primero, el contratista fue abandonado por la compa帽铆a, Siemens, y luego por la propia BBC. En total, DMI gast贸 100 millones de libras.
Un ejemplo de una implementaci贸n fallida de la interfaz es el servicio
Google Wave . Se supon铆a que deb铆a combinar la funcionalidad de foros en l铆nea, redes sociales, mensajer铆a instant谩nea y sistemas de control de versiones. Los creadores de la plataforma asumieron que se convertir铆a en una forma universal de comunicaci贸n. Pero en un intento de reemplazar "todo a la vez", el equipo de desarrollo sobrecarg贸 la aplicaci贸n con varias funciones. Como resultado, los usuarios tuvieron que lidiar con las caracter铆sticas de la interfaz durante mucho tiempo. Surgieron dificultades incluso con la barra de b煤squeda de servicios: para trabajar con ella, ten铆a que conocer etiquetas especiales. El proyecto se desarroll贸 entre 2009 y 2010: el sistema no cumpli贸 con las expectativas de los desarrolladores y usuarios y el proyecto se cancel贸.
Lectura relacionada:
En
ITGLOBAL.COM proporcionamos una nube privada e h铆brida y ofrecemos servicios destinados a desarrollar la infraestructura de TI de los clientes. Esperamos que encuentre 煤til este material. Lo que puede leer sobre nosotros y lo que escribimos sobre nosotros en el blog corporativo: