|
|
Modelos de desarrollo de software
José Camilo Daccach T.
El modelo de desarrollo de software se compone de una mezcla de varios elementos, entre los que se encuentran la filosofía, el modelo de negocio, y el licenciamiento. Ni la calidad ni el desempeño dependen del modelo.
Cuadro triple derecha
Tuve oportunidad de escuchar opiniones de personas que abogan por diferentes modelos de desarrollo de software, en un seminario sobre Software Libre. Curiosamente había "fanáticos" del mundo Linux, al igual que un representante de Microsoft y uno de Sun, en el foro que pude presenciar. Un acierto incorporar tres vertientes e interpretaciones del desarrollo de software. Inicio mi recuento de las conclusiones del evento.
El modelo de desarrollo se compone de una mezcla de varios elementos. La filosofía detrás del desarrollo de software tiene amplia influencia en los otros dos elementos. Las razones para el desarrollo pueden incluir la generación de bienestar, desarrollo de una comunidad, desarrollo intelectual de sus creadores, o la generación de mejoramiento en el uso de las herramientas, entre otros. La comprobación de un error en el software, o simplemente la sensación de cumplir un cometido pueden ser los motores que lleven a un hacker o un creador de un virus a desarrollar programas de este estilo.
El modelo de negocio es otro de los elementos que se deben considerar. Cuando se habla de modelo de negocio, básicamente se debe determinar de donde proveerán los ingresos. En el desarrollo de software gratuito y/o software libre, se cuenta en buena parte con recursos de donaciones, y es palpable el desarrollo de estas aplicaciones por fundaciones que pueden recibir estas donaciones y evitar tributos que disminuirían el dinero para el desarrollo. En el ámbito comercial, es factible vender el software en sí, como licenciamiento de uso, comercializar los servicios de implantación o de integración, o una combinación de estos dos modelos.
Por lo general, tanto alrededor del software comercial como del software libre se estructuran modelos de negocios que generen ingresos para garantizar la sostenibilidad de las empresas. No en vano, "quienes producen el software también necesitan comer". Los productores de software comercial manejan diferentes esquemas en su red de distribución: algunos lo hacen de forma exclusiva y directa; otros lo hacen a través de socios de negocios, quienes a su vez agregan valor a través de servicios de implantación y consultoría, y otros productores prefieren una mezcla de los dos tipos, a selección del cliente.
El licenciamiento completa los tres elementos del modelo de desarrollo de software. De cualquier filosofía o modelo de negocio que se desprenda una aplicación, siempre hay una licencia de uso. No mas en el mundo de "código abierto" hay casi 50 tipos de licenciamiento, que consigna diferentes derechos y obligaciones. Básicamente estas licencias, en su esencia, permiten que se cambie el código, pero también exigen que las modificaciones al código sean compartidas con la comunidad, de tal manera que todos se puedan beneficiar de los cambios. Es claro entonces, que si partimos de una aplicación de licencia que permita cambios, para generar aplicaciones de uso estratégico en la compañía, donde la estrategia y reglas del negocio queden embebidas en la aplicación, al entregar el código estaríamos también entregando nuestra estrategia, y para no entregar el código, estaríamos infringiendo la licencia.
En el mundo comercial y en el mundo "de código cerrado" también existe el licenciamiento, en especial cuando lo que por lo general se entrega es una licencia de uso para usuario fina, es decir, se estipulan los derechos y obligaciones que tiene el usuario al usar la aplicación, porque es claro que no hay forma de cambiar el código de las aplicaciones, y por lo tanto no hay obligaciones en este sentido.
Hay un par de premisas adicionales que se deben tener en cuenta al escoger el modelo a utilizar, bien sea como empresa productora, o como empresa compradora/usuaria. El modelo en sí no garantiza ni tiene inherencia en la calidad del producto. Por simplemente ser un producto comercial, o libre, o cualquier combinación de licenciamiento, filosofía y modelo de negocio, no implica que sea de buena calidad. En todos los modelos se puede hacer software bueno, regular y malo.
Adicionalmente, no hay "verdades reveladas" ni "de a puño", ni siquiera una regla de tres que podamos generar para determinar las ventajas y desventajas de cada modelo. Todos los modelos tienen características específicas, que para unos pueden ser ventajas mientras que para otros pueden ser desventajas.
|