En el marco de la calidad de software existen diversas normas o enfoques de implantación, tales como ISO9001, CMM, SIX-SIXMA que clasifican de alguna forma a las organizaciones. Por ejemplo:
Hoy se plantea que existen otro tipo de organizaciones que escapan a estas clasificaciones.
CIMM (The Capability Im-Maturity Model) describe que hay organizaciones que no han alcanzado ni siquiera el primer nivel de CMM.
CIMM fue desarrollado por Anthony Finkelstein, profesor de UCL, University College London, en el que propuso que existen niveles negativos de madurez. Posteriormente este modelo fue refinado por Tom Schorsch, estudiante de doctorado de jornada completa del Instituto de Tecnología de la fuerza aérea de los Estados Unidos en la Base aérea WrightPatterson, Ohio.
Niveles de CIMM
0.Negligente
-1.Obstructivo
-2.Despectivo
-3.Sabotage
El nivel 0 se refiere a las organizaciones negligentes. Éstas impiden cualquier desarrollo de software exitoso. Su gran, y a veces única, preocupación es la reutilización del software.
El nivel -1 representa a organizaciones obstructivas. Imponen procesos contraproductivos para impedir cualquier avance. Se concentran en desarrollar entornos de desarrollo y repositorios.
El nivel -2 Organizaciones desdeñosas. Desprecian cualquier institucionalización de buenas prácticas, su gran objetivo es la programación automática.
El nivel -3 En este nivel existe una total y consciente negligencia. Desacreditan esfuerzos de mejoras de organizaciones de software. Funcionamiento pobre.
Esta clasificación no es muy conocida, pero representa la realidad de muchas empresas.
Hoy se plantea que existen otro tipo de organizaciones que escapan a estas clasificaciones.
CIMM (The Capability Im-Maturity Model) describe que hay organizaciones que no han alcanzado ni siquiera el primer nivel de CMM.
CIMM fue desarrollado por Anthony Finkelstein, profesor de UCL, University College London, en el que propuso que existen niveles negativos de madurez. Posteriormente este modelo fue refinado por Tom Schorsch, estudiante de doctorado de jornada completa del Instituto de Tecnología de la fuerza aérea de los Estados Unidos en la Base aérea WrightPatterson, Ohio.
Niveles de CIMM
0.Negligente
-1.Obstructivo
-2.Despectivo
-3.Sabotage
El nivel 0 se refiere a las organizaciones negligentes. Éstas impiden cualquier desarrollo de software exitoso. Su gran, y a veces única, preocupación es la reutilización del software.
El nivel -1 representa a organizaciones obstructivas. Imponen procesos contraproductivos para impedir cualquier avance. Se concentran en desarrollar entornos de desarrollo y repositorios.
El nivel -2 Organizaciones desdeñosas. Desprecian cualquier institucionalización de buenas prácticas, su gran objetivo es la programación automática.
El nivel -3 En este nivel existe una total y consciente negligencia. Desacreditan esfuerzos de mejoras de organizaciones de software. Funcionamiento pobre.
Esta clasificación no es muy conocida, pero representa la realidad de muchas empresas.
Comentarios
te felicito... ojalá agregaras algunas referencias para profundizar más en el tema.
Organización desdeñoza. ¿Conoces alguna? :)
Por ejemplo, la -2 se centra en programación automática; por qué esto es malo, considerando que la automatización de tareas puede mejorar la calidad del software desarrollado?
Ojalá otros alumnos se motiven a compartir sus hallazgos.
Puede ser muy dañina en empresas que trabajan en forma descuidada y sin límites claros en lo que se refiere a desarrollo.
He visto empresas, en Antofagasta, que tienen sus propias direcciones de informática donde el trabajo de desarrollo se hace realiza en forma artesanal. Estas empresas han optado por herramientas generadoras de código, donde el desarrollo no es fácil de mantener, extender y menos depurar, ya que las mismas herramientas generan código que es muy difícil de entender para personas que siempre han trabajado, por ejemplo, en Visual Basic y que ahora se enfrentan a un código foráneo como por ejemplo C# que involucra una serie de conceptos asociados a la POO.
Es más, una empresa que no tiene la madurez para el desarrollo donde su único objetivo es el uso de herramientas de generación automática terminará desarrollando software "a ciegas". El dicho "que funcione" obstaculiza el desarrollo de una herramienta integrada a la empresa, que madure y se adapte a medida que dura el ciclo de vida de esta.
No estoy diciendo que la automatización sea una mala práctica en empresas maduras, como TUXPAN que ha tenido éxito reconocido en estas materias, sino que hay que tener cuidado cuando el único fin de una jefatura informática es encontrar un sin número de herramientas de generación de código con la idea de que esta es la solución y lo único. Al igual que la programación tradicional orientada a objetos, el conocer o utilizar patrones de diseño no asegura que el software cumpla todas las exigencias de un producto de calidad. Para lograr productos de calidad se deben considerar muchos factores como: gestión de proyecto de software, gestión del desarrollo de software, gestión del proceso de software, etc. Esto sin duda permitirá que las empresas adopten estas tecnologías y que sean de utilidad más que una carga.
En resumen, cualquier entidad que desarrolle software (desde grandes proyectos a pequeños) debe considerar, cada vez más, que se necesitan profesionales capacitados para el desarrollo, que existen técnicas, métodos y metodologías que sin duda mejorán la producción de software y reducirán los costos. Hoy por hoy, no es suficiente sólo saber un lenguaje de programación (o una herramienta que genere código) sino que también hay que saber cuales son los conceptos básicos para el desarrollo y como comunicamos estas ideas a los clientes para una mejor comprensión del problema y retroalimentación. Para eso existen herramientas conceptuales para el análisis, diseño (incluida la arquitectura), modelamiento de las bases de datos, etc.
Eso es todo amigos... y todo esto es solo mi humilde opinión... ;)