stringtranslate.com

Brownfield (desarrollo de software)

El desarrollo brownfield es un término comúnmente utilizado en la industria de la tecnología de la información para describir espacios problemáticos que necesitan el desarrollo y la implementación de nuevos sistemas de software en la presencia inmediata de aplicaciones/sistemas de software (heredados) existentes. Esto implica que cualquier nueva arquitectura de software debe tener en cuenta y coexistir con el software existente ya in situ .

En la ingeniería civil contemporánea , terreno abandonado significa una propiedad cuya expansión, reurbanización o reutilización puede complicarse por la presencia o presencia potencial de una sustancia peligrosa, contaminante o contaminante.

El desarrollo brownfield añade una serie de mejoras a las prácticas convencionales de ingeniería de software . Tradicionalmente, estos suponen un entorno objetivo de "hoja de papel en blanco", tabula rasa o " terreno totalmente nuevo " durante las fases de diseño e implementación del desarrollo de software. Brownfield extiende tales tradiciones al insistir en que el contexto (paisaje local) del sistema que se está creando se tenga en cuenta en cualquier ejercicio de desarrollo. Esto requiere un conocimiento detallado de los sistemas, servicios y datos en las inmediaciones de la solución en construcción.

Abordar la complejidad ambiental

La reingeniería confiable de los entornos empresariales y de TI existentes para convertirlos en arquitecturas modernas, competitivas e integradas no es algo trivial. La complejidad de los entornos empresariales y de TI se ha ido acumulando casi sin control durante cuarenta años, lo que hace que los cambios sean cada vez más costosos. Esto es porque:

Como resultado, una proporción cada vez mayor del esfuerzo de desarrollar nuevas capacidades comerciales se dedica a comprender e integrarse con el complejo sistema y panorama empresarial existente en lugar de generar valor. Ha sido observado [ ¿por quién? ] que hasta el 75% del esfuerzo total del proyecto se dedica ahora a la integración y migración de software en lugar de a nuevas funcionalidades. [ cita necesaria ]

La industria de TI en su conjunto tiene una baja tasa de éxito a la hora de lograr cambios a tan gran escala para sus clientes. La encuesta CHAOS del Standish Group ha rastreado una mejora general en el éxito de la ejecución de proyectos de TI en los últimos veinte años, pero incluso en 2006, los grandes proyectos de TI fracasaron con más frecuencia de los que tuvieron éxito. Los cambios de ingeniería en tales entornos tienen muchos paralelos con las preocupaciones de la industria de la construcción en la remodelación de sitios industriales o contaminados. Están llenos de peligros, complejidades inesperadas y su reconstrucción tiende a ser arriesgada y costosa. La complejidad acumulada de los entornos de TI los ha convertido en sitios "Brownfield".

No es la complejidad de la nueva función ni ninguna nueva característica del sistema la raíz de los fracasos de los grandes proyectos: es nuestro [ ¿ de quién? ] comprensión y comunicación del requisito general (como se identifica en El Mes del Hombre Mítico ). Para tener éxito, los requisitos deben incluir una comprensión precisa y exhaustiva de las limitaciones del negocio y de TI existentes. Las herramientas y métodos actuales “ Greenfield ” utilizan abstracciones tempranas, informales y a menudo imprecisas que esencialmente ignoran dicha complejidad. Las abstracciones tempranas y mal informadas suelen ser erróneas y a menudo se detectan tarde en la construcción, lo que provoca retrasos, retrabajos costosos e incluso desarrollos fallidos. Un enfoque orientado a Brownfield abarca la complejidad existente y se utiliza para acelerar de manera confiable el proceso general de ingeniería de soluciones, incluida la habilitación de cambios graduales e incrementales siempre que sea posible.

Brownfield toma el enfoque estándar basado en modelos/patrones de OMG y le da la vuelta. En lugar de adoptar el enfoque convencional de comenzar con un modelo conceptual y pasar a modelos específicos de plataforma y generación de código, Brownfield comienza recopilando código y otros artefactos existentes y utiliza patrones para abstraer formalmente hacia el nivel de Arquitectura y Negocios.

Esquema del proceso de desarrollo de Brownfield

Luego se utilizan técnicas estándar Greenfield en combinación para definir el objetivo comercial preferido. Esta técnica de “encontrarse en el medio” es familiar en otros métodos de desarrollo, pero el uso extensivo de la abstracción formal y el uso de patrones tanto para el descubrimiento como para la generación es novedoso.

La arquitectura conceptual subyacente de todas las herramientas Brownfield se conoce como VITA. VITA significa Vistas, Inventario, Transformación y Artefactos. En una arquitectura VITA, la definición del problema del espacio objetivo se puede mantener como "conjuntos" de conocimientos nativos separados (aunque relacionados) conocidos como Vistas. La principal ventaja de una Vista es que puede basarse en prácticamente cualquier herramienta formal. Brownfield no impone una sola herramienta o lenguaje en un espacio problemático; un principio fundamental es que los headfulls se mantienen en sus formas y herramientas nativas.

Luego, las vistas nativas se reúnen y vinculan en un único inventario. Luego, el Inventario se utiliza con una serie de capacidades de Transformación para producir los Artefactos que la solución necesita.

Actualmente, las vistas se pueden importar desde una amplia variedad de fuentes, incluidas UML , fuentes XML , DDL , hojas de cálculo , etc. La herramienta Analysis and Renovation Catalyst de IBM ha llevado esta capacidad aún más lejos mediante el uso de gramáticas formales y árboles de sintaxis abstracta para permitir casi cualquier programa que se analizará y tokenizará en una Vista para su inclusión en el Inventario.

La naturaleza cíclica rápida del ciclo de descubrimiento, reingeniería, generación y prueba utilizado en este enfoque significa que las soluciones se pueden refinar de forma iterativa en términos de sus definiciones lógicas y físicas a medida que se conocen más restricciones y se refina la arquitectura de la solución.

El desarrollo iterativo Brownfield puede permitir el refinamiento gradual de las arquitecturas lógicas y físicas y pruebas incrementales para todo el enfoque, lo que resulta en una aceleración del desarrollo, una mejor calidad de la solución y una eliminación de defectos más económica. Brownfield también se puede utilizar para generar documentación de soluciones, lo que garantiza que esté siempre actualizada y sea coherente en diferentes puntos de vista.

El Inventario que se crea a través del procesamiento Brownfield puede ser altamente complejo, siendo una red semántica multidimensional interconectada . El nivel de conocimiento del Inventario puede ser muy detallado, muy detallado y estar interrelacionado. Sin embargo, estas cosas son difíciles de entender y pueden crear barreras a la comunicación. Brownfield resuelve este problema abstrayendo conceptos a través de la mejor suposición de un artesano, utilizando patrones conocidos en sus Inventarios para extraer e inferir relaciones de nivel superior.

Las abstracciones formales permiten que la complejidad del Inventario se traduzca en representaciones más simples, pero inherentemente precisas, para un consumo más fácil por parte de aquellos que necesitan comprender el espacio del problema. Estos modelos de inventario abstractos se pueden utilizar para representar automáticamente representaciones de arquitectura de múltiples capas en herramientas como Second Life .

Estas visualizaciones permiten que múltiples personas de todo el mundo compartan y experimenten información compleja en tiempo real. Esto mejora tanto la comprensión como el sentido de un solo equipo.

Ver también

Referencias