Como codificar Software que sea fácil de mantener?

Posted on 27 septiembre 2008. Filed under: Calidad del Software, Patrones de diseño, Programación | Etiquetas: , , , , , , |

Hay que diferenciar entre software fácil de mantener (mantenibilidad) y fácilidad en la codificación del software.
La facilidad para la codificación de software hoy en día son bien sostenidas por los nuevos IDEs y herramientas existentes y mucho más si se considera la relativa facilidad de obtención, aprendizaje e implementación de tales herramientas.
A su vez cada lenguaje tiene su particularidad y cada programador es particular en su forma de codificar y tal vez ese sea el motivo por el cual las organizaciones podrían necesitar establecer estándares de codificación y patrones de soluciones, proponiendo un método de trabajo homogéneo para toda la empresa. Esto sin lugar a dudas (de mi parte) ahorra muchos problemas y mejora la productividad.
Por cierto que tiene costos iniciales y me atrevo a decir que tienen más que ver con el cambio que implica en la metodología de trabajo que con el costo monetario.
Ahora bien, tener todas estas facilidades de ninguna manera garantiza que logremos genera software fácil de mantener ya que este aspecto de mantenibilidad, tiene que ver con la concepción misma del sistema.
Muchos dicen que es competencia exclusiva del Diseño y Arquitectura del software, pero yo me atrevo a decir que esto se trata mucho antes, cuando se plantean los alcances y se reconocen las limitaciones a nivel de herramientas tecnológicas, conocimientos del equipo del proyecto, cuestiones políticas, legales y hasta culturales.
La arquitectura y el diseño del sistema brindarán las propiedades de mantenibilidad necesarias y atributos como  testeabilidad, flexibilidad, escalabilidad, fiabilidad entre otros, pero siempre tendrán de limitantes los ítemes que antes mencioné.

Sin embargo, para no dejar colgado a aquellos que quieren alguna respuesta relacionada a la codificación y tanto a otros aspectos, comparto con ustedes este artículo de Martín Fowler “Código como documentación”

Anuncios
Leer entrada completa | Make a Comment ( Comentarios desactivados en Como codificar Software que sea fácil de mantener? )

¡No existe el vamos a probar!

Posted on 1 marzo 2008. Filed under: Argentina tecnológica, Calidad del Software, Gestión de Proyectos de Software, Ingeniería del Software, Metodologías de Desarrollo, Procesos Ágile, Project Management, Trabajo en Equipo | Etiquetas: , , , , , , , , , , , , , |

Las TIC y Software Factory de Argentina y Latinoamérica en general, comenzaron a entrar en la burbuja ascendente donde los servicios son requeridos desde todo el mundo, principalmente por la calidad de los profesionales, el carácter innovador y por supuesto los menores costos operativos.
Es por este motivo que se habrán enterado de la gran escalada de organizaciones que están en proceso de certificaciones y/o evaluaciones CMMI, ISO entre otras o que bien ya certificaron. Sin embargo estas evaluaciones y certificaciones no garantizan la productividad, solo un aspecto de la misma.
Las necesidades de actualización del sector son muchas y permanente, pero el movimiento agilísta se ha tornado más que interesante por que ofrece beneficios directos a aquellos que aprenden a manejar sus conceptos, re definir sus estructuras organizacionales o al menos en ciertas áreas operativas, integrar herramientas de apoyo y principalmente modificar sus paradigmas de gestión.
Los beneficios del agilísmo bien pueden ser utilizados por cualquier tipo de organización pues apunta a duplicar, triplicar, o más, la velocidad productiva. Sin embargo las metodologías Ágiles son muy difundidas en el mercado SSI (Servicios Informáticos y Software) principalmente por que las metodologías de gestión tradicionales no dieron hasta ahora respuestas a la velocidad que el mercado actual requiere.
Pero es en extremo importante el aporte de gestores en metodologías tradicionales, principalmente por el cúmulo en años y proyectos que los mismos de seguro, tienen.
Muchos intentan separar a la gente, dividiéndolas en Agilístas y Tradicionalistas pero yo creo que hay que apuntar a unirlas y tamizar los atributos de valor que le brindan ambos tipos de experiencia al mercado SSI y TIC.
Jornadas Ágiles de actualización profesional, serían bien utilizadas por gerentes de sistemas, líderes de equipos, desarrolladores y probadores de software y otros líderes de áreas transversales como Marketing y Ventas, por mencionar algunas. Esto es así por que tal como te menciono líneas arriba, se trata de un paradigma que necesariamente para ser exitoso implica un compromiso de áreas sensibles de una organización y la adaptación tanto de los modelos Ágiles a los Procesos Organizacionales como de las organizaciones a los modelos, y sin eso … ¡mejor olvidarlo!. ¡No existe el vamos a probar!
Notarán quizás que las jornadas Ágiles en Buenos Aires ofrecen la participación en seminarios de actualización, prácticas y certificaciones profesionales (en solo dos días??? muy poco serio) las cuales son dictadas por referentes de primer nivel en el mundo.
No estoy de acuerdo en que a Córdoba se deban traer tales exponentes, ni ofrecer certificaciones profesionales sacadas de la galera, debido a que existen exponentes locales que ya están haciendo este tipo de difusiones y también podrían aportar un buen servicio.
Si me interesan prácticas, talleres, seminarios, cursos y las pagaría. De hecho preferiría variedad a solo una o dos ópticas.
Hay que entender que Latinoamérica en general se encuentra en pañales en lo que se refiere a este tipo de movimientos y aún cuando pudiera existir gente certificada (por ejemplo Scrum Masters) no existen profesionales con experiencia, por el solo hecho de que la experiencia la están haciendo ahora mismo. Allí veo la veta.

Saludos,
Javo.

Leer entrada completa | Make a Comment ( Comentarios desactivados en ¡No existe el vamos a probar! )

Liked it here?
Why not try sites on the blogroll...