Os processos de desenvolvimento são um tópico constante de discussão, tanto em equipes quanto em várias conferências. E, é claro, sua otimização é uma dor de cabeça constante para todos que de alguma forma controlam o desenvolvimento.
Uma vez eu era desenvolvedor júnior e não gostava muito da palavra "processos". Todas essas reuniões regulares e outras comunicações pareciam absurdas, distraindo o trabalho substantivo (escrever código, é claro). Eu acho que esse estágio aconteceu na vida de todos que estavam envolvidos no desenvolvimento; mas é útil repetir esse estágio regularmente: qualquer atividade pode ser otimizada (por exemplo, cancelando-a completamente) e, às vezes, a sensação de falta de sentido do que está acontecendo tem um efeito verdadeiramente curativo.

Decidimos dedicar nosso próximo Meetup de Líder de Equipe a processos de desenvolvimento, que ocorrerão na noite de 17 de junho no escritório da Yandex em Moscou. As inscrições estão abertas!
Nossos especialistas concordaram em ser:
- Anatoly anatolix Orlov, CTO, Ozon
- Alexey Kataev deusdeorum , chefe de desenvolvimento de software, SkyEng
- Alexander Gutman, diretor de tecnologia da JoomPay
- Evgeny Paramonov, chefe de desenvolvimento de mixagem de pesquisa, Yandex
- Andrey Plakhov yafinder , chefe da funcionalidade de pesquisa, Yandex
Hoje eles respondem a algumas perguntas para preparar uma discussão futura:
1. Com que base os processos são construídos na sua empresa?
2. Na sua experiência, qual porcentagem de sucesso da equipe é determinada pelos processos certos e qual é a habilidade individual?
3. Existem situações em que o líder da equipe tem todo o direito de ignorar qualquer processo?
4. Conte uma história assustadora da sua experiência com a palavra "processo"
Sob o corte - muito fogo, sarcasmo dirigido aos autores de perguntas, as mais diversas opiniões e, é claro, histórias assustadoras.

1. Com que base os processos são construídos na sua empresa?
Tentamos construir todos os processos de forma que o menor tempo possível passe da ideia para a implementação. Na comunidade de programação, essa abordagem é chamada "fig-fig e em produção", e geralmente usa essa expressão de maneira negativa. Ao mesmo tempo, do ponto de vista comercial, é muito mais razoável iniciar rapidamente um projeto ou recurso, testar uma hipótese e, se tudo funcionar, adicioná-lo ao estado de destino.
Essa ideologia está subjacente a todos os processos: microsserviços que são convenientemente implantados separadamente; implantar automaticamente mesclando em uma ramificação; equipes verticais que contêm o produto, programadores, testadores e designers sentados juntos e com o direito de não se coordenar com ninguém fora das mudanças em sua área de responsabilidade, etc.
2. Na sua experiência, qual porcentagem de sucesso da equipe é determinada pelos processos certos e qual é a habilidade individual?
O interesse está errado. Provavelmente, o cálculo deve ser realizado da seguinte forma: habilidade determina como sistemas complexos você pode executar, produtividade individual de especialistas - com que rapidez você pode fazê-lo. E maus processos e arquitetura diminuem o trabalho, é um imposto sobre ineficiência. O imposto pode ser qualquer, em princípio, em algumas empresas, até 100% acontece, mas essas organizações geralmente não vivem por muito tempo (se não for "GBU Housing Sviblovo", é claro).
3. Existem situações em que o líder da equipe tem todo o direito de ignorar qualquer processo?
Sempre. Se você entende que o processo está incomodando você, mas não está ajudando, você deve alterá-lo. Por outro lado, isso não significa que você possa tomar essa decisão sozinho: concorde com isso com seus colegas e, se necessário, com seus superiores, para que não aconteça que você esteja trabalhando em um novo processo, e que a equipe e toda a empresa estejam no antigo, e Como resultado, nada funciona.
4. Conte uma história assustadora da sua experiência com a palavra "processo"
Deixe-me escrever melhor sobre o princípio da inversão de processos com alguns exemplos assustadores. Os programadores estão bem cientes do princípio da inversão de dependência e, portanto, o processo tem a mesma coisa.
Você precisa aplicá-lo aproximadamente nos seguintes casos: digamos que você venha ao RH para abrir uma vaga e eles solicitam que você preencha um questionário de 5 páginas sobre quem você procurará. Ou você pede dinheiro por algo obviamente necessário e é solicitado a escrever um memorando.
Esse processo geralmente acaba sendo burocrático, porque escrever um questionário é para você e facilita a vida (ou mesmo não) para os outros. Como resultado, não temos mecanismo para concordar com o que deve estar no questionário - 2 linhas ou 5 páginas.
A aplicação do princípio de inversão de processos aqui é assim: é necessário que uma pessoa explique por que ele precisa abrir uma vaga, e o próprio RH preencheu o questionário ou financiamento - uma nota oficial. Normalmente, nesse caso, acontece que durante todo o dia você não deseja preencher questionários de 5 páginas e escrever memorandos, e o processo imediatamente se torna eficaz, sem consequências. E para o cliente final, o processo se transforma em "escrever uma frase comum coesa em uma ferramenta de bate-papo em funcionamento".
Alexey Kataev deusdeorum , chefe de desenvolvimento de software, SkyEng

1. Com que base os processos são construídos na sua empresa?
Temos 284 repositórios no github: você pode encontrar código em qualquer linguagem de programação. Entre nossas 20 equipes de desenvolvimento, você provavelmente pode até encontrar cascatas. A formação dos processos foi deixada anteriormente para os timlids: o início rápido do projeto e o desenvolvimento da plataforma principal com um histórico de sete anos exigem uma abordagem diferente. Nas reuniões semanais de líderes de equipe, trocamos as melhores práticas e elas se espalharam lentamente por toda a empresa.
Na escala atual, isso não funciona: alguns líderes de equipe não têm experiência, outros não têm tempo. Entropia crescente está começando a trazer problemas. No ano passado, estendi nossas melhores práticas a todas as equipes, equilibrando as vendas e "fazê-lo é definitivamente bom". É mais fácil implementar os processos corretos ao criar uma equipe, é ainda mais fácil quando um líder de equipe sai de uma equipe de sucesso: você não precisa explicar ou vender, ele sabe que funciona.
2. Na sua experiência, qual porcentagem de sucesso da equipe é determinada pelos processos certos e qual é a habilidade individual?
Na minha experiência - 100%. Mesmo que um desenvolvedor solitário escreva código para si mesmo, ele ainda segue o processo, embora simples. Se você reformular a pergunta: "Quanto você pode esquecer a equipe de desenvolvedores legais, alterando processos", minha resposta será "muito forte". É importante começar não com o processo de revisão de código, aumento de salário e feedback, mas com as coisas básicas - planejamento, priorização, comunicação com os negócios. A propósito, muitos desenvolvedores legais sem um processo legal de contratação não aparecerão sozinhos.
3. Existem situações em que o líder da equipe tem todo o direito de ignorar qualquer processo?
Quando surge uma situação imprevista para a qual ninguém está pronto. Lembro-me imediatamente do ILV, que uma vez baniu dezenas de nossas APIs na Amazônia. Esquecemos o Kanban, a configuração correta das tarefas e, no modo de telefonar constantemente, criamos um plano de ação rapidamente. Dentro de um dia, tudo foi restaurado.
4. Conte uma história assustadora da sua experiência com a palavra "processo"
Há uma história assustadora sobre como o supervisor respeitava infinitamente o processo do consumidor que pagava o salário. E ele caiu com um erro, conseguindo enviar uma solicitação ao portão de pagamento. Mas não posso contar a ela em público :)
Alexander Gutman , diretor de tecnologia da JoomPay

1. Com que base os processos são construídos na sua empresa?
Os processos em nossa empresa estão apenas emergindo.
Para o planejamento trimestral, usamos o OKR.
Abaixo, usamos as placas YouTrack e Agile para planejar o desenvolvimento. Nós usamos o Kanban. Não no sentido de "incomodar-se com o número máximo de tarefas em cada estado", mas no sentido de "preguiça de transferir tarefas de sprint para sprint". O antecessor do YouTrack com placas era uma placa no Excel com todas as tarefas e responsável. E funcionou bem também.
2. Na sua experiência, qual porcentagem de sucesso da equipe é determinada pelos processos certos e qual é a habilidade individual?
Parece que a pergunta contém uma suposição de que o sucesso da equipe é determinado exclusivamente pelos processos e habilidades corretos, e o percentual deve totalizar 100.
Mas existem outros fatores importantes: recursos ou, por exemplo, aleatórios. Portanto, responderei: 10% de processos e 10% de habilidade.
Por outro lado, não está muito claro o que chamar de porcentagem de influência de cada fator. Quase todo projeto complexo pode falhar com os processos errados ou com uma completa falta de habilidade individual. Portanto, minha resposta é: 99% de processos e 99% de habilidade.
Por outro lado, se falamos de projetos não triviais e de competição entre equipes, os processos são chatos e todos devem ter alguns processos razoáveis, mas a habilidade individual pode se tornar um diferencial. Portanto, a resposta final: 10% de processos e 20% de habilidade.
3. Existem situações em que o líder da equipe tem todo o direito de ignorar qualquer processo?
Existem situações em que qualquer um pode ignorar qualquer coisa. Em particular, líder de equipe - qualquer processo.
Mas eu não isolaria o líder da equipe assim. Aqui precisamos de algum consenso dentro da equipe: os processos são imperfeitos, as regras não são universais, é preciso ser guiado pelo senso comum.
Digamos que você precise implantar a correção de erros durante o friso, porque é lógico, e não porque o líder da equipe tenha o direito. Mesmo se você não concordou com isso com antecedência e não há regra para este caso.
4. Conte uma história assustadora da sua experiência com a palavra "processo"
Uma vez me pediram para responder à pergunta "Conte uma história assustadora da sua experiência com a palavra" processo "".
Evgeny Paramonov , chefe de desenvolvimento de mixagem de pesquisa, Yandex

1. Com que base os processos são construídos na sua empresa?
Adoramos os princípios do ágil. A equipe constrói todo o nosso trabalho de forma a maximizar o alcance dos objetivos da empresa e o moral da equipe no menor tempo possível.
Como um dos princípios do ágil afirma que “pessoas e interação são mais importantes que processos e ferramentas”, a primeira coisa que fizemos foi corrigir as regras básicas do scrum.
Dentro da equipe, promovemos os seguintes princípios:
- Cada um de nós é lenhador e joalheiro (analista / testador / desenvolvedor)
- Cada um de nós tem pontos fortes (ajude um amigo / fique à vontade para perguntar)
- Cada um de nós determina como será o produto final (cada direção é responsável)
Os desenvolvedores analisam tarefas independentemente, testam-nas e iniciam experimentos ABT. Juntamente com o CI / CD, este é um grupo matador, permite-nos avançar o mais rápido possível, uma vez que todo desenvolvedor é dono de todo o contexto. Por exemplo, já durante o experimento, um novo recurso engenhoso vem à sua mente, ele rapidamente o implementa, rola e conduz outro experimento.
Para cada mês, estabelecemos uma meta que queremos alcançar e verificamos o progresso semanalmente. Isso nos dá flexibilidade. mesmo durante a semana, podemos mudar nossos planos, se isso ajudar a atingir a meta do mês.
Com essa organização do processo, o envolvimento dos gerentes é mínimo e a equipe ganha mobilidade e comprometimento a longo prazo.
2. Na sua experiência, qual porcentagem de sucesso da equipe é determinada pelos processos certos e qual é a habilidade individual?
O tempo avança, o mundo está mudando e nossos processos estão mudando com ele.
O domínio é:
- estabelecer um processo que funcione no resultado;
- decifre o problema nos processos atuais e corrija-o;
- Transmitir às pessoas uma compreensão de por que o processo está estruturado dessa maneira.
Usando minha equipe como exemplo, posso dizer com total confiança que essa proporção é de um para um na área.
Minha equipe lida imediatamente com três áreas globais: pesquisa, aprendizado de máquina e infraestrutura (e, de fato, também trabalho de mercearia).
Nessas áreas, é bastante difícil criar processos com antecedência para todos os cenários possíveis. Muitas vezes, o sucesso é fortemente determinado pela intuição profissional do artista e de seu curador.
3. Existem situações em que o líder da equipe tem todo o direito de ignorar qualquer processo?
Se os processos são construídos com habilidade, isso é improvável. Um processo construído com competência provavelmente se baseia nos erros dos outros.
Mas, como eu disse acima, continuamos avançando e o mundo está mudando; portanto, mais cedo ou mais tarde, haverá uma situação em que o processo terá que ser ignorado ou alterado.
Timlid é responsável pela contribuição de sua equipe para a consecução dos objetivos da empresa, e se ele entende que aqui e agora é necessário agir, e os processos atuais definitivamente não estão prontos para tal situação, ele definitivamente precisa seguir um novo caminho. Com essa escolha, vale a pena notificar sobre suas ações todos aqueles a quem eles possam afetar.
Considere uma situação fictícia:
- o gerente acidentalmente fez alterações no arquivo de configuração e o lançou automaticamente após 15 segundos;
- pesquisa torna-se impossível de usar, 100% dos usuários sofrem;
- O Timlid e o desenvolvedor de plantão chamam o monitoramento e determinam que tudo está ruim, pois os erros são despejados no log e fica claramente claro qual componente foi danificado.
Nesse caso, a instrução é construída o mais mal possível e lê:
- obter um ingresso;
- anexar todas as informações e análises de depuração lá;
- conserte-o através da revisão de código.
Se seguirmos por esse caminho e até supor que o fazemos muito rapidamente, levará pelo menos 5 minutos, cinco minutos de sofrimento para os usuários ao vivo!
Nesta situação, cada segundo é como a morte para nós. Você precisa agir agora. Se for possível reverter essa configuração - role-a. Caso contrário, desative o componente inteiro. Aqui e agora. Anais - mais tarde.
4. Conte uma história assustadora da sua experiência com a palavra "processo"
Uma história terrível com o processo de palavras ocorreu quando éramos jovens e verdes. Ouvimos a palavra ágil - elegante, moderno, juventude. E eles introduziram sprints.
No começo, foi divertido: um novo tipo de planejamento apareceu. Então as tarefas começaram a passar de um sprint para outro. O gerente nos perguntou: "quando?" Nós respondemos: "amanhã". O tempo multiplicou, é claro, por três, mas ainda não nos encaixávamos nos sprints.
Gradualmente, começamos a perder a moralidade. Tarefas empilhadas; o gerente não entendeu o que estava acontecendo; a situação estava se tornando incontrolável. Como resultado, durante algum tempo abandonamos metodologias flexíveis.
A moral desta história é a seguinte: antes de introduzir um novo processo, você precisa entender claramente por que isso é feito e como é melhor do que o estado atual das coisas.
Andrey Plakhov yafinder , chefe da funcionalidade de pesquisa, Yandex

1. Com que base os processos são construídos na sua empresa?
A Yandex é uma empresa muito grande e muito, muito democrática. Qualquer que seja a generalização que escrevo aqui, existe em algum lugar o serviço Yandex.Botinki, que acaba sendo completamente diferente.
Nos lugares que observo, funciona assim. Existe um padrão estrito para processos em larga escala. Está claramente escrito como as metas das unidades são determinadas por seis meses a um ano, como concordamos sobre o que considerar o sucesso e o que é fracasso. Como é estabelecido, alterado e o que a nota do funcionário afeta, como os prêmios e as opções são pagos, como a contratação e a transição entre departamentos etc.
Mas no nível de microgerenciamento quase em toda parte, de acordo com as regras que a equipe viverá, ela se determina. A virada das tarefas, o cronograma e o conteúdo das reuniões de trabalho, algumas paradas lá, sprints, é tudo. Alguém arranja para si um ideal "como em um livro", para algumas equipes pequenas, pelo contrário, anarquia. No entanto, mesmo os anarquistas mais em algum momento percebem que viver "como funciona" não é o ideal. E como as pessoas são inteligentes, elas vêm rapidamente. Aqui, até onde eu sei, não há cachoeiras (embora eu não ateste as equipes envolvidas no ferro).
Eu, como chefe do departamento, exijo um padrão bastante modesto para os processos no meu departamento: deve ser possível a qualquer momento ver quem tem quais tarefas específicas em seu trabalho, quanto tempo elas ficam nesse estado e quem recentemente fechou as tarefas. Para fazer isso, basta usar o quadro Kanban on-line sobre o rastreador de tarefas padrão da empresa (teoricamente, isso não é necessário, mas na prática, como resultado, todas as equipes chegam a esse ponto).
2. Na sua experiência, qual porcentagem de sucesso da equipe é determinada pelos processos certos e qual é a habilidade individual?
Em geral, o mais importante é o sucesso do modelo de negócios. Se a organização não descobriu o que vender, para quem e como, então nem os processos ideais nem os desenvolvedores engenhosos o ajudarão. Portanto, suponha que o negócio esteja funcionando e estamos falando de desenvolvimento a longo prazo, qualidade do produto, diversificação etc.
Então a resposta depende muito do tamanho da equipe. O sucesso de uma equipe de cinco pessoas é quase cem por cento determinado por pessoas. O sucesso de uma empresa de quinhentos ou mais é quase cem por cento determinado pela organização certa. O culto à carga, quando uma pequena startup tenta viver de acordo com as regras inventadas pela IBM, por exemplo, pode ser tão prejudicial quanto o princípio de Peter quando um antigo "elo" se torna um "centurião", mas tenta viver da maneira antiga.
Também é preciso dizer que equipes muito fechadas de várias pessoas são bastante representáveis dentro dos gigantescos gigantes industriais. Infelizmente, esse estado de coisas combina os piores aspectos dos dois mundos, e não o contrário. Um grupo de pessoas fracas não domina nada que seja sensato, mesmo em uma infraestrutura pronta, e o processo errado espalhará a equipe principal, e ninguém notará isso.
3. Existem situações em que o líder da equipe tem todo o direito de ignorar qualquer processo?
Claro que sim, e a palavra "fogo" é muito apropriada aqui. Se:
- situação de contingência
- deteriora-se rapidamente se for deixado ao acaso,
- e pode ser ajudado por uma intervenção rápida e decisiva,
então para o inferno com as regras e "correção"!
O principal é que essas situações não dão prazer ao Timlid, caso contrário corremos o risco de descobrir depois de algum tempo que os incêndios ao seu redor ocorrem com muito mais frequência do que a média da organização. É completamente incompreensível o porquê. Algum tipo de misticismo.
4. Conte uma história assustadora da sua experiência com a palavra "processo"
O processo mais terrível da minha vida que conheci há muito tempo, mesmo antes da Yandex, quando desenvolvia jogos de computador. Mais de cem pessoas trabalharam no primeiro jogo de uma empresa jovem, porém rica e muito ambiciosa, que acabara de se mudar para um novo escritório. Além disso, qualquer desperdício de qualquer quantia de dinheiro deveria ter sido aprovado pelo CEO. Compre 50 servidores? Substitua uma cadeira quebrada por uma nova para um programador? Pedir o almoço na próxima semana? O gerente do escritório ficou sem clipes de papel? Uma e a mesma pessoa decide tudo, pilhas de documentos crescem sobre a mesa. Como você pode imaginar, as interrupções devido a esse "processo" aconteceram mesmo com o papel higiênico. Para imaginar adequadamente o horror do que está acontecendo, vale acrescentar que o diretor geral combinou esse papel com o papel de diretor criativo (como diria a SRO agora) e com o papel do designer-chefe do jogo ...
A próxima reunião, para a qual você ainda pode se registrar , será realizada em 17 de junho de 2019 no escritório de Yandex em Moscou. Será possível fazer perguntas aos palestrantes e compartilhar sua experiência.