Test de Joel

En joelonsoftware, Joel el autor, planteó (hace bastante) un test que intenta medir que tan maduro es el proceso de desarrollo de software de la empresa/persona.

Una puntuación de 12 es perfecta, 11 es tolerable, pero si has sacado 10 o menos estás en apuros. La verdad es que la mayoría de las empresas de software sacarían un 2 o un 3 y necesitan ayuda porque empresas como Microsoft están funcionando con una puntuación de 12 en todo momento.
Voy a publicar los resultados de mi evaluación en Concepto, aunque los resultados han sido variables cuando lo hacen diferentes personas.

¿Utilizas software de control de versiones?

No utilizamos software de control de versiones en en sentido estricto, pero si tenemos una historia de los cambios que sufre cada uno de los objetos de las KB imortantes. Todas las noches se registra una foto de los objetos cambiados y tenemos una herramienta (KBCVSP - son las siglas de Control de Versiones Sin Pretensiones) que permite guardar el fuente de un objeto modificado en un xml y comparar las diferencias con las anteriores.

Resultado: 1/2

¿Puedes generar el producto en un solo paso?

Para esto tenemos una herramienta que se llama KBFullCycle que sobre GeneXus realiza la mayoria de trabajo para tener algo pronto en el cliente. Se impacta/especifica/genera y compila y tambien genera el help, e informa si hay algun inconveniente. Aun no permite instalar en el ambiente de testeo.

Resultado : 1/2.

¿Compilas el producto diariamente?

Con la herramienta anterior, se corre en forma nocturna y compila los main de una Kb (o varias) e informa cuales son los que tienen problemas.

Resultado: 1

¿Tienes una base de datos para los bugs?

Si, tenemos una base de datos con los errores y se registra cuales son y comos son tratados.

Resultado: 1

¿Corriges los bugs antes de añadir más código?

En este punto, tengo alguna diferencia con Joel, aunque reconozco que los agumentos que esgrime son valederos. No cumplimos con esta regla y ademas muchas veces si agregamos mas codigo, a pesar de tener bugs abiertos. Los errores graves se tratan con prioridad alta, pero no todos los bugs paralizan el resto del codigo.

Resultado=0

¿Tienes una planificación actualizada?

Se hacen planes mensuales y ajustes semanales. Ademas se evalua mensualmente las desviaciones de dichos planes. En este punto creo que estamos bien.

Resultado=1

¿Tienes un documento de especificaciones?

Nuestras especificaciones, si bien existen, son bastante difusas. Hemos mejorado notoriamente en los ultimos tiempos en esto, pero igualmente tenemos cosas por mejorar aun.
Es algo en lo que hay que dedicar mas recursos.

Resultado=0

¿Están los programadores en un lugar tranquilo?

El ambiente de trabajo, es razonablemente tranquilo. La excepcion a esta regla es cuando se realiza alguna instalación grande.

Resultado=1

¿Utilizas las mejores herramientas que puedes comprar?

Usamos Genexus que creo que es la mejor herramienta para el tipo de aplicaciones que escribimos y desarrollamos nuestras propias herramientas para complementarlo.

Resultado=1

¿Tienes gente para probar los productos?

En esta fallamos estrepitosamente. Somos nosotros mismos quienes testeamos la aplicacion, a pesar de cruzar nuestros esfuerzos.

El tema del testeo, es algo que hemos intentado encarar en varias oportunidades, y no hemos podido solucionar en forma satisfactoria. Hemos realizado experimentos (desde tercerizar el testeo, hasta dedicar personas a testear). No nos han dado los resultados deseados.

Resultado=0

¿Haces escribir código a los nuevos candidatos en las entrevistas?

La mayoria de las veces, contratamos gente sin experiencia y los capacitamos, por lo que es dificil hacerlos programar. Nos lleva unos 6 meses capacitar a un estudiante avanzado, para que pueda incorporarse a alguno de los grupos de trabajo. Los resultados han sido muy buenos, por lo que creo que nuestro proceso de seleccion es bastante bueno, o al menos a nosotros nos sirve.

Resultado=0

¿Haces pruebas de usabilidad "de vestíbulo"?

Si, hacemos

Resultado=1

Resultado total: 7 .

Por lo que joel opina, estamos en problemas. :(

En varias de las áreas que tenemos malos puntajes, hemos querido avanzar y mejorar, pero no siempres hemos podido encontrarle la mejor solucion.
Seguiremos intentando :)

Comentarios

Entradas más populares de este blog

Aplicación monolítica o distribuida?

La nefasta influencia del golero de Cacho Bochinche en el fútbol uruguayo

Funcionalidades de GeneXus que vale la pena conocer: DATE Constants.