Escenarios ALM: ALM como Proceso Crítico de Negocio

Continuando con la serie de escenarios ALM, en en este articulo, abordamos el primero de ellos: ALM como Proceso Crítico de Negocio.

En este articulo veremos cómo el proceso de gestión del ciclo de vida del desarrollo de las aplicaciones, en especial aquellas de índole empresarial, deberá ser considerado por los directivos de las organizaciones, como un proceso de negocio vital para el correcto funcionamiento de sus empresas, y cómo la solución ALM que proporciona Visual Studio es la mejor opción para garantizar que ese proceso crítico de negocio cuenta con la mejor base tecnológica posible.

¿Por qué el ALM es un proceso crítico de negocio?

Hoy en día, es un hecho ampliamente aceptado que una empresa u organización debe estructurar su funcionamiento sobre un conjunto de procesos de negocio que son los que harán latir el corazón de dicha organizacion.

Si partimos de la definición del termino "proceso de negocio" como:

"Conjunto de tareas relacionadas lógicamente llevadas a cabo para obtener un resultado de negocio definido"

podemos inferir entonces cuales serán sus principales características:

  1. Deben ser medibles y estar orientados al rendimiento
  2. Deberán producir resultados específicos
  3. Aportarán valor a los clientes de la organización o a los promotores 
  4. Responderán a alguna acción o evento determinado
  5. Las actividades que los componen deberán agregar valor a los elementos de entrada al proceso

Como vemos, los procesos de negocio buscan ante todo producir beneficios concretos, predecibles y de la mejor manera posible. Por ello es tan importante para una organización, que desea mejorar su rendimiento, mejorar sus procesos de negocio, haciéndolos repetibles, eficientes y eficaces.

Fundamentalmente para que un proceso de negocio ayude a contribuir al éxito empresarial se requiere ante todo que dicho proceso esté definido correctamente, y una vez definido, que sea implantado y adoptado por la organización en el menor tiempo posible y con el menor esfuerzo. Imaginemos un proceso de negocio innovador pero que no llega a todos los niveles de la empresa implicados, y que además el coste de implantación del mismo es desorbitado. Claramente, dicho proceso de negocio, que podría hacer más competitiva a una organizacion, estaría abocado al fracaso.

Es aquí donde los sistemas "software" pueden ayudar a que dicha implantación sea exitosa. Como se puede leer en el articulo de David Chappell, en 2008 la publicación Harvard Business Review, publicó un articulo escrito por Andrew McAfee y Erick Brynjolfsson, en el que se indicaba que gracias a la facilidad con que un sistema software puede ser desplegado completamente dentro de una organización, y gracias a como un proceso soportado por un sistema software puede tener garantias de que es debidamente utilizado y seguido por los miembros de la organización, los procesos de negocio soportados por sistemas software serán más facilmente implantables de manera completa en la organización y serán también fácilmente medibles, optimizables y repetibles.

Hasta aquí, podemos ver como los sistemas software o las aplicaciones de línea de negocio ayudan a soportar los procesos de negocio de nuestra organización.

Ahora bien, puesto que los procesos de negocio serán los que hagan que nuestra organización funcione adecuadamente, ¿cómo pueden hacer esos procesos de negocio que seamos más competitivos?. Evidentemente, si se desea que nuestra empresa sea competitiva, y que gane terreno dentro del mercado en el que se encuentran nuestros competidores, sus procesos de negocio deberán ser diferenciales respecto a los de nuestra competencia. Dicho de otro modo, si esos procesos de negocio son los mismos que los de loscompetidores, ¿cómo hacer para competir con ellos?. La solución está en hacer que los procesos de negocio se diferencien con respecto a los de la competencia.

Si nuestros procesos de negocio son idénticos a los de la competencia porque nuestra organización los soporta con el mismo sistema software comercial que nuestros competidores también han adquirido, no tendremos la ventaja competitiva que necesitamos. Es por ello que nuestros sistemas software deben permitir esa ventaja competitiva siendo modificables y adaptables a las necesidades de nuestra organización y de su entorno.Y es, por tanto, el desarrollo software una pieza vital para el funcionamiento de nuestra organización. En conclusión, el proceso de desarrollo software dentro de nuestra organización pasa a ser también por sí mismo un proceso crítico de nuestro negocio.

¿Por qué ALM con Microsoft Visual Studio?

Hasta este punto, vemos porque tenemos que dotar a nuestro proceso de gestión del ciclo de vida del desarrollo (ALM) de la importancia que realmente tiene. Y si el proceso ALM es vital para nuestro negocio, hemos de  contemplarlo de la misma manera que otros procesos de negocio, es decír, debemos pedirle que sea definido, medible, optimizable y repetible. Y es aquí donde debemos implantar dicho proceso sobre un sistema software que le permita disfrutar de dichas posibilidades.

La solución ALM ofrecida por Visual Studio permite contemplar el proceso del desarrollo de los sistemas software de una manera completa, de extremo a extremo del proceso, dotando a los participantes en dicho proceso de un conjunto adecuado de herramientas en función de su rol, y con las que estén familiarizados, reduciendo la curva de aprendizaje y permitiéndoles ser más productivos, reduciendo el lastre de las tareas burocráticas y eliminando el sobrecoste que supone el cambio de contexto de una tarea a otra en sus asignaciones de trabajo.

Igualmente, Visual Studio permite dar soporte a cualquier proceso ALM independientemente de su trasfondo metodológico. Las plantillas de proceso que Microsoft Visual Studio Team Foundation Server ofrece son variadas (desde CMMi hasta Agile o Scrum) y además dichas plantillas de proceso pueden ser modificadas y adaptadas a las necesidades concretas de la organización. Incluso es posible diseñar y construir una plantilla de proceso desde cero con las herramientas incluidas dentro de Visual Studio. Por tanto, podemos hacer nuestro proceso de negocio ALM todo lo diferencial que nuestra organización precise en cada momento y en cada proyecto.

También, la necesidad de adaptar los procesos de desarrollo a las necesidades cambiantes del negocio y la preocupación por la generación de valor en los proyectos software han hecho, en los últimos años, que las metodologías denominadas “agiles” estén teniendo gran seguimiento.

En el análisis Global Developer Technographics Survey realizado por Forrester/Dr.Dobb’s, ya en 2009, se indicaba que a nivel mundial, el 35% de los proyectos software están siendo guiados por metodologías ágiles, siendo la primera posición del ranking. Como curiosidad, la segunda posición, con un 30,6% son proyectos que no siguen ningún tipo específico de proceso o metodología, y luego estarían el resto de tipos de proceso como los modelos iterativos (RUP, Spiral) y por último los modelos en cascada (CMMI, ISO9000, etc.). La cuestión es que los equipos de desarrollo ágiles no se integran muy bien tal cual con los modelos de gestión y seguimiento de proyectos actuales. Visual Studio permite, mediante su integración out-of-the-box con Microsoft Project Server, que los equipos ágiles puedan seguir sus procesos y que al mismo tiempo y sin necesidad de esfuerzo adicional, nuestra Oficina de Gestión de la Demanda tenga la información actualizada del progreso y el consumo de recursos de dichos proyectos. De igual manera, la integración permitirá que los cambios en las planificaciones “formales” de los proyectos les sean comunicadas a los equipos ágiles de una forma que les sea natural y efectiva.

Visual Studio permite aprovechar toda la tecnología y los sistemas software proporcionados por Microsoft (SQL Server, SharePoint, MS Project y Project Server, e incluso Azure) para dotar a nuestro proceso ALM de los beneficios de estar soportado por sistemas software robustos, eficientes y de última generación. Aún más, con Visual Studio podemos integrar dentro de nuestro proceso ALM sistemas software y tecnologías proporcionadas por otros fabricantes del mercado de una manera sencilla y eficaz.

Conclusión

Si nuestra organización precisa de procesos de negocio que le ayuden a competir, éstos deben estar en sistemas software que deben ser diferenciales mediante el desarrollo ad-hoc, y para ello la adopción de un proceso de gestión del desarrollo software soportado asimismo por la última tecnología software es primordial. Visual Studio ofrece una de las mejores soluciones de gestión del ciclo de vida del desarrollo software del mercado actual y nos ayudará a mejorar la competitividad de nuestra organización.