| ¿Quién
está en Primera?

Por Juancarlo Añez
¿Habrías
imaginado que los “Gurúes” de computación
tienen sentido del humor? Pues cuando me pidieron que escribiera
algo sobre Ingeniería de Software CMMi para esta publicación
lo primero que hice fue correr a donde el Gurú más
cercano para que me iluminara sobre el camino que estaba a
punto de tomar.
Recuerdas el famoso “¿Quién está
en primera?” de Abbott y Costello, en el que el jugador
de béisbol que jugaba la primera base se llamaba “¿Quién?”.
Si piensas que eso es gracioso, solo lee lo que el Gurú
me contesto:
- ¡O Gurú! Estoy a punto de tomar el
camino CMMi, pero aún no estoy seguro sobre lo que
todo esto significa.
- Me decepciona tu ignorancia, Pequeño Piojo. CMMi
significa “Capability Maturity Model Integration”.
- ¡Ah! O sea que ahora que tenemos CMMi ¿Significa
que el desarrollo de software se ha hecho una disciplina
madura? (y por favor no me llame “Pequeño Piojo”,
que eso hace que la pantalla se me ponga azul).
- No, el desarrollo de software no es una disciplina madura,
pero podemos fingir que lo es.
- ¿Fingirlo?
- Si, el desarrollo de software es una actividad creativa,
indefinida, pero podemos hacerla más predecible si
pretendemos que todo ocurre dentro de un marco de métodos
y procesos bien definidos, aunque el día a día
siga siendo un poco caótico.
- Mmmm… ¿O sea que el camino de CMMi
me va ayudar a fingirlo?
- No, Pequeño Piojo. Tienes que fingir primero, y
luego aplicar CMMi, o encontrarás tu camino lleno
de “mile-stones”.
- ¿Es por eso que algunos dicen que el camino
CMMi es una calle ciega?
- Los que dicen eso no están comprometidos a mejorar
su forma de desarrollar software.
- ¿Y cómo se compromete uno a eso?
- Aplicando los principios de la Ingeniería de Software
a todos los niveles.
¿Quiere decir fingiéndolos? ¿No?
- ¡Exacto!
- Estoy confundido. ¿Cuándo podré
tomar el camino CMMi sin extraviarme?
- Esa es una pregunta que solo puede ser contestada caso
por caso. Toma mi tarjeta. Ese es el número de teléfono
de mi oficina.
La Ingeniería de
Software está dirigida a hacer del desarrollo de software
una disciplina que pueda construir productos de una calidad
predecible, con recursos predecibles, en tiempos predecibles,
y de una manera eficiente. Los métodos de la Ingeniería
de Software podrían resumirse en una frase: debes saber
todo el tiempo dónde estás parado, hacia dónde
vas, y cuánto te va a tomar llegar allí. Una
parte importante es medir distintos aspectos de las actividades
y productos del desarrollo de software, para permitir mejores
estimaciones, conocer el estado real de un proyecto, y evaluar
el efecto que nuevas prácticas o tecnologías
tienen sobre la productividad. Documentar oportunamente lo
que se conoce y se aprende es también importante.
El gran obstáculo
es que al final ni las mediciones, ni la documentación,
ni los intentos de introducir mejoras tienen ningún
efecto si no ocurren dentro de una cultura de calidad; una
en la cual todos tratan siempre de hacerlo lo mejor posible,
y de siempre pensar y prepararse para hacerlo mejor la siguiente
vez. Sin eso CMMi sólo puede decirnos con claridad
que donde estamos no es donde queremos estar. Sólo
una cultura de calidad puede llevarnos más allá. |