Seleccionar página

Calidad software: fabricación ecoLógica

Desarrollo ágil de software: Los procesos de fabricación de software determinan la competitividad de cada fabricante y, por ende, su futuro. Cuando buena parte de la energía (esfuerzo) se consume en procesos de bajo (o nulo) valor añadido, la productividad de sus equipos de trabajo, su velocidad y eficacia, se evapora. ¡Y vuelta!

El diagnóstico es sencillo:
midiendo … el esfuerzo por unidad producida
o el ratio de tiempo dedicado a incidencias (-) frente al dedicado a construir (+)

En este artículo revelaremos cómo revitalizar el ciclo de vida en la fabricación de software. Cuestión de lógica y economía.

Las pautas de esta «revelación» son claras:

  • Protege todo producto elaborado.
  • No improvises … sistemáticamente.
  • Descarga a las personas de trabajos repetitivos.
  • Aprende y aplica lo que aprendes.
  • Cuida la maquinaria, te va la vida.

Para evitar caer en el misticismo, vamos a predicar con nuestro ejemplo.

Desde el año 2009, la Factoría de Software de @PanelSistemas ha ejercido de locomotora, consolidando procedimientos y herramientas, como sustento para nuestra metodología de trabajo: OGMA. Las acreditaciones en CMMi-DEV e ISO 15504 nivel 3 de madurez reconocen este esfuerzo.

Sin embargo, la economía pide más: más rentabilidad, más productividad, ¡más!. Y la lógica invita a menos: menos rozamiento, menos dispersión, menos consumo, ¡menos!.

Toca «digievolucionar«, toca fabricación económica y lógica, toca …

¡Fabricación ecoLógica!

Maximizar el rendimiento de los procedimientos y conocimientos adquiridos gracias a una cadena de producción integrada, automatizada, adaptable y sostenible.

Desarrollo ágil de software

Clinker HQ

Aunque hemos llegado por la vía de la evolución, no se trata de un paso trivial. Supone trabajar duro en adaptar procesos ya consolidados, pero de carácter manual, poco automático o demasiado complejos (si necesitas un ingeniero de la NASA para fregar las mesas … humm … tienes margen de mejora ¿comprendes?).  También supone trabajar en refactorizar algunas arquitecturas para seguir centralizando recursos. Supone aceptar que el rendimiento (la economía y la lógica) pide sumar esfuerzos en tareas de mayor valor añadido y delegar en especialistas para el mantenimiento de la maquinaria.

En particular, en Panel Sistemas hemos necesitado formación especializada junto con pilotos técnicos para establecer las pautas de adaptación de cada herramienta a nuestra realidad. Tanto en lo relativo a desarrollos existentes (migración para nuevas versiones) como a nuevos proyectos.

Para la parte de «maquinaria» nos hemos apoyado en nuestro Ecosistema para el desarrollo de software de cabecera: Clinker. Sería muy prolijo analizar este producto ahora, así que os invito a consultar la página de la gente de Klicap. Sólo señalaré que con Clinker tienes un conjunto de reconocidas herramientas instaladas, soportadas, con un sistema de autenticación unificada y administración centralizada (Clinker Desktop). Piénsalo.

La visión conceptual que hemos podido materializar gracias al ecosistema Clinker es la de canalizar el valor en el ciclo de vida de la fabricación de software para poder «subirlo de revoluciones». Una visión similar a la que preconiza The Open Group para la información en la empresa con su Boundaryless Information Flow™.

A continuación vamos a repasar -muy someramente- las aportaciones más destacadas para nuestra fabricación ecoLógica, por módulos del ecosistema. Recordad, la fuerza está en el conjunto.

  • Control de versiones (Subversion y Git)

    «Elemental mi querido Watson».

  • Gestión del ciclo de vida del proyecto (Apache Maven)

    Esta es mi favorita, la considero la piedra angular de la fábrica ecoLógica. Se trata del director de orquesta de todo nuestro proceso de construcción de software. Es el heredero de la función que hemos estado realizando con Apache Ant ™ hasta ahora. Lógicamente, la experiencia en migración entre Apache Ant™ y Maven es de alto interés.

Los beneficios de su utilización son:

    • Institucionaliza las pautas establecidas en la metodología de trabajo (OGMA en @PanelSistemas). Aporta un interfaz para la orquestación en lugar de los secuencias («scripts») propias de Apache Ant™.
    • Coordina entregas frecuentes (diarias, versiones, …), compilaciones, pruebas unitarias, controles de calidad automáticos, artefactos e integraciones.
    • Permite gestionar las dependencias de las librerías del proyecto.
    • Estandariza la estructura de proyectos y su ciclo de vida, favoreciendo la reutilización e integración de componentes software.
    • Automatiza la ejecución de procesos de pruebas (pruebas unitarias, funcionales y de integración).
    • Permite controlar métricas y generar reportes de calidad del proyecto (apoyándose en Sonar).
    • Se integra de forma transparente con entornos de integración continua (Jenkins para nosotros).
    • Para despliegue desatendido en los diversos entornos, se apoya en herramientas de despliegue automatizado (Vagrant, Puppet) y en datos de configuración de cada despliegue.

Economía y Lógica en su máxima expresión:  librerías centralizadas, buenas prácticas, control de avance, centralización de infraestructuras, parcheos.

  • Repositorio de artefactos centralizado (Nexus)

    Los beneficios que aporta su utilización son:

    • Centraliza el acceso a las librerías de desarrollo.
    • Favorece la distribución de componentes software.
    • Facilita la búsqueda de artefactos.
    • Administración de repositorios privados.
    • Actúa como «proxy» de librerías (lo que supone optimización del ancho de banda y ahorro de tiempo en las descargas).
  • Automatización de tareas de generación software (Jenkins)Se trata del abnegado asistente del Sr. director Maven, eso sí,  no le perdona ninguna «cita».  Los beneficios que os aportará su utilización sistemática son:
    • Permite pasar de tareas manuales a automáticas, lo que libera tiempo para otras actividades y posibilita seguir mecanizando fases posteriores. 
    • Es muy versátil, abarca desde procesos simples o repetitivos hasta procesos largos y complejos. Ahorra tiempo de persona y permite que ésta contribuya en tareas de mayor valor añadido. Por ejemplo: la generación de binarios integrando el trabajo de varios desarrolladores, la ejecución de pruebas, la generación de informes de estado, el empaquetado de instaladores o la notificación de versiones.
    • Facilita la integración continua gracias a sus diferentes posibilidades de comunicación de éxitos y errores entre procesos.
    • Gracias a los múltiples sistemas de notificaciones que soporta (correo, chat, mensajería, twitter, etc. ), es sencillo estar informado y poder tomar decisiones rápidamente.
  • Control de la Calidad Software (Sonar)

    Este módulo facilita la gestión de la calidad estática del software, permite analizar y medir de forma continua la calidad del código generado. Los beneficios que os aportará su utilización son:

    • Métricas: eficiencia, portabilidad, usabilidad, complejidad ciclomática, comentarios, grado de cobertura de las pruebas y su resultado, etc.
    • Multi-lenguaje (Java, C/C++ Comunidad, PHP).
    • Cumplimiento de reglas de calidad software (errores estáticos, buenas prácticas).
    • Cuadro de mandos.

Desde este módulo podríamos enlazar con todos los beneficios que la prácticas de aseguramiento de calidad software nos pueden aportar, pero entonces no terminaríamos este artículo.

Resumiendo:

Os hemos presentado nuestra fábrica ecoLógica, de bajo consumo, sostenible y humana.  Para la maquinaria hemos confiado en el ecosistema para el desarrollo de software de Clinker, mientras que los procesos de trabajo emanan de nuestra metodología  OGMA.

De esta forma,  revitalizamos el ciclo de vida en la fabricación de software:

  • Protege todo producto elaborado – Retención del valor añadido.
  • No improvises … sistemáticamente – Institucionaliza.
  • Descarga a las personas de trabajos repetitivos – Automatiza.
  • Aprende y aplica lo que aprendes – Conocimiento reutilizable.
  • Cuida la maquinaria, te va la vida – Clinker by Klicap.

linkConstrucción

 

Si te has quedado con ganas de visitar la fábrica, no lo dudes, nuestro departamento de Marketing estará encantado de organizarlo …

«For your eyes only»

 

 

PD: Gracias @jturegano  por ordenarme las ideas
y traer la ecoLogía a casa.;)

 

————————-

 

Miguel Ángel Nicolao

Miguel Ángel Nicolao

Miguel Ángel es CIO, Director de Innovación y co-fundador de Panel Sistemas. Sigue a @mnicolao11 en Twitter, o visita su perfil en Linkedin. También puedes contactar con él vía e-mail en esta dirección.

Déjanos tu comentario

4 Comentarios

  1. Javier López

    Me gustaría señalar que ese Proceso ya comienza en el proceso de elaboración de Oferta, y qse extiende hasta la

    Responder
  2. Javier López

    Me gustaría señalar que este Proceso comienza desde la fase de elaboración de ofertas, en la que trabajamos con «artefactos documentales» directamente relacionados con los artefactos gestionados, que establecen el ámbito tecnológico que podemos prometer.

    Lógicamente, igual que en el Desarrollo propiamente dicho, hay que ensamblarlos bien…

    Responder
    • Miguel Ángel Nicolao

      Cierto Javier, ¡ecoLógico al extremo!
      (ahorramos papel y rentabilizamos el esfuerzo)

      Como decían aquellos, si hay que, se va. Pero «pa» ir sin artefactos documentales …. 😉

      Sería un interesante artículo 😉

      Saludos,
      MAN

      Responder
  3. mnicolao11

    Para celebrar el segundo aniversario de este artículo estamos trabajando en un renovado ecosistema que impulse la fabricación ecoLÓGICA de software hasta el infinito ¡y más allá! 😉

    Espero que podamos compartir con todos vosotros el resultado de esta aventura intro-retrospectiva. Firmes sobre nuestro decálogo ecoLÓGICO y con los principios como cinturón de seguridad avanzaremos hacia nuestro ecosistema 2015.

    ¿Te animas a compartir tu ecosistema favorito?

    Responder

Trackbacks/Pingbacks

  1. Calidad Software: Inspección Continua, aplicada y ecoLógica | El Blog de Panel Sistemas - […] con nuestra serie sobre fabricación ecoLógica, en este artículo analizamos el Control de la Calidad Software mediante la inspección […]
  2. Calidad Software: Gestión del Ciclo de Vida | El Blog de Panel Sistemas - […] desgranando los nutrientes de nuestro proceso de fabricación ecoLógica. En esta ocasión os desnudamos nuestras motivaciones, anhelos y logros en…
  3. Cantidad vs Calidad Software - el Yin y el Yang | El Blog de Panel Sistemas - […] Vale, pero ¿cómo podemos medir la Calidad del Software?. Con cuidado, hay que entender qué tenemos entre manos y qué…
  4. Calidad software en servilletas de papel | El Blog de Panel Sistemas - […] la mejora de los procesos de construcción del software. Metodologías, herramientas, formación, ecosistemas … ¡de todo!. Sin embargo, el paciente…
  5. El cambio Kotter - Hacia la fabricación ecoLógica | El Blog de Panel Sistemas - […] En la pasada Conferencia Agile Spain en Bilbao asistí a una breve charla de Diego Rojas (@drobur) sobre “El…
  6. Panel Sistemas renueva el nivel 3 de madurez en CMMi-DEV | El Blog de Panel Sistemas - […] impacto en la gestión de proyectos en nuestros Centros de Desarrollo (Veánse nuestros nuevos ecosistemas de fabricación ecológica)… Si ya…
  7. Software QA - DevOps hacia la calidad continua del software | El Blog de Panel Sistemas - […] por ello creemos que DevOps es el eslabón perdido en la cadena de entrega de valor mediante la fabricación…
  8. #Integración Continua - Madrid DevOps | El Blog de Panel Sistemas - […] nuestra interpretación y puesta en práctica de las cuestiones aquí planteadas, anímate a visitar nuestra planta de fabricación ecoLógica.…
  9. Calidad Software: Gestión de artefactos ... y otras especies | El Blog de Panel Sistemas | TI, Desarrollo y Calidad Software - […] Calidad Software: fabricación ecoLógica: sobre cómo en Panel Sistemas hemos revitalizado el Ciclo de Vida del desarrollo de software.…
  10. Software QA – Razones para practicar la Integración Continua - […] probar y entregar una pieza de software utilizable cada dos o tres semanas. Para conseguirlo, automatizamos buena parte del…
  11. Software QA – Razones para practicar la Integración Continua | Tecnoblog - […] probar y entregar una pieza de software utilizable cada dos o tres semanas. Para conseguirlo, automatizamos buena parte del…
  12. Git: control de versiones en la fabricación #ecoLógica SW - […] las facilidades que nos proporciona el ecosistema de herramientas OGMA se incluye la normalización de los sistemas de control…
  13. Calidad Software: Gestión del Ciclo de Vida - Panel Sistemas Informáticos, compañía española de desarrollo de software, servicios de calidad software y outsourcing TI. - […] Javier Arance el Lunes, 21 de octubre de 2013 Seguimos desgranando los nutrientes de nuestro proceso de fabricación ecoLógica. En…
  14. Calidad Software: Inspección Continua, aplicada y ecoLógica - Panel Sistemas - […] con nuestra serie sobre fabricación ecoLógica, en este artículo analizamos el Control de la Calidad Software mediante la inspección […]
  15. El cambio Kotter - Hacia la fabricación ecoLógica. - Panel Sistemas - […] Calidad Software: fabricación ecoLógica: sobre cómo en Panel Sistemas hemos revitalizado el Ciclo de Vida del desarrollo de software.…

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

También te puede interesar:

Share This