Quantos programadores são necessários para manter o código previamente escrito?

Há algum tempo, ocorreu uma conversa entre mim e um grande amigo meu, na qual foram ouvidas as seguintes frases:

— O número de programadores crescerá constantemente - porque a quantidade de código está crescendo e cada vez mais desenvolvedores são constantemente solicitados a apoiá-lo.
— Mas o código está ficando antigo, parte dele não é mais compatível. É até possível que exista algum tipo de equilíbrio.

Lembrando-me deles alguns dias depois, me perguntei se a manutenção do código, exigindo cada vez mais recursos ao longo do tempo, poderia, em última análise, paralisar o desenvolvimento de novas funcionalidades ou exigiria um aumento ilimitado no número de programadores? A análise matemática e as equações diferenciais ajudaram a avaliar qualitativamente a dependência do montante do apoio ao desenvolvimento e a encontrar respostas às questões.

Pergunta um. O apoio pode “consumir” todos os recursos de desenvolvimento?

Considere uma equipe de programadores em que o número de participantes é constante. Partilha do seu tempo de trabalho Quantos programadores são necessários para manter o código previamente escrito? (Quantos programadores são necessários para manter o código previamente escrito?) é gasto no desenvolvimento de novo código, e o restante do tempo Quantos programadores são necessários para manter o código previamente escrito? vai para o suporte. Dentro dos pressupostos do modelo, assumimos que o primeiro tipo de atividade visa aumentar o volume de código, e o segundo visa alterá-lo (corrigir erros) e não tem impacto significativo no volume de código.

Vamos denotar Quantos programadores são necessários para manter o código previamente escrito? toda a quantidade de código escrito até aquele momento Quantos programadores são necessários para manter o código previamente escrito?. Supondo que a velocidade de escrita do código seja proporcional Quantos programadores são necessários para manter o código previamente escrito?, Nós temos:

Quantos programadores são necessários para manter o código previamente escrito?

É natural supor que os custos trabalhistas para manutenção do código sejam proporcionais ao seu volume:

Quantos programadores são necessários para manter o código previamente escrito?

ou

Quantos programadores são necessários para manter o código previamente escrito?

De onde

Quantos programadores são necessários para manter o código previamente escrito?

Obtemos uma equação diferencial que pode ser facilmente integrada. Se no momento inicial a quantidade de código for zero, então

Quantos programadores são necessários para manter o código previamente escrito?

em Quantos programadores são necessários para manter o código previamente escrito? funcionar Quantos programadores são necessários para manter o código previamente escrito?E Quantos programadores são necessários para manter o código previamente escrito?. E isso significa uma redução gradual ao longo do tempo no desenvolvimento de novas funcionalidades a zero e a transferência de todos os recursos para suporte.

Contudo, se durante o tempo Quantos programadores são necessários para manter o código previamente escrito? o código se torna obsoleto e deixa de ser suportado, então a quantidade de código que requer suporte por vez Quantos programadores são necessários para manter o código previamente escrito? já é igual Quantos programadores são necessários para manter o código previamente escrito? Depois

Quantos programadores são necessários para manter o código previamente escrito?

Quantos programadores são necessários para manter o código previamente escrito?

а Quantos programadores são necessários para manter o código previamente escrito? é uma solução para uma equação diferencial com um argumento retardado [1]:

Quantos programadores são necessários para manter o código previamente escrito?

A solução para tal equação é determinada exclusivamente pela especificação dos valores Quantos programadores são necessários para manter o código previamente escrito? "antes do início dos tempos" Quantos programadores são necessários para manter o código previamente escrito?. Como o código ainda não havia sido escrito antes do momento inicial, no nosso caso Quantos programadores são necessários para manter o código previamente escrito? em Quantos programadores são necessários para manter o código previamente escrito?.

Vejamos alguns exemplos. Mediremos o tempo em anos e a quantidade de código em milhares de linhas. Então para Quantos programadores são necessários para manter o código previamente escrito? valores da ordem das dezenas são aceitáveis, tomaremos 50 e 100. Ou seja, em um ano a equipe de desenvolvimento escreverá cinquenta e cem mil linhas de código, respectivamente. Para Quantos programadores são necessários para manter o código previamente escrito? valores aceitáveis ​​podem ser: Quantos programadores são necessários para manter o código previamente escrito?, Quantos programadores são necessários para manter o código previamente escrito?, Quantos programadores são necessários para manter o código previamente escrito?. Isso significa que uma equipe de desenvolvimento pode suportar a quantidade de código que escreve em um ano, seja um trimestre, meio ou período integral. Como vida útil média do código, definiremos os seguintes valores: 1, 2 e 4 anos. Resolvendo a equação numericamente, obtemos exemplos do comportamento da função Quantos programadores são necessários para manter o código previamente escrito? para algumas combinações de parâmetros Quantos programadores são necessários para manter o código previamente escrito?.
Quantos programadores são necessários para manter o código previamente escrito?
Comportamento da função Quantos programadores são necessários para manter o código previamente escrito? à medida que o código envelhece, ele mudou. A função deixa de ser monótona, mas as flutuações “se acalmam” com o tempo, e há uma tendência a Quantos programadores são necessários para manter o código previamente escrito? para algum valor constante. Os gráficos mostram: quanto mais Quantos programadores são necessários para manter o código previamente escrito?, Quantos programadores são necessários para manter o código previamente escrito? и Quantos programadores são necessários para manter o código previamente escrito?, ou seja, quanto mais lento o código envelhecer, mais rápido será o desenvolvimento de novo código e quanto menor for a qualidade do código, menos recursos sobrarão para o desenvolvimento de novas funcionalidades. Houve o desejo de dar pelo menos um exemplo em que Quantos programadores são necessários para manter o código previamente escrito? “aconchegado” perto de zero. Mas isto exigiu a selecção de indicadores de qualidade de desenvolvimento muito fracos e de códigos que não envelhecem durante muito tempo. Mesmo no gráfico inferior esquerdo, resta uma quantidade significativa de recursos para a nova funcionalidade. Portanto, a resposta correta à primeira pergunta é esta: teoricamente - sim, é possível; praticamente - dificilmente.

Perguntas que não puderam ser respondidas:

  1. É verdade que Quantos programadores são necessários para manter o código previamente escrito? tende a algum limite em Quantos programadores são necessários para manter o código previamente escrito? para todos Quantos programadores são necessários para manter o código previamente escrito?? Se não para todos, então para quais?
  2. Se existe um limite, como seu valor depende de Quantos programadores são necessários para manter o código previamente escrito??

Pergunta dois. A manutenção do código poderia causar um crescimento ilimitado no número de programadores?

Vamos denotar Quantos programadores são necessários para manter o código previamente escrito? o número de programadores envolvidos no desenvolvimento de novo código. Como acima, Quantos programadores são necessários para manter o código previamente escrito? — a quantidade de código escrito até um determinado momento Quantos programadores são necessários para manter o código previamente escrito?. em seguida

Quantos programadores são necessários para manter o código previamente escrito?

Mantenha o suporte de código ocupado Quantos programadores são necessários para manter o código previamente escrito? programadores. Tendo em conta o código de envelhecimento,

Quantos programadores são necessários para manter o código previamente escrito?

De onde

Quantos programadores são necessários para manter o código previamente escrito?

Se Quantos programadores são necessários para manter o código previamente escrito?em seguida

Quantos programadores são necessários para manter o código previamente escrito?

Assim, a resposta à segunda questão é negativa: se o número de desenvolvedores de novo código for limitado, então, em condições de código antigo, o suporte não pode causar um aumento ilimitado no número de programadores.

Conclusão

Os modelos considerados são modelos matemáticos “soft” [2]. Eles são muito simples. No entanto, a dependência dos resultados da simulação dos valores dos parâmetros corresponde ao esperado para sistemas reais, o que fala a favor da adequação dos modelos e precisão suficiente para obter estimativas de alta qualidade.

Referências

1. Elsgolts LE, Norkin SB. Introdução à teoria das equações diferenciais com argumentos divergentes. Moscou. Editora "Ciência". 1971.
2. Arnaldo V.I. Modelos matemáticos “hard” e “soft”. Moscou. Editora MCNMO. 2004.

Fonte: habr.com

Adicionar um comentário