En un comienzo esta inteligencia fue muy básica y limitada sólo a algunos productos "top". Sin embargo, a medida que la electrónica se ha ido desarrollando, los componentes se han ido miniaturizando y los costos, consiguientemente, se han ido reduciendo, y más inteligencia ha sido incorporando a mayor número de productos. Y, en la misma medida en que aumenta la "cantidad" de inteligencia, aumenta la complejidad del software que controla estos sistemas incrustados. Al aumentar la complejidad del software, ya no basta con uno o dos programadores expertos en un tema. La complejidad creciente, junto con el hecho de que un error en el software incrustado no se puede solucionar con la distribución de un "parche", a la usanza de algunas compañías tradicionales de desarrollo de software, hace que sea cada día más necesario tener un control en el desarrollo de software que asegure un nivel de calidad óptimo. Al parecer, ha llegado la hora de formalizar los procesos de desarrollo en el campo del "firmware". Marcos de desarrollo Existen diversos marcos de desarrollo de software entre los que destacan CMM (Capability Maturity Model) y su más reciente versión CMMI, ambos del Software Engineering Institute de la universidad Carnegie Mellon. Estos marcos describen las distintas capacidades que una organización debiese ir adquiriendo para asegurar el desarrollo de software de buena calidad. La principal queja contra estos marcos es el hecho de que parecieran ir acompañados de una gran cantidad del llamado "overhead", que los haría soluciones no viables para pequeñas compañías. Sin embargo, la certificación hace un tiempo del Centro Chileno de Tecnología de Software de Motorola, un centro que contaba con tan sólo diez ingenieros, en el nivel de madurez 3 del conocido CMM, parece contradecir dicha creencia popular. Crecimiento continuo de la inteligencia En definitiva, dando una rápida mirada al futuro, no es difícil pronosticar que sólo queda una dirección para la inteligencia incrustada en los distintos dispositivos: aumentar. Con esto, el aumento en la complejidad del software inherente a dicha inteligencia seguirá sin duda la misma tendencia. En esta perspectiva, es importante comenzar a preocuparse desde ya a formalizar la metodología de desarrollo de software, utilizando posiblemente los distintos marcos que para ello existen, para asegurar la necesaria calidad de los productos del futuro. |