Índice:
A sua organização de desenvolvimento de software está funcionando como deveria? Sempre há espaço para melhorias, mas algumas organizações precisam mais de ajuda do que outras. Onde quer que você esteja no continuum, é importante identificar onde você precisa ir e como chegar lá, porque as organizações precisam de uma visão clara para ajudar todos a caminhar na mesma direção. Devemos avaliar nossos processos, tecnologia, linha de produtos, documentação, cultura e nosso próprio pessoal. Mas, contra o que os avaliamos? Como medimos nosso progresso? Acredito que existam três parâmetros-chave para avaliar uma equipe ou organização e, se mantivermos essas coisas em foco, a produtividade disparará.
- Qualidade
- Eficiência
- Saldo
Vamos examinar cada um de perto.
Qualidade
como melhorar o negócio
Pixabay
A qualidade é crítica para todas as organizações. Esta palavra se aplica a tudo o que fazemos, não apenas a quantos defeitos conhecidos temos em nosso software. Imagine o que você pode fazer com 40 horas de alta qualidade - talvez você não precise pedir emprestado à noite e nos fins de semana para se atualizar. Se você escrever um teste automatizado, faça um bom teste que agregue valor; caso contrário, por que se preocupar?
A colaboração é a chave para produzir um produto de qualidade porque nossos colegas verão coisas que nós não vemos. Se algo precisa ser bem feito, especialmente se for voltado para o cliente, é aconselhável permitir que outros olhos observem. Quando os escritores querem saber se seus artigos são de alta qualidade, eles pedem críticas porque entendem que há força nos números. Quer sejam revisões de código, programação em pares ou simplesmente "Ei, você pode dar uma olhada nisso?", Aproveitar os pares de olhos adicionais ao nosso redor nos ajudará a nos manter nos trilhos.
Ao tentar melhorar a qualidade do software, acredito que o mais importante são os testes automatizados. Os casos de teste manuais são mais baratos de criar do que os casos de teste automatizados. No entanto, os testes manuais são muito mais caros de executar, especialmente se você tiver que fazer várias passagens para testar tudo em vários navegadores, sistemas operacionais e tipos de dispositivos. Os desenvolvedores devem fazer testes significativos com Karma, Spock ou JUnit, mas também deve haver testes funcionais com algo como Selenium, SOASTA ou Cucumber. O que você realmente quer com tudo isso é a detecção precoce de defeitos, porque quanto mais longe você avança quando o desenvolvedor escreveu o código, mais trabalho é necessário para resolver um problema. É muito mais fácil resolver um defeito no código que escrevi ontem do que no código que escrevi de 3 a 6 semanas atrás.
Eficiência
Melhoria do Processo de Negócios
Pixabay
Focar na eficiência ajuda a otimizar sua organização e minimizar a quantidade de esforço necessária para realizar cada tarefa. Os processos repetíveis que se tornaram uma segunda natureza exigem muito menos esforço. A automação também desempenha um papel importante na eficiência, porque você deseja que os funcionários se concentrem em fazer tarefas que não sejam repetitivas e que exijam capacidade intelectual (escrever, codificar, projetar, planejar etc.). Assim que o código estiver pronto, a automação deve assumir o controle para que o código seja construído, testado e implantado automaticamente. O mesmo processo de implantação automatizado deve lidar com cada ambiente subsequente, incluindo a produção. Implementações fáceis permitem entregas mais frequentes para a produção, para que você possa ser muito mais responsivo às necessidades do negócio.
É importante que todos na organização avaliem os tipos de coisas que fazem manualmente. Essas coisas podem ser simplificadas ou automatizadas? Se você faz isso com frequência, provavelmente é um bom candidato para automação. Em alguns casos, só precisamos redefinir nossos processos para eliminar etapas desnecessárias. Em outros, precisamos identificar ferramentas melhores que automatizam ou agilizam mais o que fazemos todos os dias.
Ferramentas de gerenciamento de tíquetes como Quality Center ou Jira também devem ser avaliadas. Quais métricas você rastreia? Que relatórios você gera? Você gasta muito tempo no Excel todas as semanas recebendo os números que deve enviar para a equipe de liderança? Para equipes ágeis, como você calcula a velocidade de sua equipe? Sua ferramenta faz isso por você? Procure ferramentas que economizem esforços (ex. Versão Um) em vez de apenas fazer o que você sabe.
Saldo
processo de software
Pixabay
O equilíbrio é uma parte crítica para impulsionar a eficiência em sua organização. Você pode pensar em sua organização como um veleiro. Se o barco estiver desequilibrado, haverá arrasto que o fará ficar mais lento na água. Além disso, o leme pode não funcionar corretamente, tornando muito mais difícil virar o barco. Quando os humanos cometem erros, muitas vezes eles compensam correndo para o "lado oposto do barco". Quando as organizações de software suportam dor e sofrimento porque seus produtos foram lançados sem testes ou planejamento suficientes, muitas vezes correm rápida e furiosamente em direção a processos pesados, portas de aprovação e paralisia de análise. Eles correm de um problema para os braços de outro.
'Quanta documentação deve ser exigida? "Escreva apenas o que é necessário para que as pessoas entendam o que precisa ser feito. Se a documentação estiver sendo escrita para satisfazer um portão de aprovação ou marcar uma caixa, provavelmente devemos fazer uma pausa e considerar se é ou não necessário. "Quanto processo é necessário?" Apenas o suficiente. "Quanto tempo deve ser gasto fazendo arquitetura e design?" Apenas o suficiente. Embora o retrabalho seja certamente ineficiente, às vezes é melhor adiar a solução real e implementar uma solução rápida para seja sensível às necessidades urgentes dos seus clientes. A vida é um ato de equilíbrio. Isso se aplica a tudo o que fazemos como uma empresa. A Goldilocks estava desesperadamente em busca de equilíbrio. Talvez devêssemos também.
Melhorando no desenvolvimento
Todos nós queremos que nossas vidas sejam melhores. Queremos entregas mais fáceis, transições mais suaves, equipes mais felizes e clientes felizes, com o mínimo de dor e sofrimento. Quando começamos a ver nossa organização através dessas três lentes, isso nos ajuda a avaliar e priorizar as mudanças. Ele concentra nossa atenção nos tipos de mudanças que realmente beneficiarão a organização e a ajudarão a funcionar de maneira mais suave. Você ficará mais magro e mesquinho, portanto, com o tempo, verá a produtividade aumentar enquanto o estresse e a frustração diminuem.
Qualidade, eficiência e equilíbrio, em última análise, resultam em algo que todas as organizações buscam: velocidade. Queremos velocidade para o mercado, capacidade de resposta aos nossos clientes e a capacidade de girar em uma moeda de dez centavos, mas realmente conseguir isso não é intuitivo. "Vamos apenas contratar mais pessoas para que possamos ir muito rápido!" Adicionar muitas pessoas certamente o ajudará a ir muito rápido, infelizmente, às vezes, eles o ajudam a ir muito rápido para a vala. Um sábio colega certa vez me disse que você precisa diminuir a velocidade para ir mais rápido, e é absolutamente verdade. A velocidade requer pensamento e esforço antecipados, principalmente na área de automação. Se você dedicar tempo para garantir qualidade, eficiência e equilíbrio, irá rapidamente naturalmente. Rugir como um leão, correr como uma gazela.
© 2017 Mike Shoemake