O caminho para o Sucesso – com Equipes de Desenvolvimento de Software
Existem aspectos que considero aspectos chave para chegar ao sucesso com equipes de desenvolvimento de software:
- Cultura de confiança e incentivo à comunicação
- Pessoas capacitadas e motivadas
- Sprints de 2 semanas, com reuniões de alinhamento
- Ferramentas adequadas para trabalho, controle e métrica
Não se constrói um prédio, com um pedreiro só…
Full Stack é um nome que inventaram pra contratar só você e te ver bater no peito fazendo tudo sozinho. Sim, já fui um time de uma pessoa. É por isso que tenho minha própria opinião formada sobre Sucesso com Equipes de Desenvolvimento de Software.
Já tive chefes e clientes que vivem frustrados, mas não por maldade. Um prazo inicial é estabelecido (ex: 45 dias úteis) compreendendo os requisitos iniciais, e ao passar dos dias, são adicionadas alterações na composição inicial e novos requisitos. Chefes e clientes são assim por não ter a noção da força de trabalho e tempo, restrições e variáveis para as entregas a cada simples mudança da composição inicial.
E não é difícil encontrar empresas com setores minúsculos voltados para a manutenção tecnológica, dedicando muitas vezes menos de 10% de seu investimento para os funcionários internos da T.I. e terceirizando seus sistemas de gestão.
Dono do Produto reclama de atraso desde o primeiro dia?
Ser flexível e permitir todo tipo de mudança pode causar uma boa impressão, mas deixa o cliente mal acostumado, com a sensação de que o projeto estará sempre atrasado. As perspectivas mudam e ambos, tanto chefe quanto cliente, continuam exigindo atualizações em espaços de tempo para um desenvolvedor, que nem uma equipe daria conta, quanto mais o único desenvolvedor o qual contrataram, criando um ambiente totalmente contraproducente e tóxico
Portanto, para evitar o sentimento de atraso permanente, pense muito bem ao acatar solicitações logo após a confirmação dos requisitos. Defina uma data realista e segura para entrega do escopo inicial completo. Daí sim, após esse prazo, permita novas solicitações.
Dilemas e complicadores na prática
- Usar um framework popular ou criar um novo
- Decidir entre criar um componente novo ou utilizar um plugin
- Criar código bem arquitetado para facilitar a manutenção e reutilização, ou apenas um paleativo
- Codificar em tudo em inglês ou na língua nativa
- Ter que resolver erros e contornar problemas ainda sem solução conhecida
- Configurar e manter um fluxo consistente de teste e deploy
- Melhores práticas arquiteturais ou solução isolada?
- Questão de gosto pessoal: perfeito pra daqui um ano, ou razoável pra daqui um mês?
Git e Integração contínua
É impossível gerenciar mudanças no software com times de 5, 10, 50 desenvolvedores sem que haja uma estrutura de repositório e versionamento confiáveis. É necessário utilizar plataformas consolidadas tais Git com Travis CI pra que o fluxo das entregas ocorra com controle adequado.
O dilema dos componentes prontos
É necessário capturar a perspectiva realista do profissional atuando naquela funcionalidade e distribuir tarefas em sprints. O profissional irá analisar quais componentes já existem disponíveis internamente ou no mercado e analisar sua aplicação no projeto a ser executado. Observe ainda que os componentes prontos, em sua maioria, priorizam a adaptação, em detrimento do desempenho.
Um aspecto negativo de componentes prontos pode ser o seu peso. Ao utilizar um componente pronto do composer ou npm, por exemplo. Ou até mesmo a simples utilização do Bootstrap, tende a superfaturar o custo para carregamento de uma página. Isso quer dizer que, em prol de uma performance superior, é necessário criar componentes próprios, apenas com os scripts essenciais para entrega da funcionalidade. Além dessa preocupação na criação, é preciso auditar constantemente e observar as métricas com uma ferramenta como Lighthouse, no navegador.
Confie nos seus veteranos
Ter um time experiente é a chave. A partir da perspectiva de um desenvolvedor veterano, por exemplo, é possível saber o que se passa nas trincheiras da rotina de desenvolvimento e obter informações reais sobre o que realmente funciona e o que só faz sentido na teoria, enquanto na prática, sem eficácia. Veteranos possuem vivência prática, conhecem diferentes lideranças e conhecem diferentes formas de lidar com problemas. O profissional veterano já lidou com o sucesso e o fracasso.
Mas nem tudo são flores… Não adianta ter dez anos de experiência, se são dez anos cometendo os mesmos erros, por ter aprendido errado. Trabalhar com T.I. é ter paixão pelo estudo constante, perceber as tendências e receber a mudança de braços abertos.
Quer saber mais sobre como funciona? Fale com um desenvolvedor agora mesmo!O conteudo foi útil? Isso é fantástico. Quer incentivar mais posts como esse? Mostre seu apoio com qualquer valor.
Chave PIX: d0311e58-cb6e-4d47-b3d8-3d4254763ce7
[…] Leia mais sobre O Sucesso com Equipes de Desenvolvimento de Software […]