Indicação de artigo: Você tem que escolher entre Software “no prazo” ou Software de qualidade — Olivia Mattiazzo
Pular para o conteúdo
Menu
Olivia Mattiazzo
desenvolvedora de software 👩‍💻 | escritora amadora profissional 📔
Pesquisar por:
Menu principal
Início
Sobre
Buscar
Pesquisar por:
Indicação de artigo: Você tem que escolher entre Software “no prazo” ou Software de qualidade
Posted on 6 de dezembro de 2019 8 de julho de 2020 Autor: oliviamattiazzoDeixe um comentário
Eu uso um aplicativo chamado Pocket para salvar artigos, tutoriais e notícias que eu gostaria muito de ler, mas não posso fazê-lo naquele momento. E coloquei como um dos meus objetivos “zerar” a lista que lá se encontra. Tem muitos artigos de opinião sobre vários assuntos do meu interesse, dentre eles desenvolvimento de software, dicas sobre como melhorar soft skills, etc, etc. Pretendo postar aqui os artigos que foram relevantes e de fato agregaram algum conhecimento à minha pessoa.
O artigo de hoje tem o seguinte título:
You have to choose between Software Delivered on Time and Good Software
Confesso que, já no título, me apaixonei, apesar de ser extremamente clickbait.
O autor fala de sua própria experiência, mas acredito que todos os desenvolvedores com algum tempo de carreira já sabem do que ele vai falar. Existem dois cenários no mundo do desenvolvimento: você faz as coisas da maneira correta e com cuidado e ultrapassa o prazo que lhe foi estimado.
1- Você faz as coisas da maneira correta e com cuidado e ultrapassa o prazo que lhe foi estimado.
2- Você entrega no prazo, porém ou o escopo foi reduzido, ou a dívida técnica do projeto está enorme.
Mas a grande questão é: por que isso acontece? Por que é tão difícil conciliar qualidade de software e prazos (na maioria das vezes, arbitrários e enviado por algum superior)?
O autor cita três razões, e eu concordo 100% com ele.
Primeira razão: Criatividade
Desenvolvimento de software, apesar de ser uma ciência exata, é um trabalho criativo. Existem, como todo trabalho, as tarefas repetitivas e triviais (que tendem a ser automatizadas). Porém estamos sempre criando alguma coisa nova. Inclusive, quando um desenvolvedor não tem certa liberdade criativa no projeto em que está, o sentimento que fica nele é: “por que diabos eles precisam de mim, se tudo já está definido?”
O problema é: liberdade criativa demanda mais tentativas e, consequentemente, erros para alcançar a solução de um problema. O processo de desenvolver software é um constante ciclo de ajustes: você não tem a solução definida de antemão; você a aprende enquanto desenvolve, e de forma iterativa vai testando coisas novas enquanto mantém as que funcionam. Dessa forma, você refina a sua solução até que esteja satisfeito com ela.
E quanto tempo isso leva? Possivelmente bem mais do que você pensou no início. E esse é o ponto: processo criativo não casa com estimativas.
Segunda razão: Artesanato
A palavra pode parecer esquisita, eu sei, mas o conceito de artesão de software estão muito em voga: é alguém que não só constrói algo que funciona, mas também o faz da melhor maneira possível; qualidade é a palavra que te define, em vez de quantidade.
Artesanato é sobre se importar: se importar com um bom trabalho, com quem vai dar manutenção no seu código futuramente, com quem vai consumir seu software, com seus colegas… Significa que você não é um babaca.
E é difícil se concentrar e prezar pela qualidade em um mundo que tem sempre um prazo muito curto.
Muito cuidado, devemos ter.
Terceira razão: Imprevisibilidade
Projetos de software são sistemas complexos: são feitos por humanos e afetados por interações interpessoais, motivação, problemas de comunicação e psicologia humana, em geral. E não é possível quantificar isso em uma planilha. A única certeza que se tem é a incerteza.
Em um ótimo cenário, os prazos são definidos após estimativas cuidadosas e detalhadas por parte de todos os integrantes de uma equipe ou time. Mesmo assim, projetos atrasam. Imagine em cenários em que o prazo vem de cima para baixo sem a possibilidade de negociação? Um dos dois está fadado ao fracasso: a qualidade do software ou o prazo acordado pelas pessoas “de cima”.
Há uma saída?
De acordo com o autor, uma boa estratégia para equilibrar essa equação é uma ponte entre o mundo da planilha e o mundo da IDE: um Gerente Engenheiro. Ou seja, uma pessoa que conseguiria enxergar os dois lados e ser flexível entre eles. Além disso, uma relação de confiança entre esses dois mundo também se faz extremamente necessária. Afinal de contas, todos os envolvidos em um projeto de software tem o mesmo objetivo: entregar um sistema de boa qualidade da maneira mais rápida possível.
E o recado dele para nós, desenvolvedores, que eu aqui ouso reafirmar é: se você sente que seu superior ou a organização em que você trabalha não está focada em construir softwares bons, você deveria se levantar e tentar fazer essa mudança. Se isso falhar… bem, procure outro lugar para trabalhar assim que possível.
Categorias: 👩‍💻 Desenvolvimento de softwareTags: artigo, criatividade, desenvolvimento de software, qualidade de software, prazos
Navegação de Post
Próximo → Próximo post: Razor 101
Deixe um comentário Cancelar resposta
O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *
Comentário *
Nome *
E-mail *
Site
Salvar meus dados neste navegador para a próxima vez que eu comentar.
Δ
Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.
Redes sociais
GitHub
LinkedIn
Mail
Twitter
Categorias
💁‍♀️ Além do código
📋 Compilados
⏩ Deploy, containers e afins
👩‍💻 Desenvolvimento de software
🎇 Dicas e truques
🔁 Et Cetera
✅ Testes automatizados
Tags
Tags
20202021artigoscentralizarconteúdo embedguidesinstagrammusicmysqlnetflixnodejsorientação à objetopodcastsprimeiros passosrecommendationsretrospectivated talkstutoriaistutorialstv shows