Estamos redefiniendo nuestras buenas prácticas

En ASPgems, tras el curso de principios y valores ágiles, nos hemos propuesto darle una vuelta a las buenas prácticas de las que nos dotamos. Nos movemos en el sector de producción de software, donde el largo plazo se sitúa en 3 meses. Es por tanto absolutamente necesario juntar toda nuestra experiencia haciendo desarrollo de software en Rails y en Drupal y volver a acordar unos estándares que doten de calidad a nuestro trabajo y sea un valor añadido a nuestra propuesta a los clientes.

¿Por qué son necesarias las buenas prácticas?

1. Las buenas prácticas establecen reglas de consenso.

Nuestros equipos de desarrolllo suelen ser pequeños, de no más de 3 ó 4 personas. Establecer reglas claras sobre cómo, por ejemplo, organizar los ficheros de traducción ayuda a que los equipos estén coordinados y sean más productivos, pues no pierden el tiempo en discutir cómo hacer ciertas cosas recurrentes.

2. Ayuda a la limpieza del código.

Robert C. Martín, uno de los fundadores del manifiesto ágil, en su libro Código Limpio: Manual de Estilo para el Desarrollo Ágil de Software señala que un código limpio se caracterza por:

  1. Legibilidad de la Fuente, o capacidad del código de explicar su propósito sin necesidad de recurrir a nada mas que el código.
  2. Organización de Elementos, es decir, la estructuración correcta de los elementos de un sistema donde uno espera que estén.
  3. Certeza de Funcionamiento, que se obtiene a través de la implementación de diferentes pruebas que verifiquen nuestros sistemas.

Resulta claro que establecer unas buenas prácticas sobre cómo organizar los ficheros o cómo nombrar los métodos y las clases ayudará a que nuestro desarrollo sea más productivo y más efectivo.

3. Estandarizan el desarrollo.

Las buenas prácticas definen también procesos o normas de uso que facilitan la puesta en marcha de un proyecto o que una persona pueda incorporarse a un proyecto y su curva de aprendizaje del mismo sea suave y corta.

Cómo pedir un entorno nuevo de desarrollo, cómo usar, en la medida de lo posible, las mismas versiones de las librerias y la homogeneidad de los entornos de desarrollo/producción son algunos acuerdos que hacen que el proceso de producción de software pueda ser más “en cadena”, más automatizado y, por tanto, más rápido.

4. Facilitan el mantenimiento.

Con las buenas prácticas definimos también que herramientas de mantenimiento y monitorización vamos a utilizar; éstas se integran con aplicaciones de comunicación. Todos los proyectos se actualizan de una misma manera y en un mismo momento de vida. Esto afecta también a la seguridad de las aplicaciones, que cumplirán los estándares que definamos.

También estamos definiendo qué gemas y qué modulos usamos por defecto en los proyectos, de manera que el mantenimiento de los mismos sea más sencilla.

5. Facilitan la reutilización de código

Cuánto más legible sea el código y más clara su estructura más fácil será ver su propósito y por tanto reutilizarlo en varios proyectos.

Buenas prácticas, si. Pero sin pasarse.

En ASPgems siempre hemos defendido que hacer software está más cerca de la artesanía que de la ingeniería, pues cada proyecto es único, responde a motivaciones diferentes y a planes de negocio diferentes.

Es por ello que nuestras buenas prácticas buscan dotar de calidad el proceso de desarrollo, pero no ajustar cada proyecto a nuestros estándares. En ningún caso ajustamos un proyecto de un cliente a la comodidad de unas buenas prácticas.

Nos gusta vernos a nosotros mismos como una boutique de software que trata a cada cliente como si fuera único en el mundo, sentarnos con él y tomarle medidas para hacerle la chaqueta que mejor le siente. Y nuestras buenas prácticas buscan asegurar que el patronaje, el hilo y la máquina de coser funcionan perfectamente.