No solo depende de programadores
El equipo detrás del software
Existe un error recurrente a la hora de pensar cómo se construye un software.
Para muchas personas la construcción de un software es algo simple, donde basta con contratar a un equipo de desarrolladores y darles las instrucciones correctas.
Para todas ellas personas déjenme decirles, es bastante más complejo que eso.
Muchas veces caemos en el error de subestimar la construcción del software y las consecuencias suelen ser muy costosas para el negocio.
Para poder explicarlo mejor, hagamos una analogía de la construcción de software con la construcción de una casa, o un edificio, donde no se requieren solo constructores, sino un equipo completo de arquitectos, diseñadores de interiores, capataces, etc.
Veamos con un ejemplo
Antes de comenzar el proyecto de una casa, debemos saber qué estamos por construir, no da lo mismo construir una casa de 2 pisos que un edificio de 10, las bases seguramente deberán ser distintas y un arquitecto nos guiará en este camino.
Lo mismo sucede con el software, antes de comenzar a escribir lineas de código un arquitecto de software en este caso deberá crear la arquitectura correspondiente al proyecto que se desea.
Luego de ello vamos a necesitar que cada rincón de nuestra casa se ajuste a nuestra forma de vida o a nuestro gusto, en el caso del software, los analistas funcionales y técnicos indagarán en los procesos que abarcará el software detallándolos para que la operatoria de su software sea un reflejo fiel de su negocio.
Una vez terminado los planos de la casa, seguramente debemos aprobarlos para comenzar con la construcción, en el caso del software funciona igual, el equipo de anteproyecto le presentará el trabajo realizado y la solución que se construirá para que como clientes podamos aprobarlo antes de comenzar.
Una vez aprobado este análisis, el trabajo queda en manos de un Líder de proyecto, pensemos en él como en el capataz de una obra, que guiará al equipo de construcción e irá designado las tareas a realizar.
Recién en esta instancia los constructores (desarrolladores en nuestro caso) comienzan a trabajar y construir la solución planteada en el análisis, seguido de un equipo de prueba o QA que se encarga de corroborar que la solución responda a las necesidades planteadas por el negocio del cliente.
Cada uno de estos roles es fundamental para lograr la construcción de un software de calidad ya que sin ellos, no tendríamos bases sólidas, las tareas no sería asignadas de forma eficiente o el software no respondería a las necesidades del negocio.
Por eso, cada vez que pensemos en la construcción de un software sepamos que hablamos de mucho mas que desarrolladores trabajando en conjunto, se requieren mucho roles para lograra el resultado deseado.