Negocio

Efeito de gargalo no desenvolvimento de software

Definindo gargalos

Bret é consultor de projetos de desenvolvimento de software. Ele teve sucesso em seu trabalho porque tem uma abordagem única. Muitos consultores analisam amplamente a equipe, a metodologia, os processos e as ferramentas e oferecem conselhos para cada um. Bret concentra-se exclusivamente em identificar e eliminar gargalos. Embora ele acredite que há uma série de áreas a serem consideradas, elas só devem ser tratadas se envolverem gargalos.

Um gargalo no desenvolvimento de software é uma ineficiência onde o fluxo do projeto e / ou trabalho para ou diminui em um determinado ponto. Gargalos podem ocorrer em qualquer metodologia de projeto. Isso ocorre porque todas as metodologias envolvem alguma forma de sequência ou progressão, que pode ser retardada. O efeito dos gargalos é que os recursos no estágio em que o gargalo ocorre são sobrecarregados, enquanto os recursos nos estágios posteriores são subutilizados ou ociosos, criando ineficiência.

Potenciais gargalos

Depois que Bret ajuda as empresas a entender os gargalos e o impacto negativo que eles podem ter, ele passa a identificar gargalos específicos que podem ocorrer. Os motivos pelos quais ocorrem podem ser gerais, como motivos relacionados à equipe, ou específicos a cada aspecto de um projeto de desenvolvimento de software. As empresas de sucesso identificam todos os gargalos.

Times

Gargalos podem ocorrer com base na composição da equipe, que se aplica tanto à equipe de desenvolvimento, quanto à equipe do projeto como um todo. Para a equipe de desenvolvimento, o objetivo é ser multifuncional, onde diferentes membros da equipe compartilham habilidades e competências. Isso cria flexibilidade na conclusão do trabalho, onde diferentes pessoas podem se envolver e compartilhar a carga. Bret avisa as equipes que quanto menos multifuncionais forem, maior a probabilidade de ocorrerem gargalos.

Para a equipe do projeto como um todo, a área do problema gira em torno das prioridades. As equipes de desenvolvimento tendem a ser rápidas e focar no que é necessário. As partes interessadas tendem para a qualidade e são menos propensas a fazer uma distinção entre o que é uma necessidade e o que é um desejo. Diferentes prioridades podem afetar toda e qualquer área de um projeto, desde os requisitos estabelecidos até a sua conclusão. Dado esse nível de impacto, Bret incentiva as equipes de projeto a concordar com suas prioridades.

Requisitos

Uma das primeiras etapas em um projeto envolve estabelecer os requisitos ou o trabalho que precisa ser concluído no projeto. O potencial para gargalos existe na criação desses requisitos, bem como na qualidade dos requisitos. Dependendo da metodologia, os requisitos do projeto são escritos pelas partes interessadas ou um subconjunto menor de indivíduos em nome das partes interessadas. Este processo funciona melhor quando o consenso pode ser alcançado ou um único tomador de decisão pode ser estabelecido. Bret adverte as equipes de que, se um acordo não puder ser alcançado, devido a opiniões divergentes ou mesmo porque diferentes indivíduos não estão disponíveis, os requisitos do projeto não podem ser estabelecidos, criando um gargalo.

Uma vez que os requisitos do projeto são estabelecidos, o potencial para um gargalo não desaparece. O objetivo dos requisitos é definir o que é necessário para o projeto de uma forma que possa ser compreendido pela equipe do projeto. Fornecer muitos ou poucos detalhes pode tornar as coisas mais lentas. As pessoas vão gastar tempo trabalhando em informações desnecessárias ou buscando informações necessárias que estão faltando. Nenhum deles é desejável e pode criar um gargalo em qualquer estágio em que os requisitos estejam envolvidos.

Desenvolvimento

Uma vez que os requisitos tenham sido estabelecidos, o desenvolvimento pode começar. Uma das áreas em que Bret se concentra que pode causar gargalos são os desenvolvedores. Especificamente, ele se concentra nas habilidades dos desenvolvedores. Muitas vezes, os desenvolvedores têm áreas de especialidade e se concentram exclusivamente em itens de trabalho que se enquadram em suas especialidades. Quando o trabalho não varia, gargalos podem ocorrer porque apenas os desenvolvedores cuja especialidade é necessária estão trabalhando com eficiência.

A outra área em que Bret se concentra é a tecnologia disponível para desenvolvedores. Mesmo que os desenvolvedores compartilhem as habilidades necessárias para concluir o trabalho do projeto, a tecnologia ainda pode causar gargalos. Se os sistemas usados ​​estiverem desatualizados e o trabalho realizado envolver mudanças no software existente, o débito técnico pode ser um fator. Além disso, se houver diferenças entre os ambientes de desenvolvimento, teste e produção, podem ocorrer ineficiências.

Testando

Uma das áreas finais que Bret analisa quanto a possíveis gargalos é o teste. Um dos maiores fatores que podem levar a gargalos de teste é a capacidade de teste da equipe, especificamente se é manual ou automatizado. O teste manual é menos eficiente do que o teste automatizado, especialmente para regressão, em que a equipe verifica se a nova funcionalidade não afeta a funcionalidade existente. Conforme o projeto avança, e quanto mais complexo o software, mais demorado é o teste manual.

Lidando com gargalos

Depois de Bret ajudar a equipe a entender o efeito dos gargalos e as áreas em que podem ocorrer, ele termina discutindo como lidar com eles. A maneira mais fácil, mas menos eficaz a longo prazo, é encontrar uma solução temporária que possa mascará-los. As equipes podem fazer coisas como sacrificar tempo e estender prazos ou sacrificar a qualidade, fazendo o mínimo para empurrar itens de trabalho para os gargalos. A maneira mais eficaz de lidar com gargalos é identificá-los e alocar recursos para eliminá-los. Por exemplo, se o gargalo estiver associado às habilidades do desenvolvedor, a equipe pode investir em treinamento ou educação para os desenvolvedores. Se o gargalo for devido aos recursos de teste, a equipe pode investir em testes automatizados.

Resumo da lição

Os gargalos , um problema potencial para qualquer projeto, são caros e ineficientes. Os recursos estão sobrecarregados no ponto do gargalo e subutilizados ou ociosos além dele. Eles são extremamente problemáticos porque podem ocorrer em qualquer ponto de um projeto.

Eles podem começar com equipes de projeto que não são multifuncionais ou têm prioridades diferentes. Para requisitos, gargalos podem ocorrer se o consenso não for alcançado sobre o que é necessário ou porque os requisitos fornecem muitos ou poucos detalhes. Uma vez que os requisitos são assumidos, gargalos podem ocorrer no desenvolvimento e / ou teste. Os desenvolvedores com conjuntos de habilidades limitados ou tecnologia insuficiente podem causar um gargalo. O teste também pode causar gargalos, especialmente se for feito manualmente. A melhor abordagem para lidar com gargalos é identificá-los e alocar recursos para eliminá-los.