Certa vez, o capataz discutiu com um cliente em potencial a reforma de uma pequena casa. O dono da casa estava preocupado com a inclinação das paredes. A casa foi construída de tijolos, as paredes de tijolos apenas ficavam no chão. Suportes de madeira foram reforçados em todo o perímetro da casa, mas as paredes ainda estavam tentando desabar.
- Sua casa está em mau estado, é preciso reconstruí-la - disse o capataz. - Vamos esticar o cabo de força para alimentar o equipamento, cavar uma fossa, fazer a drenagem, encher a fundação ... - Não, não! - interrompeu-o o dono da casa, - não preciso de cova, preciso de paredes! Casa! - Nesse caso, talvez você pense em comprar uma casa modular? - sugeriu o capataz.
Falei com uma startup no mês passado. Ele tem um serviço da web em funcionamento que diferentes pessoas vêm escrevendo há vários anos, e agora a gerência está pensando no que fazer com ele. Os fundadores me contaram sobre o desejo de contratar uma equipe de dez desenvolvedores para reescrever ou modernizar o aplicativo. Perguntei a eles sobre a história do usuário, a documentação, o rastreador de problemas e eles responderam que não os tinham. Eles pediram uma lista do que sugiro que façam e eu escrevi o seguinte:
Liste os principais parâmetros que afetam as vendas: SLA, funcionalidade, qualquer coisa para vincular as tarefas virtuais ao mundo real.
Defina contextos DDD e crie documentação de alto nível para discutir a arquitetura e ajudar novos desenvolvedores a se familiarizarem com o projeto.
Identifique os gargalos do sistema que estão causando problemas de escala e disponibilidade.
Combine as metas de médio prazo da equipe de TI com a alta administração.
Crie um fluxo de trabalho com base em ferramentas de interação de equipe, como um quadro, rastreador, mensageiro, repositório.
Organizar o processo de contratação e adesão ao projeto de novos desenvolvedores.
Estabeleça sistemas de monitoramento e backup.
Faça uma decomposição das tarefas de médio prazo em etapas e escreva um cronograma.
Faça CI / CD.
Escreva um plano de mudança de arquitetura.
Priorize tarefas no backlog.
IT- .
? - . « ".
, , . . , , .
.
, : , , , , , . , , - , IT- - , . . , , - . - , . . , , , . Oracle. : , , — , , , , , , , . , -, , . Oracle corp, .
- - . , . , - . , .
- , . .
- , IT-. - , , , , .
, , , , , code review, , - . SLA - , .
. . , , . . . - , , , . . , , . , - .
, , - , MVP. , . , , . - , .
, , . - , .
(CI/CD) . , , . CI/CD - . , . . git. CI/CD - , , QA , , , . , . , , .
- , , . . . . , . , .
-, . SCRUM planning-. . - . , . , , .
, , , , , - . .
, -? , " Wordpress, 38% - ». . SAAS, outsource. , IT. , , . , , , -, , , , , .
E se você apenas escrever código sem planos, testes, rastreadores - basta ligar e discutir ao longo do caminho? Talvez os desenvolvedores entendam o problema corretamente e escrevam a solução correta, ou talvez tenham que mudar de desenvolvedor várias vezes e reescrever o aplicativo várias vezes. A diferença está na previsibilidade do resultado.