Anoche navegando di con un artículo en un blog llamado Real Software Develpment sobre desarrollo de software sobre desarrollo de software muy interesante. Está escrito por un tal Miguel Angel Carrasco, otro Dilbert más, que empezó programando en papel hasta que su tio le compró un Commodore 64:
Los 30 errores mas comunes del desarrollo de Software (Inglés)
El blog está bastante bien, digno de leer a menudo. Aquí tenéis traducido el artículo:
—-
Miguel Carrasco
He estado desarrollando software y aplicaciones Web durante unos 11 años. El desarrollo de Software ha evolucionado mucho desde la época del Cobol. Lo que más me fascina es que se siguen cometiendo los mismos errores de antaño. Aquí están los 30 errores más comunes que se cometen en el desarrollo de Software. Es sorprendente comprobar como ninguno de estos errores tiene que ver con el lenguaje de programación elegido:
1- No comprender las necesidades del usuario. Falta de información de las necesidades del usuario. A veces incluso ni se le pregunta.
2- Subestimar el tamaño del proyecto
3- Acelerar la fase de planificación y análisis o incluso evitarla completamente. Primero programar y luego planificar! MAL!
4- No probar suficientemente el código o incluso no probarlo en absoluto.
5- Elegir una metodología “chula” en vez de una que ha funcionado en el pasado. Algo que lleva al punto 6:
6- No usar ningún tipo de metodología
7- Dejar que un programador lleve la dirección del proyecto.
8- Un equipo de desarrollo aburrido sin motivación. Hay que motivar a los desarrolladores. Si no eres capaz ni intentes liderar un equipo. Tu equipo se aburrirá y se quedará dormido (literalmente)
9- La planificación ya la haremos más tarde. No lo hagas! Ni pienses en ello!
10- Sin gestión de código de código fuente. Terrible. Y no… con instalar el software de gestión de código fuente no basta.
11- Decidir cambiar las herramientas de desarrollo mientras estás a mitad del proyecto.
12- Permitir que se incrementen los requisitos. Simplemente di NO. Todo el mundo será más feliz al final.
13- Omitir tareas necesarias para acortar el plan de proyecto. Qué sentido tiene esto?
14- Insuficientes controles de gestión en el desarrollo del proyecto.
15- Falta de apoyo por parte de la dirección de la empresa
16- Añadir gente al final del proyecto para “acelerar” las cosas. Lo único que harás es endentecerlas.
17- No hacer pruebas unitarias. Demonios, si no puedes usa el Visual Studio Team Foundation Server y configura algunas pruebas unitarias para que se hagan automáticamente cada noche.
18- Programadores bajo gran presión. Si te las has apañado para cometer uno o dos estos errores de gestión tendrás un montón de programadores estresados que gestionar.
19- Falta de control de errores/bugs.
20- “Off by one” errors. These happen a lot during the software development process.. *sigh*.
21- Tipos! Usa la opción de tipados fuertes de tu lenguaje. Durante un proyecto en el que trabajé se obtenían cientos de errores por todos lados. Resultó que el programador no escribía correctamente los tipos. No es un problema… a no ser que tengas desactivado el tipado fuerte (Option Strict & Option Explicit)
22- No comprender el proceso de despliegue o el hardware sobre el que se instalará lo que estás desarrollando. Ohhh, es un MAC? Espero que se pueda instalar…
23- No usar una guía de estilo de programación. Honestamente no importa mucho que estilo uses… siempre que sea el mismo que tus compañeros.
24- Usar variables globales por todos los lados. Las variables globales NO son tus amigas y consumen memoria como no te imaginas.
25- No pedir ayudar durante el desarrollo. Si estás atascado pide ayuda en vez de luchar días contra un problema.
26- No comentar tu código.
27- Quedarte con toda la información tu mismo. Piensas que eres más valioso de esta manera? Realmente no.
28- Ejecutar operaciones de acceso a la base de datos fuera de la capa de acceso a datos.
29- No validar los datos. La información que te den jamás será perfecta.
30- No hacer pruebas de carga. Cómo? Se supone que mi software funcionará con 1000 usuarios simultáneos bajo Citrix?
Desarrollar software es muy complicado. Hazlo más sencillo evitando cometer estos errores. Es una lista muy fácil de cosas que NO hacer que harán tu vida más sencilla.