jump to navigation

Errores comunes en desarrollo software (I) Junio 12, 2009

Posted by ravelus in Informática.
9 comments

Ya iba para largo que no escribía, he tenido una semana bastante ajetreada, aunque las cosas al final no han acabado muy bien y es un tanto irónico que precisamente yo hable de lo que voy a tratar hoy, pero bueno, mejor dejemos estos temas de lado ya que no me gusta hablar de mis problemas por aquí, el enfoque de este blog siempre fue bien distinto.

Introducción

Steve McConnell, y ya con esta serie dejo en paz a este caballero, qué pesado me pongo con él, divide el desarrollo software en cuatro pilares básicos. La metáfora de pilar nos viene muy bien para entender que si uno de estos pilares falla, la estructura (el producto) se viene abajo, por tanto es fundamental cuidar todos con especial atención. Estos cuatro pilares, sin embargo, son independientes. Éstos son:

- Personas: Tienen un efecto muy importante sobre la productividad y la calidad. Es fundamental, por ello, mejorar el potencial humano. Probablemente sea éste el factor más importante de todos.

- Proceso: Visto desde el punto de vista técnico y de gestión. Un buen proceso evita tener que rehacer trabajo por no haber realizado anteriores tareas correctamente (ejemplo: rediseñar un producto por no haber captado correctamente los requisitos). Asegura, además, la calidad desde dos frentes: por uno garantiza la entrega de un producto satisfactorio para el cliente; por otro permite detectar problemas y errores lo antes posible. Conceptos fundamentales aquí son la gestión de riesgos, el aprovechamiento de los recursos disponibles, el aprendizaje de técnicas y modelos de desarrollo…

- Producto: El tamaño y las características pueden reducir considerablemente el tiempo de entrega, si puedes elegir qué funcionalidad entregar antes.

- Tecnología: Utilizar tecnologías más cómodas y avanzadas, teniendo en cuenta los riesgos que estas mismas conllevan.

Cuando se atienden debidamente las 4 dimensiones en su justa medida, podemos alcanzar sinergia.

Errores comunes en desarrollo software

A partir de la clasificación anteriormente explicada, se identifican los siguientes errores comunes a la hora de desarrollar software; todos ellos tienen que ver con alguno de los cuatro pilares:

En cuanto al factor humano,

1.- Baja motivación. Probablemente sea el factor más influyente de todos, en cuanto a productividad se refiere.

2.- Personal escasamente cualificado. Las capacidades individuales, así como la relación con el resto del equipo, influyen en la productividad casi tanto como el error anterior.

3.- Problemas entre los miembros del equipo no controlados. Escucha los problemas del equipo y atiéndelos debidamente; no hagas caso omiso a cualquier situación que pueda perjudicar el objetivo común.

4.- Heroicidades. Es mejor basarse en estimaciones realistas que en compromisos (commitments) imposibles de cumplir que a la hora de la verdad conllevan más riesgo.

5.- Añadir personal a un proyecto ya empezado. Si alguien piensa que agregar  gente  simplemente va a aumentar la productividad, está equivocado. Puede ser como echar gasolina al fuego. Añadir personal requiere una etapa de formación y aprendizaje más o menos larga, que al principio conlleva más gasto que beneficio y que solamente con el tiempo se logra un retorno de la inversión (ROI, Return Of Investment, que dicen los anglosajones).

6.- Oficinas ruidosas y abarrotadas. Afectan negativamente a la productividad.

7.- Tensiones entre programadores y clientes. Pobre comunicación, pobre entendimiento de los requerimientos del cliente, pobre diseño de la interfaz de usuario. Como consecuencia más catastrófica: no aceptación del producto.

Basta por hoy. Continuaremos en otra ocasión. Nos vemos, pues.


Referencias:

Steve McConnell: Rapid Development, Taming Wild Schedules