¿Cuáles son los beneficios para un desarrollador si él / ella es parte de un equipo ágil?

Estoy de acuerdo con los buenos puntos planteados en otras respuestas.

Pero pensé que debería darle un giro diferente a esto y destacar algo de lo que ya no se habla mucho en la industria: Agile fue “inventado” por los desarrolladores, por algunos de los mejores programadores de la época.

Desarrolladores que se preocupan por:

  • haciendo productos que los clientes adorarán
  • mejores prácticas de ingeniería (como las increíbles prácticas de XP)
  • creando un lugar de trabajo feliz luchando por la colaboración y la mejora continua (¡la empresa en sí misma es algo que usted hace!)

encontrará que Agile (y puedo agregar Lean) es una experiencia que cambia la vida, si se hace correctamente.

¿Cómo te beneficias como desarrollador? Aprende a pensar en términos de valor para el cliente, aprende a valorar a las personas y la interacción sobre los procesos y las herramientas. Además, usted se enfoca en producir código de trabajo, frecuentemente, para que su cliente lo vea y dé su opinión. Por último, aprenderá a responder al cambio, que es una condición necesaria para tener éxito en el mercado.

Si agrega eso, durante el viaje, puede practicar la refactorización regular, TDD, CI, entrega continua y ver su código evolucionar orgánicamente, con una deuda técnica manejable y un bajo número de defectos … ¿qué es lo que no le gusta? 🙂

  1. él / ella siente la propiedad del producto: todos los miembros del equipo son responsables del éxito y el fracaso de los objetivos del sprint
  2. él / ella se siente parte de un equipo, no una jerarquía: si se usa Scrum, no hay un rol de gerente de proyecto. El equipo administra su tiempo, rastrea el progreso del sprint, selecciona los problemas de la manera que mejor les parezca, con el apoyo del scrum master, que facilita la comunicación con el propietario del producto, quien establece los objetivos y las prioridades del proyecto desde la perspectiva del cliente y del negocio.
  3. el conocimiento se comparte de una manera más práctica: ágil se centra mucho en compartir el conocimiento dentro del equipo, en lugar de dedicar la mayor parte del tiempo a mantener la documentación; Esto no significa que no haya documentación, pero el entorno de trabajo se ajustará de tal manera que las charlas tecnológicas, la programación entre pares, los QA de amigos, etc. sean más valiosos que leer y mantener la documentación.
  4. los objetivos son claros para los desarrolladores, hay un plan para cada iteración, el equipo es consciente de lo que están haciendo sus colegas, los miembros del equipo pueden ayudarse mutuamente más rápido para cumplir con los objetivos del sprint. Esto lleva a más motivación.
  5. El propósito de lo que están haciendo los desarrolladores es claro, porque (en el caso de Scum), hay una persona responsable de mantener los objetivos comerciales alineados con el desarrollo actual.

Hay más, pero en mi opinión son los más importantes desde la perspectiva de un desarrollador.

Scrum se trata de equipos de autoorganización y colaboración sobre documentación. Tener diferentes tipos de roles / miembros en el equipo siempre es beneficioso. Comenzando por el hecho de que si desea ejecutar un proyecto adecuadamente planificado, asegúrese de cumplir con el alcance y también de que se cumpla el presupuesto del proyecto, realmente necesita planificarlo con cuidado y de manera adecuada.

Para planificarlo de una buena manera, vale la pena involucrar a expertos en la materia que son responsables del llamado área de flujo de trabajo y que ayudarán a determinar las preguntas correctas para analizar los requisitos y luego dar con la indicación del nivel de esfuerzo y fechas.

Escribo sobre esto porque cuando planifique el descubrimiento o la reunión de planificación previa de esta manera, estará en condiciones de no solo tener una indicación más precisa del esfuerzo requerido para implementar los requisitos. Realmente ayuda involucrar a miembros específicos del equipo desde una etapa muy temprana del proyecto. Tener un experto en la materia responsable del área de desarrollo (desarrollador principal), marketing en línea, arquitectura de sistemas, etc. es muy importante en mi opinión.

Dicho esto, siempre es bueno y beneficioso tener miembros específicos del equipo o al menos expertos en la materia en el proyecto lo antes posible.

Beneficios generales que veo:

  • Apoyar más detalles y recopilación de requisitos específicos del tema
  • mitigar el problema de tener estimaciones imprecisas e indicación de fechas de entrega
  • desde el enfoque de gestión más flexible: ayuda a integrar a los miembros del equipo y a compartir el conocimiento
  • hacer que cada miembro del equipo comprenda mejor el producto que se desarrolla, escuchando y trabajando directamente con otros miembros del equipo

Aquí hay algunas cosas buenas, pero un beneficio que creo que es realmente importante pero que rara vez se discute es que es el CYA definitivo.

Lo que quiero decir con esto es que al ser completamente transparente y comunicar nuestros bloqueos y progresos a diario, no hay necesidad de preocuparse por el final de las “trampas” del proyecto. Para mí, siempre me ha encantado estar fuera de esas viejas preocupaciones. Todo está ahí afuera para que el mundo lo vea y nadie puede regresar seis meses después y decir que deberían haber sido informados.

  • El trabajo es mas divertido
  • Aprendes mucho mas
  • Respetas más a tus colegas
  • Te vuelves más resistente
  • Eres mas productivo
  • Obtienes mayor confianza
  • Construyes sistemas mejores y más innovadores
  • Sus clientes están más contentos, lo que le brinda una mayor satisfacción laboral.

(Por experiencia. Probablemente hay otros beneficios)

Uno de los mayores beneficios que veo no es específico para los desarrolladores, sino que lo sienten todos los miembros del equipo. En un entorno verdaderamente ágil, recibe una validación constante de que está en el camino correcto (o incorrecto). No tiene que construir con incertidumbre durante largos períodos de tiempo, lo que ayuda a evitar la sensación de una marcha de la muerte. Mantenerse motivado en el trabajo es fundamental, al menos para mí, y trabajar en un entorno realmente ágil ayuda con eso con seguridad.

El desarrollador

  • participa en la toma de decisiones y, por lo tanto, ayuda a crear el producto
  • decide cómo implementar la funcionalidad
  • trabaja en un equipo autoorganizado y, por lo tanto, puede crear su entorno de trabajo
  • trabaja entre personas motivadas (suponiendo que se respete el principio de crear proyectos en torno a personas motivadas), lo cual es divertido

Hay más beneficios, pero los mencionados son más valiosos a mis ojos.

Autor de The Agile Manifesto Unfolds y The Scrum Guide Unfolds

Blog Consultores Perdidos

Tiene la libertad de estimar su propio trabajo.

transparencia con el usuario sobre lo que se necesita y lo que se hace

hace solo lo comprometido para el sprint, no es necesario acomodar ningún cambio nuevo en el sprint actual

si alguien solicita realizar un trabajo adicional o un trabajo diferente al planificado para el sprint, puede aumentar con la orden de compra

sin microgestión

solo 6 a 8 horas de trabajo al día

Menos número de reuniones y llamadas individuales, ahorra mucho tiempo