Definir al cliente.
¿Es otra compañía? Otro individuo?
¿Es otro equipo dentro de su empresa?
¿Es un campeón de productos dentro de su empresa?
¿Eres tú?
Todo lo anterior es posible y bastante razonable según las circunstancias. No desea tener una sola vista en el túnel sobre lo que es ser ágil, por lo que decir un NO definitivo sería incorrecto. SÍ por otro lado requiere un poco de pensamiento lateral.
Piensa en la palabra ágil por un momento. El grupo muy inteligente de personas que acuñaron el término no podría haber escogido una mejor metáfora del concepto que intentaban describir. Cuando dices agilidad , ¿qué te viene a la mente? Siendo flota de pie? ¿Rápido para reaccionar tal vez? ¿Rápido para adaptarse?
Ahora piense en todas las prácticas ágiles comúnmente aceptadas y pregúntese qué aportan realmente a los métodos de desarrollo de software que se consideran ágiles .
Soy el cliente a todos los efectos para mis proyectos en solitario. Incluso llevo un sombrero real a veces, cuando realmente quiero hacer un cambio mental distintivo en mi rol de cliente . Esto me hace no menos ágil de lo que soy cuando estoy en el trabajo. Por lo que me importa, mi gato puede ser el gerente. Se asegura de que tome un descanso de vez en cuando y me recuerda que evite obsesionarme demasiado con ninguna tarea. ¡Puede que prefiera usar su elegante "Técnica Pomadoro", pero prefiero el temporizador "Rascal"! La cuestión es que trabajo en un proceso estrictamente ágil cada vez que escribo código para mí. No soy del tipo hacker-come-cowboy, que vive una vida de picos de desarrollo interminables y sin lograr nada. Me gusta crear mi software, programar el desarrollo en torno a mi vida laboral y personal, y completarlo de una manera que esperaría si estuviera trabajando para un cliente real. Cuando las cosas interrumpen mi horario, ajusto y priorizo el trabajo de mi proyecto en consecuencia. Uso todas las prácticas y técnicas ágiles estándar que puedo aplicar solo, y "entrego" código de trabajo para mí (o un amigo o colega para probar) tan a menudo como pueda. Si todo esto no es ágil, te pregunto qué es.
Entonces, mi respuesta es Sí , puedes ser un desarrollador de software ágil, y puedes aplicar una metodología ágil, y no necesariamente necesitas al cliente, o incluso al gerente. Puedes trabajar en un proyecto solo y usar varios sombreros. Sin embargo, puede no ser necesariamente ideal eliminar esos otros roles, ya que es muy útil cooperar con otros para lograr un objetivo. Actúan como una caja de resonancia para sus ideas, y satisfacen los requisitos que de otro modo podría ser difícil generar de manera sensata por su cuenta. La otra función muy importante que el cliente y el gerente satisfacen es la de mantenerlo enfocado en sus objetivos, sin agregar características sin fin y refinar su código más allá de lo estrictamente necesario.
Aún así, si trabaja de manera disciplinada, siguiendo estrictamente su metodología de elección y aplica prácticas ágiles, y si se desvía o cambia de opinión (cuando usa el sombrero del cliente) y el diseño o la dirección de su producto toma un turno, si puede adaptar su horario y ajustar sus prioridades tal como imagina que su cliente esperaría que lo haga, entonces está siendo ágil.