Agilidad en la construcción de software

Hace ya tiempo que me vengo dedicando a «evangelizar» acerca de la necesidad de incrementar la agilidad (solemos utilizar más el término adaptabilidad) de los sistemas de información.

Bueno, pues ahora voy a centrarme en algo más concreto, en la búsqueda de la agilidad en los procesos de construcción de software.

¿Por qué la agilidad es una característica deseada de los procesos de construcción de software?, – aahhh, ¿lo es? –

Si, lo es 🙂

La agilidad es importante ya que los procesos de construcción de software también se ven afectados por los mismos grandes cambios que el resto de los procesos de los sistemas de información. Hoy en día ya no se abordan proyectos de construcción de software de 3 años, ejecutados por equipos de 250 personas; o al menos no es posible abordar este tipo de proyectos si no generan entregables en ciclos no superiores a 3 meses. Por lo que al final nos encontramos con la necesidad de ejecutar proyectos de construcción de alrededor de 3 meses que tienen que generar algo concreto. Es decir, ese proyecto de 3 años se convierte en 12 proyectos de 3 meses y un proyecto de 3 meses es inmanejable si el equipo del proyecto supera las 20 personas (por decir un número).

Otro impacto de este cambio es que ya no es posible dedicar el primer año de esos tres años a hacer un análisis funcional detallado de lo que ha de ser construido. ¡Hay que entregar algo en 3 meses!. Por lo tanto nos vemos en la necesidad de empezar a construir disponiendo únicamente de una parte muy pequeña y no muy madura, del análisis funcional. Esto significa que los requerimientos ya no son sagrados, empezamos la construcción con una versión 0.1 de los requerimientos y sabiendo que estos requerimientos evolucionarán mucho antes de que puedan considerarse una versión 1.0.. ¡¡¡Uuuuufffff, qué panorama!!!.

Pero así son las cosas y con esto nos tenemos que apañar. Y en este contexto es en el que los procesos ágiles de construcción de software se configuran como una alternativa más viable que los procesos tradicionales para enfrentarnos a estos nuevos retos.

Los procesos ágiles de construcción de software no son algo nuevo, la piedra filosofal de este tipo de procesos es el Manifiesto Ágil, del que podéis encontrar la versión original aquí y una traducción al castellano aquí. Este manifiesto fue redactado en Febrero de 2001 por un grupo de 17 personas (creo que 16 americanos y 1 inglés, Martin Fowler) reunidas en una estación de esquí de Utah, entre descenso y descenso. Si hubieran sido españoles y estado en Sierra Nevada se hubieran dedicado a cosas más interesantes que a discutir acerca de los problemas estructurales subyacentes en los procesos industrializados de producción de software, pero ni eran españoles ni estaban en Sierra Nevada; eso que hemos ganado los demás.

En esta reunión estaban «representantes» de Extreme programming, SCRUM, DSDM, Adaptive Software Development, Crystal, Feature-Driven Development, Pragmatic Programming y otros… :-O

¡¡Tremenda la reunión!! 🙂

No me extiendo más por ahora, ya habrá tiempo para ir profundizando más en estos temas. Para terminar os dejo una primera lista de enlaces con los que ir abriendo boca alrededor de las metodologías ágiles:

Software gratuito de gestión

En estos días estoy revisando software gratuito de gestión. En contra de lo que podría parecer hay bastantes opciones disponibles, aunque no todas son software abierto (aunque si gratuito).

Hasta ahora he revisado/probado las siguientes:

  • EuroGES, de la empresa española GTS Ibérica. Este producto es gratuito y de código abierto. Además es multiplataforma, se puede ejecutar en entornos MS Windows y Linux. ivermectin inject
  • FacturaLUX Lite, también una iniciativa española, en este caso de la empresa Infosial. Se trata también de un producto gratuito y de código abierto. ivermectin (sklice) Su planteamiento es más ambicioso ya que el proyecto se presenta como «software libre de tipo ERP«. También es multiplataforma: MS Windows, Linux y Mac OS; aunque en su web informan de que sobre MS Windows XP el funcionamiento es inestable (funciona bien sobre MS Windows NT y MS Windows 2000).
  • Gestion MGD. Es un programa de contabilidad gratuito (no de código abierto) desarrollado por Jesús Martínez. Su foco es la facilidad de uso y su total adaptación a la fiscalidad española. Solo se ejecuta en plataformas MS Windows (aunque es posible ejecutarlo en Linux con Wine).
  • Endeve. El último descubrimiento. He llegado a él hoy mismo a través de un artículo en Error500. También en este caso se trata de una iniciativa española, en este caso de la empresa canaria recrea, aunque a diferencia de los anteriores no se trata de un programa sino de un servicio web. Me he registrado, tienen dos programas, uno gratuito (de forma permanente) y otro de pago con servicios adicionales. Me ha sorprendido la facilidad de uso y la calidad del interfase de usuario (muy web 2.0). Permite gestionar clientes y facturas, para autónomos o pequeñas empresas supongo que es más que suficiente. moxidectin ivermectin sensitive collies

Todavía no he terminado la evaluación, pero os puedo adelantar que hasta ahora me quedo con Gestión MGD y/o con Endeve. Gestión MGD es una excelente aplicación, rápida y muy sencilla de utilizar desde el primer momento (no puedo decir lo mismo de EuroGES o de FacturaLUX), además hay disponible una muy buena cantidad de documentación que hace que con muy poco esfuerzo puedas estar sacándole todo el partido en muy poco tiempo.

En cuanto a Endeve ha sido toda una sorpresa, agradable sorpresa, posiblemente se quede corta, mucho más corta que Gestión MGD en cuando a funcionalidades, pero por otro lado estoy convencido de que cubre las necesidades en cuanto a facturación de un porcentaje muy elevado de autónomos y pequeñas empresas.

Las bases de datos Open Source tienen un coste de propiedad 50% menor

Veo en Slashdot una referencia a un informe de Forrester Research que concluye que las bases de datos Open Source permiten reducir de media el coste total de propiedad en un 50%. El artículo original está en vnunet.com.

Desde luego habría que profundizar en los detalles del análisis y no quedarse únicamente en el espectacular titular. Algunas de las cosas de más calado que se dicen son, por ejemplo:

El 80% de las aplicaciones usan únicamente el 30% de las funcionalidades de las bases de datos comerciales (…). Las bases de datos Open Source proporcionan también estas funcionalidades básicas».

En el debe de las bases de datos Open Source se dice lo siguiente:

Las bases de datos Open Source no disponen, generalmente, de las funcionalidades necesarias para soportar un entorno de «misión crítica», quedándose atrás respecto a las bases de datos comerciales en aspectos como: seguridad, fiabilidad, rendimiento y soporte XML.

Evidentemente cada cual decidirá qué es en su entorno una funcionalidad básica o no y que nivel de seguridad, fiabilidad y rendimiento precisa.

Una conclusión final del estudio es que el principal criterio que impulsa la adopción de bases de datos Open Source sigue siendo su (nulo) coste de adquisición.

Por otro lado este bajo coste de adopción hace que las organizaciones se embarquen en proyectos que con las bases de datos comerciales no se plantearían debido a su coste.

Habelos, hailos

Publican en Microsiervos una entrada titulada ¿Hai galegos na rede? e eu lles digo, – habelos, hailos -.

Inda que alguns, coma min, non exerzamos. Eu levo mais de 18 anos fora de Galicia, vivindo e traballando en Madride. Son un profesional dos Sistemas de Información con 15 anos de experiencia traballando en grandes consultoras e, polo tanto, perto do cas grandes organizacions (empresas e organismos) deste país están facendo, e teño que decir, dende a miña experiencia e a miña atalaia, que nestos últimos 15 anos non podo recordar máis de dous ou tres proxectos impulsados por organizaciones galegas que teñan pasado máis ala da A Canda.

As consultoras nas que ha traballado nunca se han plantexado acercarse a Galicia pois a visión que tiñan era a dun mercado moi pechado e endogámico e, ademáis, pequeno. Nos últimos dous anos a cosa a cambiado un pouquiño, agora estamos traballando para un par de multinacionais galegas que están abordando ambiciosos proxectos de modernización e evolución dos seus sistemas de información. De feito Matchmind ten aberto unha oficina na Coruña para dar soporte os proxectos que estamos empezando a ter en Galicia.

E teño que decir que, si a industria de sistemas de información non percibe Galicia como un mercado polo que apostar, con toda probabilidade non está errada. Creo co goberno galego, os gobernos galegos, deberían ser moi conscientes desta percepción e loitar contra ela. Outras autonomías o están facendo e eso está facendo virar a testa a industria hacia eses puntos: Extremadura, Andalucía quizáis son os exemplos máis representativos. ¿Alguen sabe que teñen en común as iniciativas destas dous autonomías? ??????? ???? ????? 😉

Pero os chicos de Microsiervos non estaban falando da industria senon da presencia da rede dos galegos (¿da cultra galega quizais?). Non se me ha ido a cachola, eu penso que o primeiro paso o teñen que dar os gobernos e as organizacions (empresas e organismos) dandolle a importancia que ten que ter a rede na vida dos ciudadans hoxe. ????? ???? Proporciona medios a xente e valora as suas iniciativas e iniciarás un movemento de acercamiento e fusión da cultura galega ca cultura da red que, por outro lado, ten entidade propia e excede os conceptos das culturas restrinxidas xeográficamente. ??? ????? ?? ???????

Perdoade o meu galego, pero non teño oportunidade de practicalo moito 🙂