web 2.0

lunes, 23 de agosto de 2010

Requerimientos de SW, ¿Cuántos kilos le damos?

El domingo anterior a escribir este post, fui a comer a un mercado de la ciudad de Pachuca, Hidalgo. Todavía iba caminando, aún ni me sentaba cuando ya me estaban preguntando si deseaba sopa o arroz, además de decirme la lista completa de guisados. Luego pues, decidí parar y sentarme a comer. Lo primero que hicieron fue darme como 1/2 kilo de tortillas. Al inicio todo iba bien ya que entre más tortillas me daban, más rápido comia y más pedia. Conforme fui avanzando en la comida, me fui dando cuenta que las muchas tortillas que me dieron en un inicio se acumularon, se estaban enfriando, que sencillamente eran innecesarias tantas en un inicio, pues termine pidiendo que me las cambiaran por otras menos frias.

Termine por darme cuenta que lo que me estaba pasando, era un ejemplo muy burdo de lo que pasa en el Desarrollo de Software (burdo pero muy cierto).

Yo era como el cliente/usuario que desea un Sistema de computo, usuario que desde un inicio sabe que necesita de algo que satisfaga sus necesidades, pero al poco tiempo se dejan escuchar miles de voces que te ofrecen una amplia gama de funcionalidades, opciones, mejoras, etc., muchas veces innecesarias. Ya habiendo entrado en el juego, el usuario se sienta a la mesa listo para definir sus requerimientos, sin embargo, los expertos Consultores, Project Managers, PMI, etc., comienzan a invadir al usuario con kilos de requerimientos, decenas y decenas de Casos de Uso, diagramas, diccionarios de datos, Interfaces, etc., requerimientos que con el paso del tiempo se van "enfriando", perdiendo así su valor original y el usuario termina por cambiar dichos requerimientos por algunos más refinados.

La dinámica del software es cambiante, su ámbito no es del todo predecible, sin embargo esto es algo de lo que aún no entendemos, nos aferramos a utilizar técnicas y metodologías predecibles que basan sus principios en otras ramas de la Ingeniería como la Mecánica y/o Civil en donde la mayoría de sus problemas son susceptibles de un análisis matemático, modelado y simulación, sin embargo, en el desarrollo de Sw no podemos forzar y modelar una Arquitectura detallada del Sistema mediante diagramas UML que en papel se ven bien, pero al momento de implementarlo es donde comienzan los problemas.

Nosotros como desarrolladores, líderes de proyecto, analistas, etc., debemos entender bien lo anterior y ayudar al usuario en el camino a descubrir que cosas son las que Él realmente desea, en lugar de abrirle un abanico de opciones desde un inicio. Si desde un inicio le ofrecemos kilos y kilos de tortillas, corremos el riesgo de que al paso del tiempo el usuario nos las devuelva y pida algo más reciente!

Los métodos ágiles nos proporcionan sencillos pero sólidos principios que nos ayudan a tener un cliente/usuario satisfecho pues generalmente tienen lo que realmente quieren, ya que lejos de hacer una toma de requerimientos detallada, la vamos refinando conforme avanzamos en el camino, evitando así trabajar "en valde" o innecesariamente ya que con las constantes reuniones y entregas rápidas de funcionalidad al usuario, éste puede ir descubriendo más fácilmente lo que realmente quiere y necesita.

¿Y tú cuántos Kilos de Requerimientos le ofreces a tu cliente/usuario?

Saludos!!

1 comentarios:

Jesus Luis Fernando Hernandez Luna dijo...

Excelente publicación.

Tal como lo comentas, las metodologías son solo herramientas para mantener un control durante el desarrollo del requerimiento del usuario, pero desafortunadamente a veces, ya sea por falta de experiencia de lo PM o de las empresas, se toma como receta de cocina y la herramienta termina convirtiéndose en el propósito del proyecto y el requerimiento solo es una anotación dentro de la documentación de la metodología.
Otra cosa que detiene la realización de buenos proyectos, es cuando existe un división exagerada de las áreas de IT, de tal manera que a nadie le importa el proyecto que se lleve, sino solo importa el llenado de documentos, cumplir con reglas y entregar informes, es decir, cuando una empresa de IT tiene demasiada burocracia y su proposito solo sea tener trabajo aunque sea deteniendo proyectos.
Los diagramas, documentos, y cualquier otra herramienta son solo eso, un apoyo para darle continuidad a los proyectos en un futuro, pero tal como lo comentas, no plasman en su totalidad la funcionalidad de los sistemas.
Basado en mi experiencia, solo puedo decir que lo que realmente funciona es colocarse desde la perspectiva del usuario y desde ese punto y con la experiencia técnica dar la mejor solución, por supuesto sin descuidar los recursos.


Saludos

Publicar un comentario