DEFINICIÓN FORMAL DE REINGENIERÍA
Estamos entrando en el nuevo siglo, con compañías que funcionaron en el XX con diseños administrativos del siglo XIX. Necesitamos algo enteramente distinto. Ante un nuevo contexto, surgen nuevas modalidades de administración, entre ellas está la reingeniería, fundamentada en la premisa de que no son los productos, sino los procesos que los crean los que llevan a las empresas al éxito a la larga. Los buenos productos no hacen ganadores; los ganadores hacen buenos productos. Lo que tienen que hacer las compañías es organizarse en torno al proceso.
Estamos entrando en el nuevo siglo, con compañías que funcionaron en el XX con diseños administrativos del siglo XIX. Necesitamos algo enteramente distinto. Ante un nuevo contexto, surgen nuevas modalidades de administración, entre ellas está la reingeniería, fundamentada en la premisa de que no son los productos, sino los procesos que los crean los que llevan a las empresas al éxito a la larga. Los buenos productos no hacen ganadores; los ganadores hacen buenos productos. Lo que tienen que hacer las compañías es organizarse en torno al proceso.
Las operaciones fragmentadas situadas en departamentos especializados, hacen que nadie esté en situación de darse cuenta de un cambio significativo, o si se da cuenta, no puede hacer nada al respecto, por que sale de su radio de acción, de su jurisdicción o de su responsabilidad. Esto es consecuencia de un concepto equivocado de administración organizacional. Un proceso de negocios es un conjunto de actividades que reciben uno o más insumos para crear un producto de valor para el cliente.
Reingeniería significa volver a empezar arrancando de nuevo; reingeniería no es hacer más con menos, es con menos dar más al cliente. El objetivo es hacer lo que ya estamos haciendo, pero hacerlo mejor, trabajar más inteligentemente. Es rediseñar los procesos de manera que estos no estén fragmentados. Entonces la compañía se las podrá arreglar sin burocracias e ineficiencias.
Propiamente hablando: "reingeniería es la revisión fundamental y el rediseño radical de procesos para alcanzar mejoras espectaculares en medidas críticas y actuales de rendimiento, tales como costos, calidad, servicio y rapidez". Detrás de la palabra reingeniería, existe un nuevo modelo de negocios y un conjunto correspondiente de técnicas que los ejecutivos y los gerentes tendrán que emplear para reinventar sus compañías.
Bajo el pensamiento tradicional de la administración muchas de las tareas que realizaban los empleados nada tenía que ver con satisfacer las necesidades de los clientes. Muchas de esas tareas se ejecutaban para satisfacer exigencias internas de la propia organización de la empresa. En el ambiente de hoy nada es constante ni previsible, ni crecimiento del mercado, ni demanda de los clientes, ni ciclo de vida de los productos. Tres fuerzas, por separado y en combinación, están impulsando a las compañías a penetrar cada vez más profundamente en un territorio que para la mayoría de los ejecutivos y administradores es desconocido. Estas fuerzas son: clientes, competencia y cambio.
- Clientes: Los clientes asumen el mando, ya no tiene vigencia el concepto de él cliente, ahora es este cliente, debido a que el mercado masivo hoy está dividido en segmentos, algunos tan pequeños como un solo cliente. Los clientes ya no se conforman con lo que encuentran, ya que actualmente tienen múltiples opciones para satisfacer sus necesidades. Esto es igualmente aplicable en la relación cliente-proveedor entre las propias empresas, y los reclamos muchas veces se expresan en: "O lo hace usted como yo quiero o lo hago yo mismo".
Los clientes se han colocado en posición ventajosa, en parte por el acceso a mayor información. Para las empresas que crecieron con la mentalidad de mercado masivo, la realidad es más difícil de aceptar acerca de los clientes, en cuanto a que cada uno cuenta. Si se pierde un cliente hoy, no se aparece otro para reemplazarlo. Antes era sencilla: la compañía que lograba salir al mercado con un producto o servicio aceptable y al mejor precio realizaba una venta. Ahora hay mucho mas competencia y de clases muy distintas.
La globalización trae consigo la caída de las barreras comerciales y ninguna compañía tiene su territorio protegido de la competencia extranjera. Empresas americanas, japonesas, europeas tienen experiencia en mercados fuertemente competitivos y están muy ansiosas de ganar una porción de nuestro mercado. Ser grande ya no es ser invulnerable, y todas las compañías existentes tienen que tener la agudeza para descubrir las nuevas compañías del mercado.
- Competencia
- El Cambio: El cambio se vuelve una constante, la naturaleza del cambio también es diferente. La rapidez del cambio tecnológico también promueve la innovación Los ciclos de vida de los productos han pasado de años a meses. Ha disminuido el tiempo disponible para desarrollar nuevos productos e introducirlos. Hoy las empresas tienen que moverse más rápidamente, o pronto quedarán totalmente paralizadas. Los ejecutivos creen que sus compañías están equipadas con radares eficientes para detectar el cambio, pero la mayor parte de ellas no lo esta, lo que detectan son lo cambio que ellas mismas esperan. Los cambios que pueden hacer fracasar a una compañía son lo que ocurren fuera de sus expectativas.
RECONSTRUCCIÓN DE LOS PROCESOS
La característica más común y básica de los procesos rediseñados es que desaparece el trabajo en serie.
Es decir, muchos oficios o tareas que antes eran distintos se integran y comprimen en uno solo. Sin
embargo, no siempre es posible comprimir todos los pasos de un proceso en un solo oficio ejecutado por
una sola persona. En otros casos, puede no resultar práctico enseñarle a una sola persona todas las
destrezas que necesitaría para ejecutar la totalidad del proceso.
Los beneficios de los procesos integrados eliminan pases laterales, lo que significa acabar con errores,
demoras y repeticiones. Asimismo, reducen costos indirectos de administración dado que los empleados
encargados del proceso asumen la responsabilidad de ver que los requisitos del cliente se satisfagan a
tiempo y sin defectos. Adicionalmente, la compañía estimula a estos empleados para que encuentren
formas innovadoras y creativas de reducir continuamente el tiempo del ciclo y los costos, y producir al
mismo tiempo un producto o servicio libre de defectos. Otro beneficio es un mejor control, pues como
los procesos integrados necesitan menos personas, se facilita la asignación de responsabilidad y el
seguimiento del desempeño.
En lugar de separar la toma de decisiones del trabajo real, la toma de decisiones se convierte en parte del
trabajo. Ello implica comprimir verticalmente la organización, de manera que los trabajadores ya no
tengan que acudir al nivel jerárquico superior y tomen sus propias decisiones.
Entre los beneficios de comprimir el trabajo tanto vertical como horizontalmente se cuentan: Menos
demoras, costos indirectos más bajos, mejor reacción de la clientela y más facultades para los
trabajadores.
Los procesos rediseñados están libres de la tiranía de secuencias rectilíneas: se puede explotar la
ejecución simultánea de tareas por sobre secuencias artificiales impuestas por la linealidad en los
procesos. En los procesos rediseñados, el trabajo es secuenciado en función de lo que realmente es
necesario hacerse antes o después.
La "deslinearización" de los procesos los acelera en dos formas: Primera: Muchas tareas se hacen
simultáneamente. Segunda: Reduciendo el tiempo que transcurre entre los primeros pasos y los últimos
pasos de un proceso se reduce el esquema de cambios mayores que podrían volver obsoleto el trabajo
anterior o hacer el trabajo posterior incompatible con el anterior. Las organizaciones logran con ello
menos repeticiones de trabajo, que es otra fuente de demoras.
Esto se conoce como el fin de la estandarización. Significa terminar con los tradicionales procesos únicos
para todas las situaciones, los cuales son generalmente muy complejos, pues tienen que incorporar
procedimientos especiales y excepciones para tomar en cuenta una gran variedad de situaciones. En
cambio, un proceso de múltiples versiones es claro y sencillo porque cada versión sólo necesita aplicarse
a los casos para los cuales es apropiada. No hay casos especiales ni excepciones.
Gran parte del trabajo que se hace en las empresas, consiste en integrar partes del trabajo relacionadas
entre sí y realizadas por unidades independientes. El cliente de un proceso puede ejecutar parte del
proceso o todo el proceso, a fin de eliminar los pases laterales y los costos indirectos.
Después de la reingeniería, la correspondencia entre los procesos y organizaciones puede parecer muy
distinta a lo que era antes, al reubicarse el trabajo en unidades organizacionales, para mejorar el
desempeño global del proceso.
Los procesos rediseñados hacen uso de controles solamente hasta donde se justifican económicamente.
Los procesos tradicionales están repletos de pasos de verificación y control que no agregan valor, pero
que se incluyen para asegurar que nadie abuse del proceso.
Los procesos rediseñados muestran un enfoque más equilibrado. En lugar de verificar estrictamente el
trabajo a medida que se realiza, se tienen controles globales o diferidos. Estos sistemas están diseñados
para tolerar abusos moderados o limitados, demorando el punto en el que el abuso se detecta o
examinando patrones colectivos en lugar de casos individuales. Sin embargo, los sistemas rediseñados de
control compensan con creces cualquier posible aumento de abusos con la dramática disminución de
costos y otras trabas relacionadas con el control mismo.
TIPOS DE CAMBIOS QUE OCURREN AL REDISEÑAR LOS PROCESOS
Para llevar a cabo la reingeniería de procesos se han identificado los siguientes roles:
Líder.
Dueño o responsable del proceso.
Equipo de reingeniería.
Comité directivo.
"Zar" de reingeniería.
- El Líde: Es un alto ejecutivo que respalda, autoriza y motiva el esfuerzo total de reingeniería. Debe tener la autoridad suficiente para que persuada a la gente de aceptar los cambios radicales que implica la reingeniería. Sin este líder el proceso de reingeniería queda en buenos propósitos sin llegar a culminarse como se espera.
Debe mantener el objetivo final del proceso, necesita la visión para reinventar la empresa bajo nuevos esquemas competitivos, mantiene comunicados a empleados y directivos de los propósitos a lograr, así como los avances logrados.
Designa a quienes serán los dueños de los procesos y asigna la responsabilidad de los avances en el rendimiento.
Gerente de área responsable de un proceso específico y del esfuerzo de ingeniería correspondiente.
En las empresas tradicionales no se piensa en función de procesos, se departamentalizan las funciones, con lo que se ponen fronteras organizacionales a los procesos.
Los procesos deben de identificarse lo más pronto posible, asignar un líder y este a los dueños de los procesos.
Es importante que los dueños de procesos tengan aceptación de los compañeros con los que van a trabajar, aceptar los procesos de cambio que trae la reingeniería, y su función principal es vigilar y motivar la realización de la reingeniería.
El oficio de los dueños no termina cuándo se completa el proyecto de reingeniería, cuándo se tiene el compromiso de estar orientado a procesos, cada proceso sigue ocupando de un dueño que se responsabilice de su ejecución.
2. Dueño del proceso: Formado por un grupo de individuos dedicados a rediseñar un proceso específico, con capacidad de diagnosticar el proceso actual, supervisar su reingeniería y su ejecución.
Es el encargado de realizar el trabajo pesado de producir ideas, planes y convertirlos en realidades.Cabe mencionar que un equipo solo puede trabajar con un proceso a la vez, de tal manera que se debe formar un equipo por cada proceso que se está trabajando.
El equipo debe tener entre 5 y 10 integrantes, máximo, de los cuales una parte debe de conocer el proceso a fondo, pero por poco tiempo para que no lo acepten como algo normal, y otra parte debe ser formada con personal ajeno al proceso, pudiendo ser gente de fuera de la empresa, que lo pueda cuestionar y proponer alternativas.
3. Equipo de reingeniería.
Cuerpo formulador de políticas, compuesto de altos administradores que desarrollan la estrategia global de la organización y supervisan su progreso, normalmente incluye a los dueños de proceso.
Puede estar o no presente en el proceso, da orden de prioridad, opinan sobre cuestiones que van mas allá de los procesos y proyectos en particular.
4. Comité directivo.5. "Zar" de la reingeniería: Es el responsable de desarrollar técnicas e instrumentos de reingeniería y de lograr sinergia entre los distintos proyectos en la empresa.
Se encarga de la administración directa coordinando todas las actividades de reingeniería que se encuentren en marcha; apoya y capacita a los dueños de proceso y equipos de reingeniería.
proceso de reingeniería de software
- Análisis de inventarios: Las organizaciones de software deberían tener un inventario de todas sus aplicaciones. Al ordenar esta información de acuerdo con la importancia para el negocio, antigüedad, facilidad actual para el mantenimiento y otros criterios localmente importantes, aparecen los candidatos para reingeniería. Entonces se pueden asignar los recursos a las aplicaciones candidatas para el trabajo de reingeniería.
- Economía: La reingeniería demanda de recursos que pueden utilizarse para otros propósitos del negocio. En consecuencia, antes de que una organización intente someter a reingeniería una aplicación existente, debe realizar un análisis costo beneficio.
- Procesos de negocio: Conjunto de tareas lógicamente relacionadas que se ejecutan para lograr resultados de negocios especifico. Dentro del proceso de negocio, la gente, el equipo, los recursos materiales y los procedimientos del negocio, se combinan para producir un resultado específico.
- Ingeniería directa: Reconstruye un programa empleando modernas prácticas de ingeniería de software y la información aprendida en la ingeniería inversa.
A partir de los productos de ingeniería inversa se construye el programa mediante técnicas de ingeniería directa.
* Reespecificación: Se reespecifican las especificaciones recuperadas del sistema heredado para incluir los nuevos requisito, modificar las funcionalidades existentes o añadir nuevas.
* Rediseño: Se refinan los modelos creados en el paso anterior, definiendo la arquitectura que tendrá el sistema, obteniendo un nuevo diseño. En este paso, hay que tener ya en cuenta los requisitos no funcionales (como el lenguaje de implementación, plataforma de explotación, etc.). Una vez que tanto los requisitos funcionales como los no funcionales se han tratado, se puede comenzar la generación de código
* Reimplementación: La generación de código puede ser llevada a cabo mediante herramientas CASE de manera automática, partiendo de los modelos desarrollados del sistema heredado. Puesta en marcha.
- Ingeniería inversa: Puede obtener información de diseño a partir de código fuente, pero el grado de abstracción, la completitud de la documentación, el grado en que las herramientas y un analista humano trabajen en conjunto, y la direccionalidad de proceso son enormemente variables. El proceso de ingeniería inversa debe ser capaz de derivar representaciones de diseño de procedimiento (un grado de abstracción bajo), información de estructura de programa y datos (un grado de abstracción más elevado), modelos de objeto, modelos de flujo de datos o de control (un grado de abstracción relativamente alto) y clases UML, diagramas de estado y despliegue (un grado alto de abstracción) .Muchos sistemas tienen el código fuente como la única representación fiable. Esto es más común en sistemas muy antiguos que han tenido muchos cambios durante su ciclo de vida.
Estos sistemas tienen un crecimiento substancial desde su inicio, y generalmente no han tenido actualizaciones de su documentación. Aquí es donde la ingeniería inversa es la técnica recomendada para redocumentar el sistema.
El primer documento que se necesita para navegar fácilmente en el sistema y encontrar la localización de un problema a nivel de análisis del Mantenimiento del Sistema es el esquema del programa.
Los pasos a seguir para realizar la ingeniería inversa son:
a) Disección del código fuente en unidades formales.
b) Descripción semántica de las unidades formales y declaración de unidades funcionales.
c) Creación de esquemas de entrada/salida de unidades.
d) Declaración y descripción semántica de circuitos lineales.
e) Declaración y descripción semántica de aplicaciones del sistema.
f) Creación de la anatomía del sistema.
·
- Mantenimiento de software: La distinción entre las actividades asociadas con el desarrollo y aquellas asociadas con el mantenimiento, están basadas en la visibilidad de los problemas del sistema y la forma de transmitírselo a los usuarios, grupo de pruebas y desarrolladores. Antes del desarrollo, la visibilidad de los problemas del sistema para los usuarios y el grupo de pruebas podría ser relativamente baja, ya que la reparación de algunos problemas puede ser manejada de una manera informal por el grupo de desarrollo. Sin embargo, una vez que el sistema ha sido liberado, es necesario un proceso de seguimiento más formal. Esta formalidad es necesaria debido a que muchos grupos dentro de la organización influyen en la información transmitida de los problemas del sistema. Por ejemplo, el personal de soporte al usuario necesita saber sobre los problemas para que a su vez puedan describírselos a los usuarios. El grupo de pruebas necesita saber sobre los problemas ya que pueden ser requeridos rápidamente para generar un plan de pruebas enfocado sobre las áreas problemáticas. También los gerentes necesitan conocerlos para poder priorizar el trabajo que se está haciendo.
Los problemas aparecen simplemente porque el comportamiento esperado del sistema no coincide con el comportamiento actual. Esto puede ser el resultado de un defecto del software, pero puede ser fácilmente el resultado de un desconocimiento de las capacidades del sistema, o de la utilización incorrecta del flujo de trabajo, o de una documentación pobre, o de cambios en las directrices de la empresa, o de otras tantas razones. La gestión de las respuestas a los problemas del sistema cubre un millar de posibles actividades. Algunas de las posibles respuestas a los problemas del sistema podrían incluir: liberación de nuevas versiones, sesiones de planificación, identificación de la formación necesaria, actualización de la documentación, etc.
Desde el punto de vista del grupo de desarrollo, el aspecto más significativo de un problema será si es causa de un defecto del software. La calidad de la información comunicada desde el usuario al grupo de desarrollo es crucial para poder determinarlo y para su rápida resolución.
- Estándares de mantenimiento: Existen diversos estándares de otros tantos organismos internacionales de estandarización que tienen una relación directa o indirecta con el Mantenimiento del Software:
*Para los procesos del ciclo de vida del software: IEEE 1074 e ISO 12207.
* Para la calidad del software y sus métricas: IEEE 1061 e ISO 9126.
*Para el Mantenimiento del Software: IEEE 1219 e ISO/IEC 14764
Los estándares para los procesos del ciclo de vida del software nos permiten encajar y asociar el proceso de mantenimiento con los demás procesos existentes para el software. Los estándares de calidad del software interesan en mantenimiento del software porque los factores de calidad del software (especialmente la complejidad y la mantenibilidad) inciden directamente sobre el esfuerzo de mantenimiento necesario.
- Modelo de proceso RPN: Define metas del negocio, identifica y evalúa los procesos de negocios existentes, especifica y diseña procesos revisados y elabora prototipos, los refina y particulariza dentro de un negocio. Permite la definición de las formas en las cuales las tecnologías de la información
- Reestructuración: Modifica el código fuente o los datos con la finalidad de adecuarlos para futuros cambios. En general, la reestructuración no modifica la arquitectura global del programa. Tiende a enfocarse sobre los detalles de diseño de los módulos individuales y en las estructuras de datos locales definidos dentro de los módulos. Si el trabajo de reestructuración se extiende más a lá de las fronteras de módulo, y abarca la arquitectura del software, la reestructuración se convierte en ingeniería avanzada.
- Reestructura de datos: Antes de comenzar la reestructuración de datos se debe llevar a cabo una actividad e ingeniería inversa denominada análisis de código fuente, una vez completado este se comienza con el rediseño de datos. En su forma más simple, un paso de estandarización de registro de datos clarifica las definiciones para lograr la consistencia entre los nombres de elementos de datos o formatos de registros físicos dentro de una estructuras de datos existente o formato de archivo.
EXITO EN LA REINGENIERIA
¿A qué área de la empresa se ataca primero cuando se emprende la reingeniería?
Hay dos áreas importantes: una es la relacionada con los clientes, sobre todo en la forma de llenar los pedidos en el sector de servicio al cliente, y la otra es atacar el área que está funcionando peor, que a veces es la financiera y a veces es la manufactura. De todas formas, más de la mitad de las organizaciones empieza por la atención al cliente.
¿Se puede aplicar la reingeniería más de una vez?
Por supuesto. Hay toda una nueva generación de reingeniería que está comenzando ahora. Incluso las compañías que cumplieron el proceso en los últimos cinco o diez años están comenzando otra vez. Y la fuerza detrás de esta generación es Internet. Porque aunque trabajen muy bien, las empresas no están listas para que los clientes accedan a ellas por la Red. Las compañías todavía no están en condiciones de proveer precios, disponibilidad y posibilidad de ordenar por Internet. Todo lo que se hizo hasta ahora no es suficiente y hay que empezar de nuevo.
¿ Cómo se traduce la tecnología a la reingeniería?
Una compañía que no pueda cambiar su modelo de pensar acerca de la informática y otras tecnologías no se puede rediseñar. El error fundamental que muchas compañías cometen al pensar en tecnología es verla a través del lente de sus procesos existentes. Se preguntan: ¿Cómo podemos usar estas nuevas capacidades tecnológicas para realzar o dinamizar o mejorar lo que ya estamos haciendo? Por el contrario, debieran preguntarse: ¿Cómo podemos aprovechar la tecnología para hacer cosas que no estamos haciendo? La reingeniería, a diferencia de la automatización, es innovación. Es explorar las más nuevas capacidades de la tecnología para alcanzar metas enteramente nuevas. Uno de los aspectos más difíciles de la reingeniería es reconocer las nuevas capacidades no familiares de la tecnología en lugar de las familiares.
¿La reingeniería tiene que ver con la reducción de personal?
La gente confunde estas dos cosas, sobre todo porque la mayoría de las reducciones no funciona, deja ir a la gente y luego toma más.
La reingeniería no implica, ni prevee reducción de personal, no fue enunciada con ese objetivo, lamentablemente los recursos humanos son la variable más fácil de reducir y la más notoria al reconstruir y rediseñar los procesos.