¿Qué es lo que motiva a los desarrolladores de software?

motivacion

A

  • Estar concentrado en mi trabajo y ver que el tiempo pasa volando y, de repente, me doy cuenta de que han pasado 4 horas cuando creía que habían pasado 10 minutos. (Russell Ball)
  • Ser tratado como un humano y no como otro «recurso» por los jefes de proyecto.(Krishnan Thodla)
  • El deseo personal (o la actitud) de ser mejor tanto profesionalmente como personalmente. Quieres convertirte en mejor persona. (Angelo Anolin)
  • Unas «gracias» por parte del usuario final. (Sung)
  • Simplicidad! Crear algo tan simple como sea posible proporcionando suficiente valor. (Carl Byström)
  • Dinero. (Ngu Soon Hui)
  • Confianza por parte de un jefe de proyecto. Me refiero especialmente al momento después de finalizar un proyecto. Si el proyecto ha acabado satisfactoriamente, tener la confianza suficiente para el próximo proyecto y mayor responsabilidad. (Brad Schafbuch)
  • Añadir un valor real al mundo haciendo algo con lo que disfruto. (Emad Alashi)

Y a tí, ¿qué te motiva en tu trabajo?

¿El futuro del desarrollo del software tiende a metodologías ágiles?

Si te dedicas a desarrollar software creo que merece la pena que le des un vistazo al siguiente artículo: The Future of Software Development.

En este artículo, Alex Iskold explica como está evolucionando el desarrollo del software en nuestros días. Empieza diciendo como se consideró una buena práctica el modelo en cascada en el que primero tenemos una fase de toma de requisitos a la que sigue la fase de diseño, implementación, verificación (testing) y mantenimiento. Sigue explicando como, después de varios años utilizándose este modelo, se ha descubierto que muchos proyectos han fallado y se ha tenido que invertir más dinero y tiempo de lo previsto en finalizarlo. Apunta como causas, la poca flexibilidad que ofrece el modelo ante la realidad, siendo habitual un cambio constante de requisitos por parte del cliente.

Acaba asegurando que las metodologías ágiles están apuntando a ser las sustitutas al modelo en cascada en el desarrollo de software. En concreto, argumenta los beneficios que tiene la refactorización del código (cambiar la estructura del código readaptándolo a la situación actual del proyecto siendo completamente transparente para el usuario) y la realización de test unitarios para asegurar el correcto funcionamiento del código a ejecutar. Además asegura que para que tu proyecto tenga éxito es más importante encontrar buenos programadores que no muchos programadores.

Debido a mi trabajo, hace tiempo que voy investigando el tema de las metodologías ágiles. Hay algunos conceptos que me gustan mucho y que creo que pueden ser de mucha utilidad en el mundo del desarrollo del software tales como el desarrollo de software basado en tests (TDD) o la integración continua (CI). De todas maneras, no creo que haya una metodología que pueda ser buena y que haya otra que pueda ser mala. Depende de muchos factores (tipo de proyecto, equipo de desarrollo…) por lo que soy de los que piensa que primero hay que estudiar los factores y, después, seleccionar la metodología.

¿Qué opinas? ¿Utilizas alguna metodología ágil? ¿Sigues con el modelo en cascada?