Sobre desarrollo de Software y otros males…

Dec 08, 2007 @ 02:21 pm by CaDs

Hace ya algunos días que leí este post en el blog de Stephan el cual me permito copiar aquí.

The Pragmatic Architect in Why do so many technology projects fail?:
Iterative and agile techniques have revolutionized the way that software development is performed, but our industry needs to take a step back and look at the way in which software projects are engaged. Why, when you read about so many high profile big budget software failures, do businesses still initiate software projects with “we want this, tell me how much it will cost”? *We* know that they’ll change their mind. *They* know that they’ll change their mind. So let’s change the engagement model, stop hiding behind fixed price contracts and work *together* to solve problems.

Lo cual se ajusta perfectamente a cierto pensamiento que me lleva rondando las últimas semanas por la cabeza.
Los diversos frameworks que actualmente se encuentran a disposición del desarrollador de software facilitan y agilizan el desarrollo de manera exponencial.
Cierto que requieren cierta curva de aprendizaje, pero con la practica los resultados son realmente impresionantes.

Pero esta agilidad en muchas ocasiones se ve frenada por toda la trama burocratica de contratos, plazos de entrega y constantes controles de cambio que también forman parte del mundo del software, y en general, cualquier proyecto.

No sería mucho más fácil trabajar dentro de un marco que nos permita adaptarnos a las necesidades del cliente de una manera más elástica y dinámica?
Cierto que cualquier cambio solicitado requiere de cierto análisis y estimación de costos pero debiera formar parte del mismo proceso ágil.
Claro que estoy hablando del mundo ideal. En la práctica el cliente no siempre sabe lo que quiere o no siempre está dispuesto a pagar por los cambios que solicita.

Pero mi pensamiento en general es que la industria del desarrollo de sofware debe renovarse. Adaptarse a los nuevos métodos de desarrolo ágil, y eso requiere bastante trabajo tanto por parte de nosotros los desarrolladores como por los clientes.

Pero en muchas ocasiones me doy cuenta de que, incluso en “afamadas” empresas de tecnología, el software es algo difuso que a penas comienza a conocerse.

2 Comentarios »

  1. Hmmm…

    Esto es algo que me tocó pensar (por encima) tomando clases de Ingeniería de Software. Tanto papeleo y repetición de lo mismo redactado una y otra vez.

    Parece agobiante, pero nada peor que un análisis incompleto al momento de desarrollar código.

    Ahora, si estuviese en mis manos intentar acelerar este proceso y además incluir lo mejor posible al cliente dentro del mismo, intentaría tomar el camino de los prototipos. Esto es algo que las herramientas de programación ágil permiten con gran facilidad y un cliente podría participar ya que el producto es algo más tangible que un largo documento de especificaciones.

    Sin embargo, no me logro convencer de que esto supere un análisis previo bien hecho de las necesidades/costos/etc. de un proyecto.

    Esto lo digo basado en mi poca experiencia pero en proyectos que había llegado al punto extremo y cuya causa fue un análisis inicial incompleto, parte también culpa del cliente que no apoyaba con la información necesaria (cosa que sucede bastante y se conocen muchos casos grandes).

    Comentario por Alfredo J. — Diciembre 8, 2007 @ 5:48 pm

  2. Bueno, no parece ser un tema muy popular :D pero de todos modos este enlace me parece coincide:

    http://ask.slashdot.org/article.pl?sid=07/12/10/0744259&from=rss

    Saludos!

    Comentario por Alfredo J. — Diciembre 10, 2007 @ 9:52 am

RSS de los comentarios de esta entrada. TrackBack URI

Deje un comentario