Entradas etiquetadas ‘Producción industrializada del software’
Cautividad
Hace poco tuve una charla con un compañero sobre el concepto de las factorías de software. Él comentaba que externalizar gran parte del desarrollo provocaba cautividad respecto al proveedor.
En cierto modo no le falta razón, pero eso se producirá sí y solo sí hacemos las cosas mal. Sí los proyectos se desarrollan con calidad, existe una correcta gestión de la configuración, el conocimiento funcional y la estructura de los sistemas se documentan y los directores de proyecto por parte de la organización controlan todo el proceso no tiene por qué existir cautividad.
Es esa calidad la que debemos perseguir sea como sea y sin ella estamos cautivos con o sin factoría del software, que al fin y al cabo no es más que un medio o una estrategia para realizar desarrollos y mantenimientos evolutivos.
Por tanto no se debe tener miedo a externalizar desarrollos en factorías del software y sí en no hacer las cosas bien.
Producción industrializada del software VI
Uno de los aspectos sobre los que más inciden los responsables comerciales de centros de producción industrializada de software es la flexibilidad del personal tanto para asumir períodos de picos de producción como para reducirlo en períodos de menos demanda.
Es decir, en teoría si tengo externalizado el proceso de desarrollo en un centro de producción industralizada de software, si durante dos mes necesito un pico de 20 personas para hacer una serie de evolutivos urgentes, los tendré (siempre y cuando esté contemplado esta circunstancia presupuestariamente y en el acuerdo de nivel de servicio) y si en medio de esos dos meses se paran un par de semanas los desarrollos de algunos evolutivos, disminuirá el número de personas dedicadas al proyecto para reducir costes y se incrementará cuando vuelva a arrancar los desarrollos parados.
Vuelvo a decir lo que llevo diciendo en esta serie de post sobre este asunto. La optimización de los recursos humanos, a través de un seguimiento proactivo de los proyectos que detecte períodos de paradas de producción, la normalización de la tecnología y metodología de desarrollo y la transmisión rápida de conocimientos entre el personal de la empresa de desarrollo de software, es fundamental para que una organización consiga optimizar los beneficios, lo cual además será óptimo para los clientes ya que podrán optimizar el resultado de su inversión y esto lo puede hacer cualquier empresa sin tener que ponerse la etiqueta de centro productor industrializado de software.
El éxito real a nivel comercial de estos centros está en la identificación de todos los conceptos (los positivos) comentados en esta serie de posts con la producción industrializada de software, es decir, se asocia a estos centros con: gran productividad, ahorro de costes, calidad del producto, flexibilidad, etc…
Lo conclusión que intento sacar de todos estos posts es que la etiqueta de industrialización no asegura la consecución de esos objetivos y que cualquier empresa de desarrollo de software los puede conseguir simplemente aplicando buenas prácticas.
Producción industrializada del software V
Los responsables comerciales de empresas que constituyen centros de producción industrializada de software, afirman que gracias a este nuevo modelo son capaces de producir software más barato y de mayor calidad.
Lo de más barato no me cabe duda, pero no necesariamente por una mejora de los procesos, que también, sino porque el modelo se basa en conceptos como la descentralización y la rotación intensiva de personal (no todo el mundo puede ser analista o analista programador).
Lo de la calidad también es posible, pero de igual forma que sucede con el abaratamiento de costes la clave no es simplemente la constitución de esas fábricas de software, sino como he comentado en post anteriores, en la organización, metodología, optimización de recursos y en disponer de un framework y un buen catálogo de componentes reutilizables y eso lo puede hacer cualquier empresa de desarrollo de sofware, sin utilizar el concepto de producción industrializada de software.
Otro aspecto que caracteriza a estas industrias del software es la especialización, simulando en personas el concepto de máquinas que realizan una tarea específica y producen un resultado que coge otra máquina y así sucesivamente hasta que por piezas se costruye el producto completo. La especialización es un concepto interesante, pero mi opinión al respecto es que la fórmula ideal es tener personal especializado (muy bueno en su área) y polivalente (son los integradores, pero no en el concepto más técnico del término, sino en el sentido de que son los que engrasan la maquinaria y hacen que el proceso de desarrollo no se atasque).
Producción industrializada del software IV
Como el concepto está de moda, el concepto de industrialización se está empezando a aplicar en otros campos relacionados con las TICs:
- Industrialización del aseguramiento de la calidad.
- Industrialización de los centros de atención a usuario.
- Industrialización de la técnica de sistemas.
- Industrialización de la infraestructura de sistemas físicos.
- Etc…
Resulta lógico que si el concepto vende y está teniendo éxito comercial se haya buscado su aplicación en otros ámbitos presentando unas características parecidas al proceso de desarrollo de software, si bien en algunos campos veo más acertado el concepto, como por ejemplo la industrialización de la infraestructura de sistemas físicos y su técnica de sistemas, ya que:
1) Los servicios 24*7 requieren una buena infraestructura de recursos humanos si se quiere realizar con recursos propios.
2) La optimización del funcionamiento de servidores, servidores de aplicaciones, etc… resulta esencial para el correcto desempeño de los sistemas de información.
3) El mantenimiento de un Centro de Proceso de Datos, requiere un espacio, un acondicionamiento especial y unas medidas de seguridad que todas las organizaciones no se pueden permitir.