Boas equipes de desenvolvimento de software são compostas de pessoas que colaboram efetivamente. A forma que a equipe do projeto é alocada, pela adição ou remoção de pessoas, irá afetar fortemente na produtividade da equipe.
Quando da alocação de pessoal em um projeto de desenvolvimento, considere os seguintes conselhos:
- Inclua pessoas que se enquadrem na cultura atual da equipe. Boas equipes, não aparecem simplesmente de forma mágica, mas ao invés são construídas e cultivadas ao longo do tempo. Convide pessoas para a equipe que agreguem valor e, além disso, que não sejam perturbadoras. Do mesmo modo, talvez seja necessário convidar alguém a deixar a equipe se ele não se adaptar bem a equipe já existente e não pareça ser capaz de mudar.
- As pessoas deverem querer estar na equipe. As pessoas são muito mais produtivas quando estão trabalhando em um projeto que acreditam e querem que tenha sucesso.
- Construa sua equipe com "especialistas genéricos". Um especialista genérico é alguém com uma ou mais especialidades técnicas, que procura ativamente ganhar novas competências em suas especialidades existentes, bem como em outras áreas, incluindo as áreas técnicas e de domínio. Os especialistas genéricos acrescentam valor a equipe porque têm competências especializadas que você precisa, e ao mesmo tempo aprecia toda a gama de questões que uma compreensão geral do processo de desenvolvimento de software e do domínio de negócio oferece.
- Inclua os Stakeholders. Os Stakeholders, incluindo os Stakeholders de negócio, tais como os usuários finais, e os Stakeholders técnicos, tais como pessoal de operações, podem acrescentar valor significante a sua equipe. Ao invés de apenas entrevistar-los para obter informações deles, ou pedir-lhes para analisar o seu trabalho, por que não incluí-los como participantes ativos na equipe?
- Inclua especialistas para trabalho especializado de curto prazo. Os especialistas ainda podem acrescentar valor a uma equipe ágil de desenvolvimento, em particular quando têm competências específicas e experiência, que os membros existentes da equipe não têm. Pode muitas vezes ser mais eficaz trazer um especialista para a equipe por um curto período de tempo para ajudar com uma tarefa específica, tal como a instalação e configuração de um servidor de aplicação, o desenvolvimento de uma parte especial da arquitetura ou simplesmente a participação em uma revisão.
- Dê às pessoas a oportunidade de evoluir as suas competências. No início de um projeto, a equipe pode não ter toda a gama de habilidades que precisa, ou talvez algumas pessoas possam não possuir as competências necessárias para cumprir as funções que estão se atribuindo. Este é um risco muito comum aceito pela maioria das equipes de projeto pela simples razão de que muitas vezes você não conseguirá encontrar a combinação perfeita de pessoas e, mesmo se você pudesse você ainda desejaria fornecer às pessoas oportunidades para crescerem como profissionais.
- Lembre-se da Lei de Brook. Adicionar pessoas a um projeto atrasado só o tornará mais lento [BRO87]. O corolário é que a remoção de pessoas de um projeto atrasado pode agilizar as coisas [AMB04].
Às vezes você terá de observar esses conselhos, devido a restrições ambientais. Talvez apenas especialistas estejam disponíveis (embora não exista nada que impeça de um especialista se tornar um especialista genérico), talvez não haja muitas oportunidades para as pessoas tentarem coisas novas como gostariam, ou talvez os Stakeholders não estejam disponíveis para serem membros ativos da equipe. Os conselhos acima se destinam à condução de uma equipe ao desempenho mais alto possível, mas mesmo uma adesão parcial a esta diretriz irá melhorar a equipe. |