¿Cómo parar la programación magra que convierte la codificación del vaquero? [cerrado]


Mi equipo ha ido adoptando progresivamente metodologías cada vez más ligeras, pasando de Scrum a Lean/Kanban donde hay cada vez menos procesos formales. En algún momento volveremos a la codificación Cowboy; de hecho, me temo que ya podemos estar en la línea fronteriza.

¿Dónde se puede trazar la línea entre un proceso Delgado y Ágil muy ligero y la anarquía? ¿Cómo sabremos cuando hayamos cruzado la línea? ¿Y cómo podemos evitar cruzar la línea?

La pregunta también se podría decir: "¿qué procesos no se pueden eliminar de forma segura en el impulso de Lean para eliminar los residuos?"

Author: skaffman, 2009-07-24

14 answers

Cuando algo sobre el código es conocido o manejable por una sola persona en su grupo, está bajo un gran letrero rojo brillante de "Saloon", y básicamente está empujando las puertas.

 24
Author: Stefano Borini,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-23 21:37:57

Presumiblemente te preocupan los efectos de la codificación cowboy:

  • No hay requisitos
  • Sin diseño
  • Sin pruebas
  • No hay comentarios de los usuarios
  • Sin horario
  • Inalcanzable
  • Factor de bus
  • ...

Mientras tengas un plan/mecanismo/proceso para evitar estos efectos nocivos, entonces estás bien; ¿verdad?

 14
Author: ChrisW,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-23 21:56:11

La pregunta de cuándo se realiza una tarea/historia/unidad de trabajo viene a la mente como parte de esa línea. Si usted requiere pruebas y que un par de ojos han mirado algo más que puede ayudar a prevenir la situación del desarrollador pícaro que quiere ser un vaquero. Del mismo modo, ¿cómo entra el código en producción? Si alguien en el equipo puede empujar el código por capricho, eso sería una señal de advertencia para mi mente.

Un par de otras señales de advertencia que observaría son:

  • ¿Tiene el equipo un estándar de codificación y un compromiso para mantener ese estándar?
  • ¿Hay un montón de cambios de código de un individuo haciendo "refactorización" que nadie más piensa que vale la pena?
 4
Author: JB King,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-23 21:40:43

Supongo que si mantienes algún tipo de revisión de código, no puede ir demasiado mal en este lado. Si nadie sabe lo que los otros programadores están haciendo y cómo lo están haciendo, entonces es posible que haya cruzado esta línea.

 3
Author: marcgg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-23 21:41:05

Probablemente no haya una lista definitiva de señales de advertencia que si las ves te digan que estás en territorio vaquero. Personalmente, si la gente está liberando código no probado, desarrollando características que no se entienden definitivamente, o de todos modos apresurando el trabajo o ignorando las señales de advertencia, me preocupo.

Mejor usar tu propio juicio. Con suerte, ya que estás haciendo la pregunta eres la persona adecuada para ser sheriff.

 2
Author: Robin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-23 21:45:42

La codificación Cowboy es una codificación pícara. Lo único que permite el comportamiento deshonesto es la ausencia de supervisión por parte de una autoridad.

La "autoorganización" de Agile a menudo se abusa hasta el punto de hacer que el término en su mayoría carezca de sentido, ya que los equipos de desarrollo lo interpretan de manera oportunista para significar "Autodeterminación".

Un enfoque organizacional lean para la gestión puede ser una diferencia marcada de lo que estamos acostumbrados, incluso de los equipos ágiles. Y es este tema de la organización y la dirección y su mecánica organizativa que marca toda la diferencia.

La adopción del Desarrollo de Productos Lean en el software es todavía bastante joven, y desafortunadamente sufre un poco de distracción por Kanban. Pero esto es de esperar - los aspectos más externalizables de un método suelen ser los primeros en ser reconocidos y adoptados, y estos son generalmente los aspectos más mecánicos. Kanban es una parte flagrantemente mecánica de Lean. Pero es sólo una parte.

Lean es un el cambio organizacional fue mucho más que Ágil. Si no cambia el papel de los directores en la organización, es probable que termine accediendo solo a los aspectos más materiales y mecánicos de Lean, y probablemente de las maneras más ingenuas.

Para evitar que cualquier persona en cualquier organización se convierta en pícaro, debe ser dirigida a cumplir con las expectativas. Sin embargo, el papel del director en una organización Esbelta no es solo un matón. Un director en una organización Lean (equipo de desarrollo, etc.) también es un trabajador calificado y es capaz de enseñar a otros las habilidades necesarias para ser cada vez más competentes en el cumplimiento de las expectativas que han aceptado la responsabilidad.

Cualquier proceso específico que ponga en marcha (revisiones de código, emparejamiento, incentivos, etc.) depende de demasiados factores que son particulares para su organización en el momento particular en que los esté considerando. El director del esfuerzo debe entender cómo enlistar el poder cerebral colectivo de todo el equipo debe encontrar buenas soluciones o vías de exploración, experimentación y aprendizaje, y tomar una decisión para lo mejor, incluso si ocasionalmente significa contradecir al colectivo (especialmente si el colectivo es joven en formas magras).

A menos que su organización se distraiga completamente de los problemas de dirección débil por el materialismo intelectual magro, como Kanban, por ejemplo. Si tienes a la gente haciendo pícaro, no tienes un problema de metodología, tienes un problema organizacional. Y si tienes un problema organizacional, inevitablemente tienes un problema de dirección, y un problema de usos improductivos de la autoridad.

 2
Author: Scott Bellware,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-07-11 23:50:45
  1. Nunca olvide sus pruebas unitarias automatizadas.
  2. Nunca olvide sus pruebas funcionales.
  3. Nunca olvides tus pruebas.

(He sido culpable)

 1
Author: Felipe Hoffa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-23 21:48:29

Cada vez hay menos procesos formales. En algún momento volveremos a Cowboy Coding...

La ironía del "proceso" Ágil/Lean/Scrum es que un proceso menos formal NO conducirá a la programación vaquera.

Mientras que estas metodologías preferir "people over process", el proceso no está completamente abandonado; la gestión sigue siendo necesaria. Y al final del día, todavía tiene un compromiso con sus clientes y plazos. Estos compromisos deberían rienda a las vacas.

 1
Author: Ray,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-24 09:15:57

" qué procesos no pueden ser seguros eliminado en la unidad de Lean a eliminar residuos"?

Esa es una pregunta muy general que es difícil de responder con precisión.

Mientras se descartan procesos de gestión que no producen valor, es necesario incluir más prácticas técnicas como las que se encuentran en la Programación Extrema. La mayoría de los entrenadores ágiles con los que he hablado consideran que el Desarrollo Impulsado por Pruebas, la Programación en Pares y la Integración Continua son un hecho trabajar con la adopción ágil. Es muy difícil salirse con la suya con "cowboy programming" con estas técnicas en su lugar. Si estuviera preocupado de que el código se fuera de control, también incluiría algunas revisiones de código.

 1
Author: ogborstad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-06-07 11:40:08

Contrata (o delega) a un sheriff, y acorrala el código para que no solo se comprometa, sino que sea visto por toda la pandilla.

 0
Author: Darth Continent,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-23 21:56:10

Aquí es donde entra en juego el valor de un ScrumMaster/Lean/Agile coach. Quienquiera que ocupe ese puesto en tu equipo debería ser capaz de detectar cuándo la autodisciplina del equipo está fallando y recordarle el compromiso que se han hecho unos a otros sobre la calidad de su código.

La otra cosa que puedes hacer es ajustar los contenedores. Agrega revisiones de código a tu tablero Kanban y luego pon un límite para asegurarte de que se haga. Mejor aún, requiere que todo el código se escriba en pares para unos pocos semanas para que los buenos hábitos se fortalezcan y nadie pueda reclamar la propiedad de las secciones del código.

Finalmente, considere que tal vez su alejamiento del proceso formal de Scrum fue un poco prematuro. Las reglas de Scrum están ahí para enseñarte una forma completamente diferente de pensar y trabajar. Si los valores de Lean y Agile aún no se han arraigado en su equipo, es muy fácil volver a los viejos hábitos. Aquí es donde la estricta aplicación de las reglas de Scrum puede ayudarle hasta que tu equipo esté listo.

Recuerda, Kanban es una herramienta. Si no está aplicando consistentemente los principios Lean y Agile a su uso, no obtendrá el beneficio completo.

 0
Author: Todd Charron,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-05-01 03:43:03

Tanto Lean como Agile implican minimizar los residuos en un contexto muy específico: la entrega de valor.

Si deja de usar procesos que le ayudan a producir valor de manera eficiente, entonces producirá menos valor o producirá valor menos rápidamente.

Dado que tanto las técnicas Lean como las ágiles implican medir cómo estás progresando en la producción de valor, debes ser capaz de saber cuándo cruzas la línea y eliminar una práctica útil.

Si no estás usando velocidad o tiempo de ciclo para medir su entrega de valor, entonces ya ha cruzado la línea!

 0
Author: KarlM,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-04-23 10:05:47

¿Qué hay de malo con la codificación Cowboy? Si empiezas a ver una mala calidad, la entrega de código toma más y más tiempo, no cumple con las expectativas del usuario final (o quien sea que esté pagando), entonces es el momento (y soy un PM diciendo esto). Cuando tienes un equipo de programación bueno / sólido, la necesidad de un proceso formal no es necesaria - su generalmente internalizado-los buenos programadores siguen una buena forma / proceso naturalmente-Creo que se pone en marcha una gran cantidad de proceso para los ejecutantes más débiles, lo que en muchos casos afecta negativamente los buenos / grandes intérpretes. Un buen director de proyecto necesita equilibrar el proceso a la situación específica...tipo de enfoque de dirección/seguimiento/retirada

 -1
Author: meade,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-24 17:41:39

Involucrar al cliente tal vez, por lo que no escribir un sistema teórico bajo un presupuesto BAU que el negocio en realidad no quiere? Hable más con su(s) gerente (s).

 -1
Author: JeffSec,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-01-28 16:01:29