Dave Thomas. ¿Cuándo parar? El usuario tiene la palabra

El desarrollador de software, por regla general, es creativo. Esa creatividad lleva en muchas ocasiones a incrementar la complejidad del producto bien sea añadiendo funcionalidades innecesarias o por querer hacer filigranas sobre funcionalidades que son importantes o sobre aspectos más internos del desarrollo como la arquitectura o la programación.

La complejidad adicional puede ser bienvenida si realmente aporta un valor proporcional al esfuerzo necesario para llevarla a cabo. El problema realmente se produce porque la complejidad añadida no suele tener aparejado ese beneficio y se convierte al final en un lastre con el que tenemos que cargar y que no siempre resulta sencillo quitárnoslo de encima.

Sobre aspectos técnicos (salvo en proyectos con usuarios con el perfil adecuado) el usuario no va a entrar a valorar tus decisiones por lo que en estos casos se requiere una cierta disciplina personal para ser práctico, diseñando un software de calidad pero sin entrar en excesos que pueden poner precisamente en peligro ese nivel de calidad o incluso la posibilidad de alcanzar las expectativas por incurrir en un coste excesivo en este tipo de tareas.

Sobre aspectos funcionales sí que debe ser el usuario el que tenga la última palabra (no entro a valorar las situaciones en las que hay que discutir aspectos presupuestarios que condicionarán hasta dónde se puede llegar con el presupuesto existente en base al esfuerzo invertido en las tareas realizadas hasta ahora).

Claro que podemos expresar nuestra opinión y debatir con el usuario (toda propuesta es mejorable), incluso mostrarnos con una cierta vehemencia en lo que creemos que es lo más correcto, pero al final la decisión debe ser siempre del usuario (aunque se equivoque y le hayas advertido) porque de lo contrario te estás echando a la espalda una responsabilidad que no te corresponde y que después te saldrá cara y por otro lado porque si desarrollas funcionalidades que no ha pedido el usuario pocas veces te lo agradecerán, lo más probable es que tengan menos utilidad de lo que crees y seguirás teniendo que hacer los desarrollos que estaban pactados.

La siguiente reflexión de Dave Thomas resume toda esta situación (traducción libre): “Si trabajas con el usuario con una mayor proximidad. Si trabajas interactivamente con el usuario ya sea diaria o semanalmente, el usuario tendrá la capacidad de indicarte cuando es tiempo de parar. No le permitas a los programadores añadir funcionalidades solo porque piensen que podrían ser una buena idea. Añadir funcionalidades debería ser una decisión del usuario y no una decisión del programador”.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: