Contenido Exclusivo

Desarrollo Ágil para grandes proyectos de software

 

Aunque no parezca obvio, el software se oculta en aspectos cruciales de la vida cotidiana, desde el cajero automático que expende dinero, hasta los métodos de pago fácil y las carreteras más importantes. Entregar software de alta calidad con eficiencia resulta crítico para las empresas en todas las industrias, y más importante aún para los usuarios finales. Los ciclos de producto de dieciocho meses ya no son aceptables y las empresas buscan formas de agilizarse y adaptarse rápidamente a la demanda siempre dinámica del mercado.A pesar de la necesidad de un programa de desarrollo de software eficiente, muchos de los proyectos de desarrollo actuales siguen funcionando y basándose en una metodología tradicional que requiere definir todos los requisitos inicialmente, dejando escaso, o nulo, lugar para el cambio. El problema de este enfoque es que la mayoría de los interlocutores no son adeptos a definir sus necesidades con precisión. Si a esto se suma al ritmo dinámico del avance tecnológico, los resultados son desalentadores. La firma de investigación estadounidense Standish Group reveló que 90% de los proyectos de software se completan con demoras, 66% se consideran fracasos y 30% se descartan.

Como algunos sabrán, el desarrollo Ágil (Agile) es una metodología de procesos que permite a las empresas producir software con más rapidez. Se trata de un método colaborativo incremental que apunta a producir software de alta calidad de manera oportuna y eficaz en función de costos.

En los comienzos del desarrollo ágil, las aplicaciones a las que este método estaba destinado tenían un alcance más reducido y usos de negocio relativamente directos. Hoy el panorama es completamente distinto. Puesto que las empresas quieren aplicar el desarrollo Ágil a un conjunto más amplio de proyectos, esta metodología debe adaptarse para abordar las numerosas complejidades técnicas, organizacionales y de negocios que hoy enfrentan las organizaciones de desarrollo de software.

Para analizar adecuadamente el costo de la transición hacia el desarrollo Ágil, se deben considerar los costos y los beneficios, teniendo en cuenta las reducciones de los riesgos del desarrollo. Por ejemplo, un compromiso con una metodología Ágil requiere cambiar la forma en que los ingenieros dedican su tiempo y encaran todas las actividades de desarrollo. Aquí se destacan algunos puntos clave que explican por qué existe ese cambio de foco, que incluye:

– Personas e interacciones (más que procesos y herramientas)
– Software que funcione (más que documentación integral)
– Colaboración con clientes (más que negociación de contratos)
– Respuesta al cambio (más que seguir un plan)

Quien se proponga adoptar esta metodología también deberá considerar el papel que desempeñará como gerente. La mayoría de los gerentes de programas de desarrollo Ágil y ligero suelen adoptar el enfoque de mantenerse al margen. Permiten a los miembros del equipo liderar aspectos específicos de proyectos para promover el tipo de entorno que se necesita para permitir una transición más exitosa al desarrollo Ágil y ligero.

El desarrollo Ágil aumenta la eficiencia de un equipo en la provisión de software, lo cual se traduce en satisfacción de clientes y aumento de los ingresos. La eficiencia tiene que ver con eliminar el desperdicio en una actividad en particular, que puede o no tener un impacto en el objetivo más amplio. Sin embargo, la eficiencia no siempre implica que uno esté haciendo lo correcto o haciendo las cosas en el orden correcto. La eficiencia es un concepto más grande y más importante, porque supone lograr un objetivo.

Entre otros principios importantes del desarrollo Ágil se encuentran el involucramiento constante de los clientes y, como se mencionó brevemente, la colaboración permanente de los equipos. El feedback de las partes interesadas acerca del código en funcionamiento y el desarrollo con test-drive son también aspectos esenciales para implementar un proyecto exitoso. Las partes interesadas –que incluyen al personal de negocios, operaciones y soporte, y otros profesionales de TI empresarial-deben participar desde el principio y con frecuencia en los proyectos de desarrollo ágil durante toda la vida del proyecto, con un rol activo en las iniciativas de modelado y testeo, y a veces incluso en la fase de desarrollo. Esta activa participación les permite ver cómo funcionan los esfuerzos de desarrollo de software “desde adentro”. Motiva a los desarrolladores a concentrarse en las prioridades de sus interlocutores en lugar de sus propias prioridades que tal vez no mejoren el uso que se da al producto.

Estos principios sirven de base a las empresas para prepararse y responder rápidamente a los requisitos cambiantes. Por ejemplo, utilizando Scrum (in método de desarrollo ágil que toma su nombre prestado de una jugada de rugby), se lleva a cabo una reunión (“scrum”) diaria con todos las partes interesadas. Todos los días, los desarrolladores responden tres preguntas:

1.     ¿Qué ha hecho desde ayer?

2.     ¿Qué planea hacer hasta mañana?

3.     ¿Tiene algún problema que le impida cumplir su objetivo?

Esta reunión diaria asegura que todos asuman la rendición de cuentas por lo que están haciendo y que sus compañeros de equipo puedan señalar errores e incompatibilidades antes de que se conviertan en catástrofes. También asegura que alguien pueda responder de inmediato si surge alguna emergencia.

Al Desarrollo Ágil suele criticársele ser indisciplinado: algo muy alejado de la realidad. La comunicación y la disciplina son los dos componentes fundamentales del Desarrollo Ágil. Cuanto más corto el ciclo, mayor la disciplina que se requiere para hacerlo funcionar; por ejemplo, la capacidad de dar valor de negocios concreto y medible a modo de software que funcione en cada iteración.

Si bien la disciplina en el desarrollo de software sigue estando abierta a debate, hay algo indudable: el interés en el desarrollo ágil y magro va en aumento. Por ejemplo, en IBM solamente, en los últimos dos años, la cantidad de proyectos de desarrollo ágil aumentó de 5 a 200.

Sue McKinney es vicepresidente de transformación e integración de desarrollo en IBM. Actualmente es responsable de las actividades transformacionales de desarrollo en el Grupo de Software IBM.

Lo Más Reciente

Las 10 principales tendencias tecnológicas estratégicas de Gartner para 2025

Con el propósito de ofrecer una guía para que...

Nokia amplía acuerdo multi-anual con Microsoft Azure

Nokia anunció una ampliación de cinco años de su...

¿Por qué es esencial contar con una póliza de seguridad cibernética en tu empresa?

La ciberseguridad ha dejado de ser una preocupación exclusiva...

La IA disminuirá la negligencia médica, opinan 58% de médicos en México

La mayoría de los médicos en México parecen ser...

Newsletter

Recibe lo último en noticias e información exclusiva.

Las 10 principales tendencias tecnológicas estratégicas de Gartner para 2025

Con el propósito de ofrecer una guía para que su organización avance con confianza hacia el futuro, la firma de consultoría de mercado TI,...

Nokia amplía acuerdo multi-anual con Microsoft Azure

Nokia anunció una ampliación de cinco años de su acuerdo multi-anual para suministrar routers y switches para centros de datos Microsoft Azure. El portafolio...

¿Por qué es esencial contar con una póliza de seguridad cibernética en tu empresa?

La ciberseguridad ha dejado de ser una preocupación exclusiva de los departamentos de TI y es una prioridad estratégica para empresas de todos los...