Contenido Exclusivo

¿Cómo comunicar los riesgos de ciberseguridad al Consejo de Administración?

Los Consejos de Administración de las organizaciones deben comprender...

VIDEO: ¿Qué funciones desempeña un Chief Business Officer (CBO)?

¿Por qué es importante crear el puesto de CBO...

¡Última semana para postularse! Los Mejores 20 CISO de México 2024

CIO Ediworld le invita a participar en la tercera edición...

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

Video: Cisco Connect 2024 expuso la importancia de la IA en la industria

Cisco Connect 2024, el evento tecnológico más importante de...

Plataforma Getin AI predice “cuántas personas visitarán una tienda y cuánto se venderá”

¿Se puede anticipar el número de clientes que llegarán...

La Transformación Digital Genera Valor para Fabricantes y Clientes en la Industria Automotriz

La industria automotriz está experimentando una revolución impulsada por...

Veeam nombró a Niraj Tolia como director de tecnología

Veeam nombró a Niraj Tolia como director de tecnología...

Newsletter

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

Video: Cisco Connect 2024 expuso la importancia de la IA en la industria

Cisco Connect 2024, el evento tecnológico más importante de la región, se llevó a cabo en Cancún, México del 11 al 13 de septiembre,...

Plataforma Getin AI predice “cuántas personas visitarán una tienda y cuánto se venderá”

¿Se puede anticipar el número de clientes que llegarán a una tienda en días lluviosos, semanas o incluso meses antes? Getin, empresa proveedora de...

La Transformación Digital Genera Valor para Fabricantes y Clientes en la Industria Automotriz

La industria automotriz está experimentando una revolución impulsada por la transformación digital, donde los avances tecnológicos están remodelando no solo el diseño de vehículos,...