Los procesos de desarrollo son un tema constante de discusión tanto dentro de los equipos como en varias conferencias. Y, por supuesto, su optimización es un dolor de cabeza constante para todos los que de alguna manera controlan el desarrollo.
Una vez fui un desarrollador junior y terriblemente no me gustó la palabra "procesos". Todas estas reuniones regulares y otras comunicaciones parecían absurdas, lo que distraía el trabajo sustantivo (escribir código, por supuesto). Creo que esta etapa ocurrió en la vida de todos los que se dedicaron al desarrollo; pero es útil repetir esta etapa regularmente: cualquier actividad puede optimizarse (por ejemplo, cancelándola por completo) y, a veces, la sensación de falta de sentido de lo que está sucediendo tiene un verdadero efecto curativo.

Decidimos dedicar nuestro próximo Meetup Team Leader a los procesos de desarrollo, que tendrán lugar la tarde del 17 de junio en la oficina de Yandex en Moscú. ¡El registro está abierto!
Nuestros expertos acordaron ser:
- Anatoly anatolix Orlov, CTO, Ozon
- Alexey Kataev deusdeorum , Jefe de Desarrollo de Software, SkyEng
- Alexander Gutman, CTO, JoomPay
- Evgeny Paramonov, Jefe de Desarrollo de Mezclas de Búsqueda, Yandex
- Andrey Plakhov yafinder , jefe de funcionalidad de búsqueda, Yandex
Hoy responden algunas preguntas para preparar una discusión futura:
1. ¿Sobre qué base se construyen los procesos en su empresa?
2. En su experiencia, ¿qué porcentaje de éxito del equipo está determinado por los procesos correctos y cuál es la habilidad individual?
3. ¿Hay situaciones en las que el líder del equipo tiene todo el derecho de ignorar cualquier proceso?
4. Cuente una historia de miedo de su experiencia con la palabra "proceso"
Bajo el corte: mucho fuego, sarcasmo dirigido a los autores de las preguntas, las opiniones más diversas y, por supuesto, historias de miedo.

1. ¿Sobre qué base se construyen los procesos en su empresa?
Intentamos construir todos los procesos de tal manera que pase el menor tiempo posible desde la idea hasta la implementación. En la comunidad de programación, este enfoque se llama "higo-higo y en producción", y a menudo usa esta expresión de manera negativa. Al mismo tiempo, desde un punto de vista comercial, es mucho más razonable lanzar rápidamente un proyecto o característica, probar una hipótesis y, si todo funciona, agregarlo al estado objetivo.
Esta ideología subyace en todos los procesos: microservicios que se implementan convenientemente por separado; desplegar automáticamente por fusión a una rama; equipos verticales que contienen el producto, programadores, evaluadores y diseñadores que se sientan juntos y tienen el derecho de no coordinarse con nadie fuera de los cambios en su área de responsabilidad, etc.
2. En su experiencia, ¿qué porcentaje de éxito del equipo está determinado por los procesos correctos y cuál es la habilidad individual?
El interés está mal. Probablemente, valga la pena el cálculo para realizar algo como esto: la habilidad determina qué tan complejos sistemas puede ejecutar, la productividad individual de los especialistas, qué tan rápido puede hacerlo. Y los malos procesos y la arquitectura ralentizan el trabajo, es un impuesto a la ineficiencia. El impuesto puede ser cualquiera, en principio, en algunas empresas, incluso el 100% ocurre, pero tales organizaciones generalmente no viven durante mucho tiempo (si no es "GBU Housing Sviblovo", por supuesto).
3. ¿Hay situaciones en las que el líder del equipo tiene todo el derecho de ignorar cualquier proceso?
Siempre. Si comprende que el proceso lo está molestando, pero no lo está ayudando, debe cambiarlo. Por otro lado, esto no significa que pueda tomar esa decisión solo: acuerde esto con sus colegas y, si es necesario, con sus superiores, para que no resulte que está trabajando en un nuevo proceso, y que el equipo y toda la compañía están en el viejo, y Como resultado, nada funciona en absoluto.
4. Cuente una historia de miedo de su experiencia con la palabra "proceso"
Permítanme escribir mejor sobre el principio de inversión de procesos con algunos ejemplos aterradores. Los programadores son muy conscientes del principio de inversión de dependencia, por lo que el proceso tiene lo mismo.
Debe aplicarlo aproximadamente en los siguientes casos: supongamos que acude a Recursos Humanos para abrir una vacante, y le piden que complete un cuestionario de 5 páginas sobre a quién va a buscar. O viene a pedir dinero para algo obviamente necesario, y se le pide que escriba un memo.
Este proceso a menudo resulta roto y burocrático, porque escribir un cuestionario es para usted y hace la vida más fácil (o incluso no) para otros. Como resultado, no tenemos un mecanismo para acordar lo que debería estar en el cuestionario: 2 líneas o 5 páginas.
La aplicación del principio de inversión de procesos aquí se ve así: es necesario que una persona explique por qué necesita abrir una vacante, y HR mismo completó el cuestionario, o las finanzas, una nota oficial. Por lo general, en este caso resulta que durante todo el día no desea completar cuestionarios de 5 páginas y escribir notas, y el proceso se hace efectivo de inmediato, sin ninguna consecuencia. Y para el cliente final, el proceso se convierte en "escribir una oración común coherente en una herramienta de chat que funcione".

1. ¿Sobre qué base se construyen los procesos en su empresa?
Tenemos 284 repositorios en el github: puede encontrar código en cualquier lenguaje de programación. Entre nuestros 20 equipos de desarrollo, probablemente incluso puedas encontrar una cascada. La formación de procesos se dejó anteriormente a los tímpanos: el inicio rápido del proyecto y el desarrollo de la plataforma central con una historia de 7 años requieren un enfoque diferente. En las reuniones semanales de líderes de equipo, intercambiamos las mejores prácticas y se extendieron lentamente por toda la empresa.
En la escala actual, esto no funciona: algunos de los líderes de equipo carecen de experiencia, otros carecen de tiempo. El aumento de la entropía está comenzando a traer problemas. El año pasado, extendí nuestras mejores prácticas a todos los equipos, equilibrando las ventas y "hacerlo definitivamente es bueno". Es más fácil implementar los procesos correctos cuando se crea un equipo, es aún más fácil cuando un líder de equipo se separa de un equipo exitoso: no necesita explicar o vender, él sabe que funciona.
2. En su experiencia, ¿qué porcentaje de éxito del equipo está determinado por los procesos correctos y cuál es la habilidad individual?
En mi experiencia, 100%. Incluso si un desarrollador solitario escribe código para sí mismo, sigue el proceso, aunque sea simple. Si reformula la pregunta: "¿cuánto puede olvidar el equipo de desarrolladores geniales al cambiar los procesos", mi respuesta será "muy fuerte". Es importante comenzar no con el proceso de revisión del código, el aumento salarial y la retroalimentación, sino con las cosas básicas: planificación, priorización, comunicación con la empresa. Por cierto, muchos desarrolladores geniales sin un proceso de contratación genial no aparecerán solos.
3. ¿Hay situaciones en las que el líder del equipo tiene todo el derecho de ignorar cualquier proceso?
Cuando surge una situación imprevista para la cual nadie está preparado. Inmediatamente recuerdo el ILV, que una vez prohibió docenas de nuestras API en Amazon. Luego nos olvidamos de Kanban, de la configuración correcta de las tareas y, en el modo de llamadas constantes, se nos ocurrió un plan de acción sobre la marcha. En un día, todo fue restaurado.
4. Cuente una historia de miedo de su experiencia con la palabra "proceso"
Hay una historia aterradora sobre cómo el supervisor respetaba infinitamente el proceso del consumidor que pagaba el salario. Y cayó con un error, logrando enviar una solicitud a la puerta de pago. Pero no puedo decirle en público :)

1. ¿Sobre qué base se construyen los procesos en su empresa?
Los procesos en nuestra empresa solo están surgiendo.
Para la planificación trimestral, utilizamos OKR.
A continuación, usamos los paneles YouTrack y Agile para planificar el desarrollo. Usamos kanban. No en el sentido de "molestarse con el número máximo de tareas en cada estado", sino en el sentido de "pereza para transferir tareas de sprint a sprint". El predecesor de YouTrack con tableros fue una placa en Excel con todas las tareas y responsables. Y funcionó bien también.
2. En su experiencia, ¿qué porcentaje de éxito del equipo está determinado por los procesos correctos y cuál es la habilidad individual?
Parece que la pregunta contiene una presunción de que el éxito del equipo está determinado exclusivamente por los procesos y habilidades correctos, y el porcentaje debe sumar 100.
Pero hay otros factores importantes: recursos o, por ejemplo, aleatorios. Por lo tanto, responderé: 10% de procesos y 10% de habilidad.
Por otro lado, no está muy claro cómo llamar al porcentaje de influencia de cada factor. Casi todos los proyectos complejos pueden fallar con los procesos incorrectos o la falta total de habilidades individuales. Por lo tanto, mi respuesta es: 99% de procesos y 99% de habilidad.
Por otro lado, si hablamos de proyectos no triviales y de competencia entre equipos, los procesos son aburridos y todos deberían tener algunos procesos razonables, pero la habilidad individual puede convertirse en un diferenciador. Por lo tanto, la respuesta final: 10% de procesos y 20% de habilidad.
3. ¿Hay situaciones en las que el líder del equipo tiene todo el derecho de ignorar cualquier proceso?
Hay situaciones en las que cualquiera puede ignorar cualquier cosa. En particular, jefe de equipo: cualquier proceso.
Pero no aislaría el liderazgo del equipo así. Aquí necesitamos cierto consenso dentro del equipo: los procesos son imperfectos, las reglas no son universales, debe guiarse por el sentido común.
Digamos que debes implementar la corrección de errores durante el friso, porque es lógico y no porque el líder del equipo tenga el derecho. Incluso si no estuvo de acuerdo con esto por adelantado y no hay una regla para este caso.
4. Cuente una historia de miedo de su experiencia con la palabra "proceso"
Una vez me pidieron que respondiera la pregunta "Cuente una historia de miedo de su experiencia con la palabra" proceso ".
Evgeny Paramonov , Jefe de Desarrollo de Mezclas de Búsqueda, Yandex

1. ¿Sobre qué base se construyen los procesos en su empresa?
Amamos los principios de agile. El equipo desarrolla todo nuestro trabajo de tal manera que maximice el logro de los objetivos de la empresa y la moral del equipo en el menor tiempo posible.
Dado que uno de los principios de los estados ágiles dice que "las personas y la interacción son más importantes que los procesos y las herramientas", lo primero que hicimos fue corregir las reglas básicas del scrum.
Dentro del equipo, promovemos los siguientes principios:
- Cada uno de nosotros es leñador y joyero (analista / probador / desarrollador)
- Cada uno de nosotros tiene fortalezas (ayuda a un amigo / no dudes en preguntar)
- Cada uno de nosotros determina cómo se verá el producto final (cada dirección tiene una responsable)
Los desarrolladores analizan las tareas de forma independiente, las prueban y comienzan los experimentos ABT. Junto con CI / CD, este es un grupo asesino, nos permite movernos lo más rápido posible, ya que cada desarrollador posee todo el contexto. Por ejemplo, ya durante el experimento, le viene a la mente una nueva característica ingeniosa, la implementa rápidamente, la rueda y realiza otro experimento.
Para cada mes, establecemos una meta que queremos alcanzar y verificamos el progreso semanalmente. Esto nos da flexibilidad. incluso durante la semana podemos cambiar nuestros planes si esto ayuda a lograr el objetivo del mes.
Con esta organización del proceso, la participación de los gerentes es mínima y el equipo gana movilidad y compromiso a largo plazo.
2. En su experiencia, ¿qué porcentaje de éxito del equipo está determinado por los procesos correctos y cuál es la habilidad individual?
El tiempo avanza, el mundo está cambiando y nuestros procesos están cambiando con él.
El dominio es:
- establecer un proceso que funcione en el resultado;
- resolver el problema en los procesos actuales y solucionarlo;
- Para transmitir a las personas una comprensión de por qué el proceso está estructurado de esa manera.
Usando mi equipo como ejemplo, puedo decir con firme confianza que esta proporción es de uno a uno en el área.
Mi equipo se ocupa inmediatamente de tres áreas globales: investigación, aprendizaje automático e infraestructura (y, de hecho, también el trabajo de supermercado).
En estas áreas, es bastante difícil construir procesos por adelantado para todos los escenarios posibles. A menudo, el éxito está fuertemente determinado por la intuición profesional del artista y su curador.
3. ¿Hay situaciones en las que el líder del equipo tiene todo el derecho de ignorar cualquier proceso?
Si los procesos se construyen con habilidad, entonces esto es poco probable. Un proceso construido de manera competente probablemente se basa en los errores de otros.
Pero, como dije anteriormente, seguimos avanzando y el mundo está cambiando, por lo que tarde o temprano habrá una situación en la que el proceso tendrá que ser ignorado o cambiado.
Timlid es responsable de la contribución de su equipo al logro de los objetivos de la compañía, y si entiende que aquí y ahora es necesario actuar, y los procesos actuales definitivamente no están listos para tal situación, definitivamente debe tomar un nuevo camino. Con esta elección, vale la pena notificar sobre sus acciones a todos aquellos a quienes puedan afectar.
Considere una situación ficticia:
- el administrador accidentalmente realizó cambios en el archivo de configuración y lo desplegó automáticamente después de 15 segundos;
- la búsqueda se vuelve imposible de usar, el 100% de los usuarios sufren;
- Timlid y el desarrollador de turno llaman a la supervisión y comprueban que todo está mal, ya que los errores se vierten en el registro y está claro qué componente dañó.
En este caso, la instrucción se construye tan mal como sea posible y dice:
- obtener un boleto;
- adjunte toda la información de depuración y análisis allí;
- arreglarlo a través de codreview.
Si seguimos este camino e incluso suponemos que lo hacemos muy rápido, tomará al menos 5 minutos ¡Cinco minutos de sufrimiento para los usuarios en vivo!
En esta situación, cada segundo es como la muerte para nosotros. Necesitas actuar ahora mismo. Si es posible revertir esta configuración, rótela. De lo contrario, deshabilite todo el componente. Aquí y ahora Procedimientos - más tarde.
4. Cuente una historia de miedo de su experiencia con la palabra "proceso"
Una historia terrible con el proceso de palabras ocurrió cuando éramos jóvenes y verdes. Escuchamos la palabra ágil: elegante, de moda, juvenil. E introdujeron sprints.
Al principio fue divertido: apareció un nuevo tipo de planificación. Entonces las tareas comenzaron a moverse de sprint a sprint. El gerente nos preguntó: "¿cuándo?" Respondimos: "mañana". El tiempo se multiplicó, por supuesto, por tres, pero aún no encajamos en los sprints.
Poco a poco, comenzamos a perder la moral. Tareas apiladas; el gerente no entendió lo que estaba sucediendo; La situación se estaba volviendo inmanejable. Como resultado, durante algún tiempo abandonamos las metodologías flexibles.
La moraleja de esta historia es esta: antes de introducir un nuevo proceso, debe comprender claramente por qué se hace esto y cómo es mejor que el estado actual de las cosas.
Andrey Plakhov yafinder , jefe de funcionalidad de búsqueda, Yandex

1. ¿Sobre qué base se construyen los procesos en su empresa?
Yandex es una empresa muy grande y muy, muy democrática. Cualquiera que sea la generalización que escriba aquí, hay un servicio Yandex.Botinki en algún lugar, que resulta ser completamente diferente.
En los lugares que observo, funciona así. Existe un estándar estricto para procesos a gran escala. Está claramente escrito cómo se determinan los objetivos de las unidades durante seis meses a un año, cómo acordamos qué considerar éxito y qué fracaso. Cómo se establece, cambia y qué afecta la calificación del empleado, cómo se pagan las primas y las opciones, cómo la contratación y la transición entre departamentos, etc.
Pero a nivel de microgestión en casi todas partes, de acuerdo con las reglas que vivirá el equipo, se determina a sí mismo. El giro de las tareas, el cronograma y el contenido de las reuniones de trabajo, algunos stand-ups allí, sprints, eso es todo. Alguien organiza por sí mismo un ideal "como en un libro", para algunos equipos pequeños, por el contrario, la anarquía. Sin embargo, incluso la mayoría de los anarquistas en algún momento se dan cuenta de que vivir "cómo funciona" no es óptimo. Y dado que las personas son inteligentes, llega rápidamente. Aquí, que yo sepa, no hay cascadas (aunque no responderé por los equipos involucrados en el hierro).
Yo, como jefe del departamento, exijo un estándar bastante modesto para los procesos en mi departamento: debería ser posible en cualquier momento ver quién tiene qué tareas específicas en su trabajo, cuánto tiempo pasan en este estado y quién cerró recientemente qué tareas. Para hacer esto, es suficiente usar el tablero Kanban en línea encima del rastreador de tareas estándar de la compañía (en teoría, esto no es necesario, pero en la práctica, como resultado, todos los equipos llegan a esto).
2. En su experiencia, ¿qué porcentaje de éxito del equipo está determinado por los procesos correctos y cuál es la habilidad individual?
En general, lo más importante es el éxito del modelo de negocio. Si la organización no ha descubierto qué vender, a quién y cómo, entonces ni los procesos ideales ni los desarrolladores ingeniosos lo ayudarán. Por lo tanto, suponga que el negocio está funcionando y que estamos hablando de desarrollo a largo plazo, calidad del producto, diversificación, etc.
Entonces la respuesta depende mucho del tamaño del equipo. El éxito de un equipo de cinco personas está determinado casi al cien por cien por las personas. El éxito de una empresa de quinientos o más está determinado casi en un cien por ciento por la organización correcta. El culto a la carga, cuando una pequeña empresa intenta vivir según las reglas inventadas por, por ejemplo, IBM, puede ser tan dañino como el principio de Peter cuando un antiguo "enlace" se convierte en un "centurión", pero trata de vivir a la antigua usanza.
También hay que decir que equipos muy cerrados de varias personas son bastante representables dentro de los gigantes gigantes industriales. Pero este estado de cosas, desafortunadamente, combina los peores aspectos de ambos mundos, y no al revés. Un grupo de personas débiles no dominará nada sensato incluso en una infraestructura prefabricada, y el proceso incorrecto extenderá el equipo estelar en los engranajes, y nadie lo notará.
3. ¿Hay situaciones en las que el líder del equipo tiene todo el derecho de ignorar cualquier proceso?
Por supuesto que sí, y la palabra "fuego" es muy apropiada aquí. Si:
- situación de contingencia
- se deteriora rápidamente si se deja al azar,
- y puede ser ayudado por una intervención rápida y decisiva,
luego al infierno con las reglas y la "corrección"!
Lo principal es que tales situaciones no le dan placer a los tímidos, de lo contrario corremos el riesgo de descubrir después de un tiempo que los incendios a su alrededor ocurren con mucha más frecuencia que el promedio de la organización. Es completamente incomprensible por qué. Algún tipo de misticismo.
4. Cuente una historia de miedo de su experiencia con la palabra "proceso"
El proceso más terrible en mi vida lo conocí hace mucho tiempo, incluso antes de Yandex, cuando estaba desarrollando juegos de computadora. Más de cien personas trabajaron en el primer juego de una empresa joven pero rica y muy ambiciosa que acababa de mudarse a una nueva oficina. Además, cualquier desperdicio de cualquier cantidad de dinero debería haber sido aprobado por el CEO. ¿Comprar 50 servidores? ¿Reemplazar una silla rota por una nueva para un programador? ¿Pedir almuerzo la próxima semana? ¿El gerente de la oficina se quedó sin clips? La misma persona decide todo, las pilas de documentos crecen sobre la mesa. Como puede suponer, las interrupciones debidas a tal "proceso" ocurrieron incluso con papel higiénico. Para imaginar adecuadamente el horror de lo que está sucediendo, vale la pena agregar que el director general combinó este rol con el rol de director creativo (como diría SRO ahora) y con el rol del diseñador jefe del juego ...
La próxima reunión, para la que aún puede registrarse , se llevará a cabo el 17 de junio de 2019 en la oficina de Moscú de Yandex. Será posible hacer preguntas a los oradores y compartir su experiencia.