lunes, 21 de abril de 2008

Niveles de maduración de una empresa de desarrollo de software.

Las empresas que desarrollan software intentan obtener beneficios, al fin y al cabo es la principal misión de una empresa privada con ánimo de lucro. Las técnicas formales de ingeniería del software pueden ayudar a ello puesto que proporciona herramientas para la previsión de costes / tiempo.
Ahora bien, implementar estas técnicas no es fácil, lleva tiempo y esfuerzo. No es sencillo organizar a un conjunto de personas para que actúen de forma unificada y óptima con el objetivo de producir un producto determinado.
Según sea el nivel de implementación de estas técnicas se catalogan las empresas en cinco niveles.

Nivel 1. Inicial.
Es el el que comienzan, se mantienen y por último mueren las mayorías de las empresas. Es este nivel no hay métodos establecidos y se prima la filosofía del 'code & fix' . Se codifica y se corrige de manera continua hasta que el producto ( generalmente de baja calidad ) se termina. El éxito es necesariamente cosa de fortuna y fácil que el producto sea económicamente desastroso. Además el personal suele quemarse debido a la gran cantidad de horas extras gratuitas empleadas para que el producto sea económicamente favorable a la empresa.

Nivel 2. Repetible.
Se establecen un número limitado de mecanismo de ingeniería a nivel de proyectos.

Nivel 3. Definido.
Las herramientas definidas en el nivel dos han sido documentadas y estandarizadas y se emplean en toda la empresa.

Nivel 4. Administrado.
Los resultados del desarrollo son predecibles y la calidad está garantizada.

Nivel 5. Optimizado.
Ahora la organización se encuentra en proceso de mejora continua. El número de empresas que se encuentran en este nivel es del 0.1% .

Se estima que los tiempos requeridos por una organización para pasar de un nivel a otro son los siguientes:
  • nivel 1 a nivel 2 se emplean 23 meses
  • nivel 2 a nivel 3 cerca de 22 meses
  • nivel 3 a nivel 4 unos 28 meses
  • nivel 4 a nivel 5 cerca de 17 meses
Hay un número finitos de factores necesarios para que una empresa se pueda definir como madura, son estos:
Factorización de los resultados. La calidad del producto final está garantizada ya que los procesos de fabricación lo garantizan.
Escalabilidad. Se pueden añadir equipos de trabajo y la calidad sigue garantizada.
Mejora continua. Se tienen los mecanismo necesarios para incrementar la eficacia y la calidad de los productos.
Know-how propio. Los métodos empleados son el mejor activo de la empresa.

Estos niveles de maduración se entienden sobre los sistemas de ingeniería predictiva (o clásica) ya que los métodos llamado ágiles no pueden catalogarse dentro de estos niveles.