¿Qué tiene la relación entre empresarios e ingenieros que nos lleva a seguir implementando ‘Waterfall’?

Hay dos lados involucrados en esta respuesta:

Gente de negocios

A los empresarios les gusta saber qué van a obtener, cuánto tiempo llevará y cuánto costará. A menudo no son especialistas en software, pero tienen la responsabilidad de comprar muchos tipos diferentes de productos y servicios.

Si está acostumbrado a financiar proyectos de construcción, por ejemplo, el enfoque de software de Cascada probablemente sería algo muy cómodo para usted. Y la metodología se aplica bastante bien para la construcción, ya que se trata de metodologías muy bien establecidas, materiales que no han cambiado durante milenios y enfoques para el desarrollo de especificaciones que se han codificado durante siglos o décadas.

Hay mucho más en común entre dos proyectos de construcción dados (en múltiples dimensiones) de lo que normalmente encontrará entre dos proyectos de software dados, y la tecnología de construcción puede cambiar ligeramente con los años, pero a un ritmo de órdenes de magnitud más lento que el de los proyectos de construcción. Cambios continuos en la tecnología informática.

El enfoque de Waterfall para el desarrollo de software parece muy lógico para las personas de negocios no técnicas que no tienen una comprensión profunda de lo que se están metiendo con un proyecto de desarrollo de software. Con Waterfall obtienen (o piensan que obtendrán) lo que esperan en otros dominios: una imagen clara y detallada del resultado final, potencialmente (dependiendo de los términos del compromiso) con un marco de tiempo y presupuesto predecible . ¿Que es no gustar? Con el desarrollo de Waterfall, no es necesario cambiar el enfoque de especificación, planificación y presupuesto que es típico de algunos otros tipos de compra.

Ingenieros

Los ingenieros de software, por otro lado, a menudo van al extremo opuesto, porque este es el dominio que conocen, y a menudo es extremadamente diferente de los dominios que conocen los empresarios. Los ingenieros en estos días tienden a un enfoque más ágil para el desarrollo.

“Ágil” tiene muchas interpretaciones diferentes, realmente, pero en forma extrema puede negar casi todo lo característico de un enfoque de Cascada. Considere estas prioridades del Manifiesto Ágil:

  • Individuos e interacciones sobre procesos y herramientas
  • Software de trabajo sobre documentación completa
  • Colaboración del cliente sobre negociación de contrato
  • Responde al cambio sobre el siguiente plan

Desde el punto de vista de la ingeniería, ¿qué no le gusta? Aquí se cambian las tablas. Los ingenieros de software han visto una y otra vez que las especificaciones creadas en el vacío por personas no técnicas simplemente requieren iteración para definir e implementar en relación con las tecnologías del mundo real. No solo los proyectos en cascada a menudo superan el presupuesto, sino que las características creadas para ajustarse a una especificación detallada pero teórica pueden terminar ni siquiera siendo ideales cuando los usuarios comienzan a usar el sistema. Las especificaciones diseñadas por usuarios finales sin participación de ingeniería pueden estar en desacuerdo con lo que es técnicamente posible (o eficiente) y pueden no aprovechar la información que los ingenieros tienen para dar.

A veces, un pequeño cambio en la forma en que se implementa algo puede marcar la diferencia entre minutos y semanas de esfuerzo, y el arte del desarrollo de software no es algo que permanezca igual incluso durante una década, y mucho menos los siglos durante los cuales las soluciones de la vieja escuela (para ejemplo, construcción de viviendas) han tenido que establecer procesos comunes y predecibles.

Para un ingeniero de software, el enfoque de desarrollo más rentable y productivo involucra al cliente y requiere menos previsibilidad de lo que a menudo es común para otros tipos de proyectos. En una metodología ágil, el enfoque está en el software real en sí mismo en lugar de un “plan” teórico altamente detallado para el software. En lugar de que el cliente proporcione un enorme documento de requisitos y salga corriendo para dejar que los ingenieros “solo lo hagan”, un enfoque más realista es iterar, con participación y priorización desde el lado comercial.

La relación

Por supuesto, los empresarios son los compradores y los ingenieros son los proveedores de servicios. Es muy común que la gente de negocios tenga una mentalidad Waterfall y exigir un enfoque ágil puede significar perder el negocio; siempre hay algún grupo que simplemente dirá “sí” a un proyecto.

La respuesta simple es que las personas de negocios tienden a querer Waterfall porque son personas de negocios e ingenieros que quieren trabajar y a menudo se comprometerán. Es posible que algunos ingenieros sigan diciendo que Waterfall es genial, pero eso es raro en mi experiencia entre los buenos.

No sé cuándo o si esto cambiará alguna vez. He visto muchos proyectos en los que se alcanza cierto nivel de compromiso, donde hay más de un enfoque de Cascada de lo que la ingeniería desearía, sin embargo, hay un margen para un enfoque ágil, y también he visto algunas organizaciones y empresarios evolucionar a un nivel bastante elevado. Enfoque ágil. Esto es más común cuando el personal de ingeniería es interno, ya que es entonces cuando la misma organización ve ambos lados de la ecuación.