La siguiente pregunta se ha convertido ya en todo un clásico ¿es el software un arte o una industria?

Si entendemos una industria como un conjunto de procesos y actividades bien definidos encaminado a obtener un producto con la calidad que el usuario requiere, empleando unos recursos de manera eficiente… no tendremos otro remedio que admitir que no, que el desarrollo de software no es una industria. Algunos lo llaman arte, otros artesanía, que según la Wikipedia, artesanía se refiere a lo”realizado de forma manual por una persona en el que cada pieza es distinta a las demás”

Y es que aunque se ha avanzado mucho, la joven disciplina de la ingeniería del software no resiste ni siquiera una mínima comparación con otras parcelas como la construcción o la ingeniería, que hace ya mucho tiempo que se han industrializado. ¿cuales son las razones para ello? En mi opinión:
  1. En primer lugar, precisamente, su juventud. Realmente todavía no tenemos una metodología y un proceso de producción de software maduro y asentado.
  2. En segundo lugar, la construcción a medida. En las grandes corporaciones no hay un software estándar. Todo se hace a medida según los requirimientos del negocio. Precisamenete porque las reglas de negocio de cada empresa son distintas ya que en ellas se basa su diferenciación y know how respecto a la competencia.
  3. En tercer lugar la poca reutilizacion del software ya existente. Aunque existen herramientas de gestión de activos (RAS) y la arquitecturas SOA Se van implantando paulatinamente (tiene en la reutilizacion de servicios de negocio ya existentes uno de sus principales objetivos)

La situación del día a día se muestra en la siguiente tira humorística (vía sinergiasincontrol.com)

En la práctica las metodologías no están bien implantadas, tampoco ampliamente difundidas. Esto hace que este sector se parezca más a la artesanía, donde predomina el trabajo “hecho a mano”, que una industría con unos procesos de fabricación claros, unos planos y diseños de los que partir, un control de calidad efectivo y un producto bien hecho con garantías empleando los recursos de manera eficiente.

El primer objetivo de una Arquitectura y Metodología debe ser la industrialización del software, para ello:
1.- deben ser sencillas de explicar y de entender
2.- deben asegurar una reutilizacion real de los activos sotware. Me temo que en la práctica apenas se consigue.
3.- deben reducir los skills necesarios en los desarrolladores
4.- deben permitir cambios rápidos en la especificaciones, diseño e implementación para conseguir un rápido time to marketing

Veremos su evolución con el paso de los años…

Comparte este artículo…

Anuncios