Cantos programadores son necesarios para manter o código escrito previamente?

Hai tempo tivo lugar unha conversa entre min e un bo amigo meu na que se escoitaron as seguintes frases:

— O número de programadores crecerá constantemente, porque a cantidade de código está crecendo, e cada vez máis desenvolvedores necesitan apoialo.
— Pero o código está quedando vello, algúns xa non son compatibles. Mesmo é posible que haxa algún tipo de equilibrio.

Recordándoos uns días despois, pregunteime se manter o código, que requiría cada vez máis recursos ao longo do tempo, podería paralizar o desenvolvemento de novas funcionalidades ou sería necesario un aumento ilimitado do número de programadores? A análise matemática e as ecuacións diferenciais axudaron a avaliar cualitativamente a dependencia da cantidade de apoio no desenvolvemento e a atopar respostas ás preguntas.

Pregunta un. Pode soportar "comer" todos os recursos de desenvolvemento?

Considere un equipo de programadores no que o número de participantes é constante. Reparto do seu tempo de traballo Cantos programadores son necesarios para manter o código escrito previamente? (Cantos programadores son necesarios para manter o código escrito previamente?) gástase no desenvolvemento de código novo e a parte restante do tempo Cantos programadores son necesarios para manter o código escrito previamente? vai apoiar. Dentro dos supostos do modelo, asumimos que o primeiro tipo de actividade vai dirixido a aumentar o volume de código, e o segundo está dirixido a cambialo (corrixir erros) e non ten un impacto significativo no volume de código.

Denotemos Cantos programadores son necesarios para manter o código escrito previamente? toda a cantidade de código escrito ata ese momento Cantos programadores son necesarios para manter o código escrito previamente?. Asumindo que a velocidade de escritura do código é proporcional Cantos programadores son necesarios para manter o código escrito previamente?, obtemos:

Cantos programadores son necesarios para manter o código escrito previamente?

É natural asumir que os custos laborais para manter o código son proporcionais ao seu volume:

Cantos programadores son necesarios para manter o código escrito previamente?

ou

Cantos programadores son necesarios para manter o código escrito previamente?

donde

Cantos programadores son necesarios para manter o código escrito previamente?

Obtemos unha ecuación diferencial que se pode integrar facilmente. Se no momento inicial a cantidade de código é cero, entón

Cantos programadores son necesarios para manter o código escrito previamente?

En Cantos programadores son necesarios para manter o código escrito previamente? función Cantos programadores son necesarios para manter o código escrito previamente?E Cantos programadores son necesarios para manter o código escrito previamente?. E isto supón unha redución gradual no tempo no desenvolvemento de novas funcionalidades a cero e a transferencia de todos os recursos ao soporte.

Non obstante, se durante o tempo Cantos programadores son necesarios para manter o código escrito previamente? o código queda obsoleto e deixa de ser compatible, entón a cantidade de código que require soporte á vez Cantos programadores son necesarios para manter o código escrito previamente? xa é igual Cantos programadores son necesarios para manter o código escrito previamente? Entón

Cantos programadores son necesarios para manter o código escrito previamente?

Cantos programadores son necesarios para manter o código escrito previamente?

а Cantos programadores son necesarios para manter o código escrito previamente? é unha solución dunha ecuación diferencial cun argumento retardado [1]:

Cantos programadores son necesarios para manter o código escrito previamente?

A solución a tal ecuación determínase de forma única especificando os valores Cantos programadores son necesarios para manter o código escrito previamente? "antes do comezo dos tempos" Cantos programadores son necesarios para manter o código escrito previamente?. Xa que o código aínda non fora escrito antes do momento inicial, no noso caso Cantos programadores son necesarios para manter o código escrito previamente? en Cantos programadores son necesarios para manter o código escrito previamente?.

Vexamos algúns exemplos. Mediremos o tempo en anos e a cantidade de código en miles de liñas. Despois para Cantos programadores son necesarios para manter o código escrito previamente? valores da orde das decenas son aceptables, tomaremos 50 e 100. É dicir, nun ano o equipo de desenvolvemento escribirá cincuenta e cen mil liñas de código, respectivamente. Para Cantos programadores son necesarios para manter o código escrito previamente? Os valores aceptables poden ser: Cantos programadores son necesarios para manter o código escrito previamente?, Cantos programadores son necesarios para manter o código escrito previamente?, Cantos programadores son necesarios para manter o código escrito previamente?. Isto significa que un equipo de desenvolvemento pode soportar a cantidade de código que escribe nun ano, xa sexa un cuarto, a metade ou a tempo completo. Como duración media do código, estableceremos os seguintes valores: 1, 2 e 4 anos. Resolvendo a ecuación numericamente, obtemos exemplos do comportamento da función Cantos programadores son necesarios para manter o código escrito previamente? para algunhas combinacións de parámetros Cantos programadores son necesarios para manter o código escrito previamente?.
Cantos programadores son necesarios para manter o código escrito previamente?
Comportamento da función Cantos programadores son necesarios para manter o código escrito previamente? a medida que o código envellece, cambiou. A función xa non é monótona, pero as flutuacións "calmanse" co paso do tempo, e hai unha tendencia a Cantos programadores son necesarios para manter o código escrito previamente? a algún valor constante. Os gráficos mostran: canto máis Cantos programadores son necesarios para manter o código escrito previamente?, Cantos programadores son necesarios para manter o código escrito previamente? и Cantos programadores son necesarios para manter o código escrito previamente?, é dicir, canto máis lento o código envellece, máis rápido será o desenvolvemento do novo código e canto menor sexa a calidade do código, menos recursos quedarán para o desenvolvemento de novas funcionalidades. Houbo o desexo de poñer polo menos un exemplo no que Cantos programadores son necesarios para manter o código escrito previamente? "acurrucado" preto de cero. Pero isto requiriu a selección de indicadores de calidade de desenvolvemento moi pobres e código que non envellece durante moito tempo. Incluso no gráfico inferior esquerdo, queda unha cantidade significativa de recursos para a nova funcionalidade. Polo tanto, a resposta correcta á primeira pregunta é máis ben esta: teoricamente - si, é posible; practicamente - case.

Preguntas que non se puideron responder:

  1. É certo que? Cantos programadores son necesarios para manter o código escrito previamente? tende a algún límite en Cantos programadores son necesarios para manter o código escrito previamente? para todos Cantos programadores son necesarios para manter o código escrito previamente?? Se non é para todos, entón para cales?
  2. Se existe un límite, de como depende o seu valor Cantos programadores son necesarios para manter o código escrito previamente??

Pregunta dúas. Podería o mantemento do código provocar un crecemento ilimitado no número de programadores?

Denotemos Cantos programadores son necesarios para manter o código escrito previamente? o número de programadores implicados no desenvolvemento de novo código. Como anteriormente, Cantos programadores son necesarios para manter o código escrito previamente? — a cantidade de código escrito ata un momento determinado Cantos programadores son necesarios para manter o código escrito previamente?. Entón

Cantos programadores son necesarios para manter o código escrito previamente?

Mantén ocupado o soporte de código Cantos programadores son necesarios para manter o código escrito previamente? programadores. Tendo en conta o código de envellecemento,

Cantos programadores son necesarios para manter o código escrito previamente?

donde

Cantos programadores son necesarios para manter o código escrito previamente?

Se Cantos programadores son necesarios para manter o código escrito previamente?, Entón

Cantos programadores son necesarios para manter o código escrito previamente?

Así, a resposta á segunda pregunta é negativa: se o número de desenvolvedores do novo código é limitado, en condicións de envellecemento do código, o soporte non pode provocar un aumento ilimitado do número de programadores.

Conclusión

Os modelos considerados son modelos matemáticos “soft” [2]. Son moi sinxelos. Non obstante, a dependencia dos resultados da simulación dos valores dos parámetros corresponde ao que se espera para os sistemas reais, isto fala a favor da adecuación dos modelos e da suficiente precisión para obter estimacións de alta calidade.

Referencias

1. Elsgolts L.E., Norkin S.B. Introdución á teoría de ecuacións diferenciais con argumento desviado. Moscova. Editorial "Ciencia". 1971.
2. Arnold V.I. Modelos matemáticos “duros” e “suaves”. Moscova. Editorial MCNMO. 2004.

Fonte: www.habr.com

Engadir un comentario