webratiowhitepaper es

20

Upload: martin-murciego

Post on 12-Feb-2015

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: WebRatioWhitePaper ES
Page 2: WebRatioWhitePaper ES

www.webratio.com | Pagina 2 de 20

¿No es hora ya de cambiar tus ecuaciones de TI?

“Desde siempre, el hombre ha querido dedicarse a las actividades creativas y

ha creado máquinas que se encarguen de realizar las tareas repetitivas en su

lugar. ¿Por qué para el desarrollo de aplicaciones Web debería ser distinto?

Como respuesta a esta pregunta hemos creado WebRatio, el entorno que

cambia las ecuaciones que gobiernan el proceso de desarrollo de las

aplicaciones Web: nuestros clientes pueden dedicarse al análisis de los

requerimientos, a las actividades creativas y a la validación de los resultados,

¡ya que de las operaciones repetitivas se encarga WebRatio! Los usuarios

son parte del proceso de desarrollo y encuentran inmediatamente una

respuesta a sus requerimientos. Esta colaboración eficaz entre los grupos de

interés garantiza los mejores resultados que perduran con el tiempo.”

Stefano Butti - CEO de WebRatio

Page 3: WebRatioWhitePaper ES

www.webratio.com | Pagina 3 de 20

Ratio 1: INNOVACIÓN/MANTENIMIENTO

¿Cuántos recursos empleas en actividades para la Innovación y cuántos para

el Mantenimiento?

Figura 1. ¿Qué porcentaje de recursos están destinados al mantenimiento de las aplicaciones existentes respecto a la creación de nuevas aplicaciones?

La función de las Tecnologías Informáticas es, por naturaleza, apoyar las actividades

comerciales de una empresa. Mientras más dinámico es el negocio, aún más las TI deben

tener la capacidad de adaptarse y evolucionar.

En un mundo ideal donde los sistemas informáticos existentes son autosuficientes los

recursos tanto humanos como económicos de un departamento de TI, deberían ser

utilizados principalmente para realizar aplicaciones innovadoras en respuesta a las

necesidades del negocio, como aumentar la competitividad de la empresa en el mercado,

facilitar el trabajo de los empleados y fomentar la relación con los clientes.

Page 4: WebRatioWhitePaper ES

www.webratio.com | Pagina 4 de 20

En realidad los expertos saben que se trata de una utopía. Los sistemas informáticos no se transforman por sí solos y la mayor parte de los costos están dedicados a la puesta en ejecución y al mantenimiento del grupo de aplicaciones existentes.

¿Qué dicen los números? ¡10% Innovación, 90% Mantenimiento!

Un reciente y mundialmente reconocido estudio de Gartner 1 compara los costos incurridos para el desarrollo y el mantenimiento durante todo el ciclo de vida de una aplicación contra aquellos desde el inicio hasta la implementación.

En conclusión, el promedio del porcentaje de costos asignados al mantenimiento post puesta en producción supera al porcentaje dedicado a la primera fase con un impresionante 90%. Este dato es preocupante porque es en el período inicial donde realmente se concentra la innovación.

Figura 2. En un grupo de trabajo tradicional solo el 10% de los recursos se emplea en la innovación, mientras el 90% restante se destina al mantenimiento de las aplicaciones existentes

1 A Framework for the Lifetime Total Cost of Ownership of an Application, Andy Kyte, 30 marzo 2010

Page 5: WebRatioWhitePaper ES

www.webratio.com | Pagina 5 de 20

La siguiente imagen resume los resultados del estudio. Como detalles adicionales del análisis se han introducido dos variables:

Objetivos “design for live” : representa la voluntad del equipo de desarrollo para construir una aplicación que permanezca en el largo plazo

“Application volatility”: se aplica cuando la aplicación por su naturaleza o contexto ha cambiado en el tiempo

El porcentaje se obtiene al dividir los costos iniciales para alcanzar la “puesta en producción” de la aplicación para su TCO (Costo Total de Propiedad: costos iniciales + costo de mantenimiento).

Figura 3. También para aplicaciones estables en el tiempo los costos para la puesta en producción alcanzan solamente el 16% del TCO

Los costos considerados para el cómputo del TCO son:

Costo empresarial de los recursos humanos involucrado en el desarrollo y el mantenimiento: programadores, analistas, gerentes de proyectos, etc.

Costo de la licencia del software y de las respectivas normas de mantenimiento

Costo por la ejecución de la aplicación: infraestructura del hardware, servicios de continuidad de negocios, etc.

¡Los datos son sorprendentes! Incluso para las aplicaciones con pocas variaciones y realizadas para ser estables a largo plazo, los costos para llegar hasta la “puesta en producción” son solo del 16% del TCO.

La media exacta calculada en todos los casos analizados por Gartner es de un 18%. Haciendo una aproximación podemos, por lo tanto, concluir que en promedio solo el 10%

Page 6: WebRatioWhitePaper ES

www.webratio.com | Pagina 6 de 20

de los costos se utiliza en la primera fase, la más innovadora del desarrollo de las aplicaciones.

¡WebRatio revierte esta ecuación!

El uso de WebRatio en todo el ciclo de vida de sus aplicaciones aumenta la cantidad de tiempo que se puede dedicar a crear nuevas soluciones e innovar las aplicaciones ya existentes reduciendo drásticamente los costos para su mantenimiento y evolución en el tiempo. ¿Cómo?

Generación automática del código – el código producido es generado por un proceso “industrializado”, automatizado y muy bien testeado: el código resulta así libre de todos aquellos errores “casuales” debido a distracciones o descuidos, difícilmente identificables en la fase de desarrollo y que cuesta mucho “recabar” y corregir en la fase de mantenimiento

Modelado visual intuitivo – los costos de tomarse a cargo la intervención correctiva o evolutiva se reducen extremadamente, porque operar en un modelo visual en lugar de líneas de código es más simple y menos delicado. Manipular las líneas de código puede tener impactos inesperados, especialmente si el código ha sido escrito por otros programadores mucho tiempo antes (lo que sucede muy a menudo); intervenir en un modelo abstracto y visual, en cambio, tiene impactos mucho mas “controlados”. El instrumento de desarrollo, además, tiene la capacidad de regenerar de manera coherente toda la aplicación desde cero, propagando las modificaciones en todos los puntos del código sobre la que tenía impacto.

Avisos de entrega más simples y rápidos– los avisos de entrega desde el equipo de desarrollo al equipo de mantenimiento (si son equipos distintos) se vuelven más sencillos; la facilidad de comprensión y el nivel de conocimiento que se alcanza con el modelo visual WebML es mucho más alto que lo que se pueden tener solamente con el código Java, particularmente ante la falta de documentación actualizada (caso muy frecuente)

Ningún componente propietario – las aplicaciones no tienen componentes propietarios y para su ejecución será suficiente un entorno completamente open-source, por lo que los únicos costos que se generarán serán por el hardware.

Desarrollo Ágil – la productividad y la agilidad del proceso de desarrollo aumentan considerablemente; en un estudio hecho por nuestro cliente Acer (http://www.slideshare.net/mbrambil/developing-ebusiness-solutions-with-a-model-driven-approach-the-case-of-acer-emea) se ha medido una productividad

Page 7: WebRatioWhitePaper ES

www.webratio.com | Pagina 7 de 20

(expresada en términos de PF(Punto Función)/días de trabajo) de al menos 3 veces superior al respecto de la normal; de esta manera, ya en la fase de desarrollo, es posible implementar funcionalidades que, de otra manera, solo se hubiesen podido integrar en la fase de mantenimiento.

Figura 4. Índice de Productividad (Punto Función/día de trabajo)

60% Innovación / 40% Mantenimiento

Los puntos expresados anteriormente son difícilmente cuantificables en una fórmula, y aún más complejo es expresar cuanto un modelo WebML, sea simple de comprender y manipular respecto a un proyecto Java. Pero podemos llegar a medir el nuevo ratio mediante un cálculo “posterior”, basado en nuestra experiencia y la de nuestros clientes.

Hemos analizando una base estadística de más de 50 empresas de distintos sectores (bancario/financiero, energía/servicios públicos, industria, distribución a gran escala y otros), tomando en consideración el conjunto de las aplicaciones desarrolladas con WebRatio. Calculando una media de los costos en los que se incurrieron para la ejecución de las aplicaciones, podemos afirmar que en un grupo de trabajo que usa WebRatio conformado por 4 personas, 3 se pueden dedicar al desarrollo de nuevos proyectos y solamente 1 se concentra en el mantenimiento de las aplicaciones realizadas. Agregando un costo promedio por el servicio de soporte interno, llegamos al dato final: el 60% de los recursos de TI se pueden dedicar a la construcción de nuevas aplicaciones.

Page 8: WebRatioWhitePaper ES

www.webratio.com | Pagina 8 de 20

Figura 5. Con WebRatio utilizas el 60% de tus recursos en actividades de innovación, y disminuyes las labores de mantenimiento al 40%

¡No se trata de la promesa de un resultado hipotético! La transformación de la ecuación

es un dato tangible que hemos calculado sobre una amplia base de empresas y sobre un

elevado número de proyectos heterogéneos de distintos sectores industriales.

Page 9: WebRatioWhitePaper ES

www.webratio.com | Pagina 9 de 20

Ratio 2: PARTICIPACIÓN / ESPERA

¿Cuántas veces las TI y el usuario se reúnen durante el desarrollo?

Cada proyecto de TI tiene su propia historia; sin embargo existen denominadores

comunes, por ejemplo la fecha de entrega que los clientes determinan: “¡Ayer!”. Por un

lado esto es comprensible, porque una vez identificado el requerimiento es fundamental

satisfacerlo inmediatamente para maximizar el beneficio de los clientes.

Figura 6. En un grupo de trabajo tradicional solo se involucra al cliente en la fase final del proceso de desarrollo

Por otra parte, esta “prisa” a menudo resulta perjudicial para el proyecto: el cliente,

incluso si no tiene las ideas bien claras, establece rápidamente los requisitos, el equipo de

TI las recoge y comienza el desarrollo. A partir de este momento el cliente queda en

espera y si en el entretiempo aparecen nuevas necesidades o se aclaran algunos aspectos,

no puede hacer nada más que tenerlos en mente hasta tener la oportunidad de

proponerlos posteriormente como una evolución de la aplicación. Al final del proceso de

desarrollo el equipo TI entrega la aplicación y el cliente verifica el funcionamiento y el

cumplimiento de sus requisitos.

Depende de la situación pero puede suceder que la aplicación entregada no se acople

con las expectativas del cliente. Creemos que esta situación no se deba tanto al proceso

de desarrollo, como tal, sino a la escasa interacción entre el equipo de TI y el cliente.

Page 10: WebRatioWhitePaper ES

www.webratio.com | Pagina 10 de 20

¿Qué dicen los números? 85% Espera, 15% Participación

Cuando se sigue el esquema clásico desarrollo “en cascada” de los proyectos

“tradicionales”, existen fases que se cumplen en secuencia:

1. análisis de los requisitos

2. diseño/definición de las especificaciones

3. desarrollo

4. pruebas

5. instalación

Uno de los estudios más reveladores acerca del desarrollo en cascada es el que nos ha

llevado a la definición del modelo COCOMO (COnstructive COst MOdel of software

development activity). De acuerdo a este modelo la distribución de los recursos en las 5

fases de desarrollo es la siguiente:

FASES DE UN PROYECTO DE TI CON DESARROLLO EN CASCADA

Figura 7. Fases de un proyecto TI con desarrollo en cascada. (Fuente: modelo COCOMO II, COnstructive COst MOdel of software development activity)

En un proceso de desarrollo en cascada el cliente está involucrado durante la fase de

análisis, para la recopilación de los requerimientos. De esta manera los requisitos

definidos se ponen “en papel”. Luego inicia una larga espera hasta la instalación, cuando

el cliente puede finalmente ver el resultado y eventualmente corregir algunos mínimos

detalles.

Si durante la fase de análisis el cliente es involucrado en las actividades en un 50% y en la

fase de pruebas también un 50% , inmediatamente se calcula de la duración total del

proyecto, el cliente ha participado tan solo en un 15% y el 85% restante se queda a la

espera.

5%

20%

30%

35%

10%

0% 5% 10% 15% 20% 25% 30% 35% 40%

Instalación

Pruebas

Desarrollo

Diseño/definición de lasespecificaciones

Análisis de los requisitos

Page 11: WebRatioWhitePaper ES

www.webratio.com | Pagina 11 de 20

¡WebRatio revierte esta ecuación!

Gracias a WebRatio es posible dejar atrás el método de desarrollo en cascada y adoptar

por completo un método de desarrollo “ágil”. En la ingeniería del software, por

metodología ágil se entiende “un particular método para el desarrollo del software que

involucra tanto como sea posible al cliente, obteniendo así una elevada reacción a sus

requerimientos” (tomado de Wikipedia).

WebRatio adopta y amplifica los beneficios de una particular metodología ágil llamada

“desarrollo interactivo”. Las características de este enfoque ágil que WebRatio extiende

se refieren principalmente a:

- la rapidez en producir un resultado

- la generación de prototipos "realistas" cada vez que se desee

Figura 8. El enfoque de desarrollo de un proyecto con WebRatio

De esta manera el cliente puede “palpar” el estado de avance del proyecto

prácticamente en tiempo real. Los prototipos que se producen son “en tiempo real”, no

maquetas falsas, es la verdadera aplicación que evoluciona en el tiempo.

Page 12: WebRatioWhitePaper ES

www.webratio.com | Pagina 12 de 20

En el enfoque tradicional se involucra al cliente en la etapa inicial para recoger sus

requerimientos y luego, una vez que la aplicación esté terminada para su respectiva

entrega.

Figura 9. Nivel de participación del cliente en un proceso de desarrollo tradicional

¡Con el enfoque de desarrollo ágil el cliente se involucra continuamente! Un típico

proyecto realizado con WebRatio puede fácilmente planificar por separado las reuniones

con el cliente y los días de desarrollo durante todo el período del proyecto. Si bien, este

tipo de enfoque permite al equipo de trabajo decidir libremente el grado de participación

que tendrá el cliente en el proceso de desarrollo, podemos afirmar que en los proyectos

llevados a cabo con WebRatio, el nivel de involucramiento de los clientes es igual a 50%,

dividiendo así en partes iguales el período en el cual el cliente participa activamente a la

creación de la solución y al período en el queda a la espera del resultado final.

Figura 10. En un proyecto con WebRatio el cliente participa activamente en el proceso de desarrollo, obteniendo una aplicación final de acuerdo con sus expectativas

Page 13: WebRatioWhitePaper ES

www.webratio.com | Pagina 13 de 20

RATIO 3: CREATIVIDAD / REPETITIVIDAD

¿Cuánto tiempo dedica el equipo de desarrollo a las actividades que le dan

valor agregado a la aplicación?

Escribir software es una actividad muy creativa; no existen otras actividades en las que

basta con escribir con un teclado para generar innovaciones. Para crear cualquier cosa, se

necesita “materia”, a diferencia del software que se “forja” en los circuitos electrónicos en

el momento mismo en el que se lo escribe.

Figura 11. El enfoque tradicional limita la creatividad de los desarrolladores, quienes emplean gran parte de su tiempo en escribir las operaciones repetitivas sin que éstas tenga un verdadero valor agregado

Cuando se enfrentan proyectos de desarrollo con un tiempo de duración de alrededor de

10 días o mas la creatividad pronto se ve reemplazada por una serie de operaciones

repetitivas; tomemos como ejemplo una aplicación Web: una vez definidas las

especificaciones, en la parte de desarrollo ya no hay ninguna actividad realmente creativa:

el código para el acceso a la base de datos, para la memorización de los datos en sesión,

para la visualización de los datos en las páginas, para la administración de la autenticación

y de la seguridad, etc. esta ya estandarizado, es siempre igual.

El equipo de desarrollo que asume el proyecto no solo deberá ejecutar actividades

repetitivas, sino que deberá prestar mucha atención y respetar todos los estándares

establecidos.

Page 14: WebRatioWhitePaper ES

www.webratio.com | Pagina 14 de 20

¿Qué dicen los números? Repetitividad 70%, Creatividad 30%

En este aspecto es difícil expresar las cifras generales. Incluso el hecho de determinar

cuáles actividades se consideran creativas y cuáles repetitivas podría generar discusión.

Pero con una oportuna hipótesis y la debida prudencia lo vamos a intentar.

En general las actividades creativas se concentran en la fase de análisis. Luego, a medida

que se avanza en el desarrollo de los detalles, el porcentaje de actividades creativas

disminuyen.

A continuación, vamos a tratar de definir el porcentaje de las actividades creativas en las

distintas fases del desarrollo:

Fase % en el desarrollo % de actividades

creativas

Análisis 10 % 100 %

Diseño/definición de las especificaciones 35 % 40 %

Desarrollo 30 % 20 %

Pruebas 20 % 0 %

Instalación 5 % 0 %

En resumen, en un cierto grado de aproximación, podemos decir que las actividades

creativas ocupan el 30% de las actividades totales.

Page 15: WebRatioWhitePaper ES

www.webratio.com | Pagina 15 de 20

¡WebRatio revierte esta ecuación!

Con WebRatio las fases de desarrollo cambian, ya no son en cascada sino cíclicas.

Además la importancia de cada una varía mucho. Desaparece el desarrollo intensivo para

la programación y deja espacio para el modelado.

Volvemos a tomar el esquema COCOMO y los adaptamos al ciclo de desarrollo con

WebRatio:

FASES DE UN PROYECTO DE DESARROLLO CON WEBRATIO

Figura 12. Fases de un proyecto TI con WebRatio y su desarrollo ágil

A este punto podemos definir el porcentaje de creatividad presente en cada fase:

5%

15%

20%

20%

40%

0% 5% 10% 15% 20% 25% 30% 35% 40% 45%

Instalación

Pruebas

Programación de las reglas de generaciónpersonalizadas

Modelado

Análisis inicial+ tiempo de verificación y participacióndel cliente

Page 16: WebRatioWhitePaper ES

www.webratio.com | Pagina 16 de 20

Fase % en el desarrollo % de actividades

creativas

Análisis inicial+ tiempo de verificación y

participación del cliente

40 % 100 %

Modelado 20 % 100 %

Programación de las reglas de generación

personalizadas

20 % 100 %

Pruebas 15 % 0 %

Instalación 5 % 0 %

En las tres primeras fases las actividades son creativas al 100%. Durante el análisis y el

tiempo de verificación con el cliente, las tareas son altamente creativas porque se definen

los requisitos. En la fase de Modelado, se diseña el modelo el mismo que es abstracto y

muy sintetizado. En la etapa de Programación, las actividades también siguen siendo

creativas, porque gracias a la reutilización de los componentes, basta con introducir las

líneas de código estrictamente necesarias y será el entorno de desarrollo el que se

ocupará de aplicarlo en todos los puntos en los cuales se requiera.

Solo las actividades de prueba e instalación no son “tan creativas”, igual que en el ciclo

de desarrollo tradicional,

Concretamente, así es cómo WebRatio logra revertir este “ratio”, solo el 20% de las

actividades se pueden considerar como “repetitivas”: el 80% es pura creatividad!.

Figura 13. WebRatio ejecuta las operaciones repetitivas, permitiendo que los desarrolladores puedan concentrarse en las actividades creativas que le dan valor agregado a la solución final

Page 17: WebRatioWhitePaper ES

www.webratio.com | Pagina 17 de 20

Ratio 4 : ANÁLISIS / DESARROLLO

¿El equipo de TI puede dedicar el tiempo adecuado al análisis?

Cuando se quiere realizar aplicaciones verdaderamente innovadoras, no existen ejemplos

de otras aplicaciones similares ya implementadas, a menudo, se comienza con una idea

pero se “desvía” hacia otra.

Esto sucede porque el factor “tiempo” pesa en el equipo TI desde el primer momento.

Los clientes quieren ver resultados tangibles inmediatamente, y el equipo de desarrollo se

ve obligado a darse prisa en la fase de análisis e iniciar en seguida la fase de desarrollo.

Figura 14. Generalmente el factor tiempo pesa tanto en el equipo de trabajo que descuida la fase de análisis

¡Pero el camino que una idea original debe recorrer es muy tortuoso para ser afrontado

de esta manera! A medida que se procede con el desarrollo, se encuentran problemas

insuperables que no fueron identificados debido al apresurado análisis. Buscar una

solución a estos problemas requiere tiempo, que no se tiene, y que perjudica la idea, la

misma que debe ser invalidada y que pone en riesgo la originalidad del proyecto.

Para poder comprender a fondo los requisitos de la nueva aplicación se debería dedicar

mucho tiempo al análisis, o mejor dicho, todo el tiempo necesario para solucionar todas

las dudas.

Page 18: WebRatioWhitePaper ES

www.webratio.com | Pagina 18 de 20

¿Qué dicen los números? 10% Análisis– 90% Desarrollo

Haciendo referencia a los estudios citados anteriormente, se puede ver que los esfuerzos

dedicados al análisis de un proyecto “tradicional” son iguales al 10% del tiempo total del

proyecto. No tanto porque se tenga la intención de emplear poco tiempo , sino porque

se debe dedicar el 90% a todo el resto, sobre todo a la fase de modelado y codificado.

Figura 15. El análisis ocupa solo el 10% del tiempo empleado en un proceso de desarrollo tradicional

Page 19: WebRatioWhitePaper ES

www.webratio.com | Pagina 19 de 20

¡WebRatio revierte esta ecuación!

Si definimos el análisis como el conjunto de actividades de que contribuyen a identificar

los requisitos (funcionales y no) de la aplicación deseada, podemos entonces considerar la

actividad del modelado como un parte integrante del análisis (pensemos por ejemplo en

el modelado de los procesos de negocio).

Sobre esto, los datos dicen que el 60% del tiempo puede considerarse como utilizado en

el análisis y solamente el 40% al desarrollo, en el sentido tradicional de los términos.

Figura 16. Con WebRatio dedicas al análisis el 60% de tu tiempo y las aplicaciones realizadas están siempre alineadas con las exigencias empresariales

Page 20: WebRatioWhitePaper ES

www.webratio.com | Pagina 20 de 20

Conclusiones

Las ecuaciones que hemos analizado demuestran el modo en el cual las TI operan al servicio de

las empresas y responden a sus necesidades. Los ratios calculados son promedios obtenidos de

un entorno empresarial “típico” y no toman en cuenta situaciones particulares o de gran magnitud

ya existentes. En todo caso, podemos afirmar con seguridad que WebRatio mejora los factores

que intervienen en las ecuaciones, cualquiera que sea el punto de partida, convirtiéndolos en

resultados satisfactorios tanto para las empresas como para la TI.

Entonces, ¿Qué estas esperando para cambiar las

ecuaciones de tus TI?