Por que você precisa de tantos desenvolvedores?

O artigo destina-se mais a pessoas que não estão diretamente envolvidas no desenvolvimento e se pergunta por que tantas pessoas e tempo são necessários apenas para apoiar um projeto que parece funcionar de forma estável.


Para uma explicação visual, imagine que nosso projeto é um navio. Que já havíamos baixado do estaleiro há algum tempo, e ele nada, encantando nossos olhos com seu perfil elegante e nosso bolso com dobrões de ouro. E tudo parece estar bem, mas por algum motivo ele precisa de um monte de gente apenas para continuar nadando. Mas eu gostaria que eles construíssem novos navios ...



Que problemas temos, desde que o projeto não esteja em desenvolvimento (entre parênteses, haverá uma explicação do aspecto técnico dos problemas). Está escrito não em ordem de prioridade, mas de qualquer maneira:


  1. O navio é lançado e navegando, mas tem pequenos vazamentos. Ou a galera será inundada, a mercadoria cairá ao mar ou o peixe nadará. Parece que isso não é crítico, mas nos rouba lucro constante. (Bugs, nenhum projeto é concluído sem eles. São necessárias pessoas que os governem).
  2. As leis das águas em que nadamos mudam frequentemente. E se você não os ler e não se adaptar a eles, mais cedo ou mais tarde, a partir do próximo cais haverá uma saraivada que imediatamente explodirá nosso navio em pedaços. (Mesmo que sua empresa seja absolutamente legal, a legislação está mudando dinamicamente e são adicionados novos requisitos, que às vezes são tecnicamente difíceis de implementar. E sem a implementação, você pode tirar essas multas que inundam instantaneamente o projeto).
  3. Periodicamente, piratas atacam o navio. Alguns deles estão armados apenas com um golfinho treinado com uma cimitarra, mas se o seu projeto for realmente grande, mais cedo ou mais tarde galés pesadas, armadas com armas reais, virão. Uma nuance separada é que, em tempos de paz, você os coloca com calma, e eles têm a oportunidade de se familiarizar totalmente com suas armas e equipamentos. E eles podem estudar sua sonda separadamente em terra e, com um pouco de sorte, podem explodir remotamente seu barril de pólvora no convés. (Os hackers não dormem, eles podem estudar seu projeto, encontrar vulnerabilidades nele ou em seus componentes e infligir enormes perdas materiais a você. Para se proteger contra essas ameaças, é necessário um trabalho constante e duro de vários especialistas).
  4. Em terra, vários desastres ocorrem com freqüência e a demanda por seus produtos está mudando. Pode acontecer que, quando você chegar ao porto novamente, pessoas que se interessam em jogar joguem tantas mercadorias em você que, devido ao seu peso, o navio simplesmente afundará lentamente no fundo. (Sob a influência de vários fatores, como a mesma “sexta-feira negra”, você pode obter fortes explosões de carga. Se não estiver pronto para isso, você não apenas obterá lucro, mas também perderá sua renda padrão e sofrerá perdas de reputação)).
  5. Parte do equipamento do navio funciona de acordo com o horóscopo que compõe o xamã de bordo. Infelizmente, ele costuma ficar atrás da gola e, nos seus melhores dias, não consegue ver o futuro com mais de um mês de antecedência. E às vezes acontece que, no meio do percurso, você entende que a vela quebrou subitamente e a pólvora ficou úmida. (Os sistemas modernos interagem com um grande número de provedores e serviços externos. E eles geralmente têm seus próprios problemas. Você precisa rastreá-los rapidamente e ter reservas para todos os pontos críticos de falha).
  6. Seremos realistas. O clima é diferente no mar e, às vezes, uma tempestade acontece. Obviamente, você tem um peixe voador especialmente treinado que fica em um aquário de elite na cabine do capitão e é apreciado por poder erguer os olhos antes de uma tempestade - mas, infelizmente, também não é onisciente. (Não importa quantas métricas, devops, painéis e outros monitores você tenha, às vezes algo cai. Nem o gitlab, nem a AWS, nem qualquer solução maravilhosa de nuvem são garantidas por isso. E depois disso, você precisa de pessoas e da capacidade de aumentar rapidamente tudo de volta).
  7. Parece que, como o navio está navegando em uma água, isso significa que ele pode navegar em outra sem nenhum esforço ou mudança. Freqüentemente, o capitão percebe a falácia dessa decisão, percebendo apenas que, em vez de água, o ácido espirra ao mar, e o navegador xinga alto, tentando taxiar entre Scylla e Charybdis. (Frequentemente, pequenas alterações de produtos resultam em tarefas técnicas complexas, cuja escala é subestimada. Por exemplo, você calcula o preço dos produtos em rublos o tempo todo. Você decidiu adicionar um centavo. O que poderia dar errado?)

Estes são apenas alguns exemplos de por que você precisa de uma equipe inteira que parece não estar fazendo nada. Acho que nos comentários você pode adicionar muitas coisas interessantes. Mas até agora consideramos um caso degenerado em que não há desenvolvimento. Mas ele voltará ao mundo real - talvez você tenha construído o cortador mais rápido e seu “Cutty Sark” no momento da partida do estaleiro era a coroa da construção naval. Mas literalmente vários anos se passam, e um barco atômico nada próximo a ele, após o qual a equipe se une unanimemente ao pescoço ao longo da âncora e pula por cima, percebendo que não há nada para pegar aqui. Bem, ou abaixa o barco e entra em um submarino nuclear ...


Então - por que você precisa de uma equipe tão grande que parece estar aparecendo um mês e meio por mês e, na maioria das vezes, aparentemente, está bebendo batidos e xingando em ocasiões inoportunas?


  1. Você tenta equipar seu navio com o equipamento mais recente, mas pequenos problemas irritantes surgem constantemente - os torpedos não são enfiados na boca das armas, não há espaço para turbinas e, por algum motivo, o sonar precisa de eletricidade. A equipe se revolta e leva meses para mudar o design. A revolta é reprimida, as armas são perfuradas, o sonar é acionado pelos marinheiros, que se revezam pedalando em um carro de dínamo. (No setor de supermercados, é muito difícil avaliar a ordem do trabalho necessário para alterar o legado do projeto. Às vezes, o custo desses funcionários pode até exceder os benefícios potenciais. Ou pode ser mais fácil construir um novo navio).
  2. Há uma nuance. Seu navio está constantemente a caminho e você não pode entrar no estaleiro. Portanto, sua quilha não precisa apenas ser alterada - você o faz em movimento e às vezes o navio perde o controle e pousa nos recifes. Para que isso aconteça com menos frequência, você encontrará processos que tornam essas mudanças menos dolorosas - por exemplo, coloque a quilha antiga e a nova. Ou mude em pedaços. Mas tudo isso também vale os recursos. (Quando o projeto já está em produção, qualquer alteração pode interromper o que você desejar. Existem muitas práticas que o ajudam a evitar isso, mas todas também custam tempo e recursos).
  3. A prática mostra que às vezes os navios se multiplicam. E enquanto eles são vivíparos. Às vezes, é difícil perceber como outro navio aparece e amadurece lentamente no porão. No futuro, isso é ótimo, pois permitirá expandir a frota e obter ainda mais dobrões. Mas se você ainda não descobriu como fazer a cesárea a tempo, o feto pode exagerar e rasgar o interior da nave-mãe para o inferno, enquanto também morre. (Muitas vezes, outras pessoas desenvolvem-se dentro do mesmo projeto, e se você não pensa na arquitetura e nas formas de separação no tempo, isso é repleto de problemas sérios. E se você pensar sobre isso, é um desperdício de tempo e recursos).
  4. Quando várias pessoas fazem algo no navio ao mesmo tempo, elas jogam um cotovelo no ouvido, jogam acidentalmente um novo equipamento na água e argumentam pelo comprimento das unhas. Obviamente, tudo isso está resolvido - mas a resolução de conflitos e visões diferentes também leva tempo (o tamanho da equipe tem uma sobrecarga de interação).
  5. Você decidiu mudar o tapete no convés. E debaixo do tapete, as tábuas estão podres. E tábuas em um piso enferrujado. E não há piso novo do mesmo tamanho. E o que é - não cabe nos quadros em tamanho. Para mudar os quadros, você precisa de um traje de mergulho e de 30 pessoas que bombeiem a água. E no processo, um kraken emerge da escuridão das profundezas. (Muitas vezes, um bug puxa outro, e parece que uma pequena tarefa assume proporções verdadeiramente cósmicas).
  6. Para substituir a bóia salva-vidas, você precisa alterar a forma nasal. Caso contrário, o volante cairá. (Todos os componentes estão interconectados e dão origem a uma sinergia desconhecida, cujas conseqüências também precisam ser combatidas).
  7. Se um marinheiro que conheceu todas as expressões faciais de um peixe cartomante desapareceu de repente do navio, você pode ficar sem aviso sobre tempestades por um longo tempo. Há duas maneiras de sair - amarre esse marinheiro em correntes ou ensine todos os membros da equipe a entender a expressão de um peixe. (Fator de barramento. A perda de um desenvolvedor crítico pode complicar e retardar bastante o processo de desenvolvimento).

Você pode listar por um longo tempo, mas tenho medo de ficar entediado - espero que a idéia principal tenha sido transmitida e que pontos adicionais possam ser adicionados nos comentários. Tenha um bom mergulho!

Source: https://habr.com/ru/post/pt480748/


All Articles