Como se aplica especificamente ao desenvolvimento de software, existem dois tipos de funções de agregação de valor para os gerentes: gerenciamento de projetos e liderança de equipe.
Um gerente de projeto faz interface com clientes e a gerência intermediária, o que economiza tempo para os desenvolvedores. Muitas vezes, existem esclarecimentos ou alterações no escopo que surgem nos projetos, e é útil que os clientes e o gerente intermediário tenham um único ponto de contato. Tentar responder a perguntas de todos os membros de uma equipe de desenvolvimento leva a decisões não registradas do projeto e compromissos não documentados, o banimento do gerenciamento do escopo.
Por outro lado, um líder de equipe está envolvido com o desenvolvimento de carreira / habilidades, garantindo que a carga de trabalho seja distribuída adequadamente entre os membros da equipe e fornecendo recursos e recompensas compatíveis com as contribuições e necessidades individuais.
Nenhuma dessas funções requer um programador de ponta-cabeça, de fato um pouco o oposto. Um programador geralmente salta para uma tarefa de escrita de código como a primeira resposta a uma pergunta ou crise, e é útil ter alguém cujo trabalho é perguntar se essa tarefa realmente precisa ser realizada.