1. Seleção de Pessoal
1.1. Para decidir quem nomear para o projeto geralmente são usados três tipos de informações:
1.1.1. Informações fornecidas pelo próprio candidato sobre sua formação e experiência (currículo). Essa é a evidência mais confiável para jugar candidatos.
1.1.2. Informações obtidas através de entrevistas de candidatos. Entrevistas podem dar ao gerente informações sobre as habilidades sociais e de comunicação do candidato. Porém não é confiável para avaliar habilidades técnicas.
1.1.3. Recomendações de pessoas que trabalharam com o candidato. Pode ser eficaz se o gerente conhecer quem fez a recomendação. No entanto geralmente não são confiáveis.
1.2. Algumas constatações:
1.2.1. Se o gerente busca pessoas com habilidades especificas dentro de sua empresa, o gerente de projeto dessas pessoas pode não desejar perde-las. Em alguns momentos você terá que aceitar pessoas que trabalhem apenas em parte do projeto.
1.2.2. Projeto de interface com usuário e interfaces de hardware têm baixa oferta. Consequentemente o gerente não terá muitas opções para esses cargos.
1.2.3. Os recém formados apesar de provavelmente não possuírem as habilidades específicas que você necessita, normalmente são mais abertos e podem conhecer tecnologias mais recentes.
1.3. Fatores que direcionam a seleção de pessoal:
1.3.1. Experiência no domínio da aplicação
1.3.1.1. Para o projeto ter sucesso é necessário que os desenvolvedores compreendam o domínio da aplicação. É essencial que alguns membros possuam experiência no domínio.
1.3.2. Experiência em plataforma
1.3.2.1. Isso é importante caso o projeto envolva programação de baixo nível.
1.3.3. Experiência em linguagem de programação
1.3.3.1. Isso só é essencial para projetos de curta duração, quando não há tempo para aprender uma nova linguagem. Apesar de aprender uma linguagem não ser difícil é necessário tempo para se tornar proficiente no uso de bibliotecas e componentes associados.
1.3.4. Habilidade em resolver problemas
1.3.4.1. Isso é muito importante para engenheiros de software que precisam resolver muitos problemas técnicos.
1.3.5. Formação educacional
1.3.5.1. Isso indica tanto o conhecimento quanto a capacidade de aprender do candidato. No entanto se torna cada vez mais irrelevante à medida que os engenheiros ganham experiência.
1.3.6. Capacidade de comunicação
1.3.6.1. O pessoal do projeto deve ser capaz de se comunicar por escrito e verbalmente com outros membros da equipe e clientes.
1.3.7. Capacidade de adaptação
1.3.7.1. Pode ser jugada pela observação da experiência dos candidatos. É importante pois indica a capacidade de aprender.
1.3.8. Atitude
1.3.8.1. A equipe deve possuir atitude positiva em relação ao seu trabalho e ter disposição para aprender. É importante, porém é de difícil avaliação.
1.3.9. Personalidade
1.3.9.1. Os candidatos devem ser razoavelmente compatíveis com os demais membros da equipe. É importante, mas é de difícil avaliação.
2. Fatores Critícos
2.1. Consistência
2.1.1. Tratamento igual a qualquer pessoa da equipe
2.2. Respeito
2.2.1. Pessoas possuem diferentes habilidades, portanto o gerente devem respeita-las
2.3. Inclusão
2.3.1. Pessoas contribuem efetivamente quando se sentem ouvidas por outras
2.4. Honestidade
2.4.1. O gerente deve sempre ser honesto em relação ao que vai bem ou mal no projeto. A pessoa também deve ser sincera em relação ao seu conhecimento técnico
3. Motivação de pessoas
3.1. É necessário assegurar
3.1.1. É necessário mostrar as pessoas que elas são valorizadas pela organização. O reconhecimento público é uma maneira simples e eficaz de fazer isso. Além de que as pessoas devem sentir que são remuneradas de forma justa.
3.1.2. É necessário dar às pessoas responsabilidades por seu trabalho, atribuindo tarefas difíceis e treinamento para que possam se aprimorar.
4. Gerenciamento de grupos
4.1. Composição do grupo
4.1.1. Um grupo com personalidades complementares funcionará melhor que um baseado em habilidades técnicas.
4.1.1.1. As pessoas motivadas pelo trabalho, provavelmente serão as mais fortes tecnicamente
4.1.1.2. As pessoas auto-orientadas, provavelmente, serão as melhores para impulsionar o trabalho adiante.
4.1.1.3. O líder do grupo tem importante papel. Ele pode ser responsável pela direção técnica e administrativa do projeto.
4.1.1.4. As pessoas orientadas a interações facilitam a comunicação do grupo.
4.2. Coesão do grupo
4.2.1. Em um grupo coeso seus membros pensam no grupo como mais importante que seus membros, além de serem leais a ele, tentando protegê-lo à interferências externas. Tornando o grupo robusto e capaz de lidar com situações inesperadas.
4.2.1.1. Vantagens:
4.2.1.1.1. Os membros do grupo trabalham rigorosamente em conjunto. As inibições causadas por ignorância são minimizadas uma vez que o aprendizado mútuo é encorajado
4.2.1.1.2. Os membros do grupo podem conhecer o trabalho uns dos outros. A continuidade será mantida caso um membro deixe o grupo.
4.2.1.1.3. A programação sem egos exaltados pode ser praticada. Os programas são propriedades do grupo e não individuais.
4.2.1.2. Desvantagens:
4.2.1.2.1. Resistência irracional a uma mudança de liderança, causando perda de produtividade. Sempre que possível, lideres devem ser indicados de dentro do grupo.
4.2.1.2.2. Pensamento em grupo. Isso ocorre quando as habilidades críticas dos membros estão desgastadas pela lealdade ao grupo.
4.3. Ambiente de trabalho
4.3.1. O local de trabalho tem efeito importante sobre o desempenho e satisfação das pessoas em relação ao seu trabalho.
4.3.1.1. Privacidade
4.3.1.1.1. Os programadores necessitam um local onde possam se concentrar e trabalhar sem interrupções.
4.3.1.2. Personalização
4.3.1.2.1. Os indivíduos adotam diferentes práticas de trabalho e tem opiniões diferentes sobre decoração. Personalizar o ambiente é importante.
4.3.1.3. Consciência externa
4.3.1.3.1. As pessoas preferem trabalhar com luz natural e com visão do ambiente externo.
4.4. Comunicação do grupo
4.4.1. A boa comunicação é essencial. Os membros devem trocar informações sobre status de seu trabalho, decisões de projetos tomadas e as mudanças necessárias em decisões anteriores. Uma boa comunicação fortalece a coesão.
4.4.1.1. Tamanho do grupo. A medida que o grupo cresce é mais difícil que os membros se comuniquem de forma eficiente. Além de que a hierarquia afeta a comunicação. Membros de de status superior dominam a comunicação com aqueles de status inferior
4.4.1.2. Estrutura do grupo. As pessoas em um grupo estruturado de maneira informal geralmente se comunicam melhor que grupos de estrutura formal e hierárquica.
4.4.1.3. Composição do grupo. Pessoas com o mesmo tipo de personalidade podem entrar em conflito e a comunicação pode ser comprometida.
4.5. Organização do grupo
4.5.1. Pequenos grupos de programação geralmente são organizados de maneira bem informal.
4.5.1.1. O líder do grupo se envolve no desenvolvimento do software com os demais membros.
4.5.1.2. Um líder técnico pode surgir como aquele que efetivamente controla a produção do software.
4.5.1.3. Tarefas são alocadas de acordo com habilidade e experiência.
4.5.1.4. Grupos informais são bem sucedidos particularmente quando a maioria dos membros é experiente e competente. Caso o contrário não existe autoridade definida para dirigir os trabalhos, provocando problemas.
4.5.2. A habilidade individual transparece no programador.
4.5.2.1. Os melhores programadores são até 25 vezes mais produtivos que os piores.
4.5.2.2. Baker(Baker, 1972), Aron(Aron, 1974) e Brooks(Brooks, 1975) sugerem que a equipe deve ser formada em torno de um programador chefe habilidoso.
4.5.2.2.1. O desenvolvimento do software deve se dar por pessoas habilidosas e experientes. E estas devem focar apenas no software a ser desenvolvido e não se preocupar com os demais assuntos.
5. Modelo de Maturidade de Capacidade Pessoal
5.1. Pode ser usado como o framework de aprimoramento de como uma organização gerencia seus membros. Possui cinco níveis:
5.1.1. Inicial
5.1.1.1. Práticas gerenciais informais específicas de pessoal.
5.1.2. Repetível
5.1.2.1. Definição de políticas para desenvolvimento de capacitação de pessoal.
5.1.3. Definido
5.1.3.1. Padronização das melhores práticas de gerenciamento de pessoal na organização.
5.1.4. Gerenciado
5.1.4.1. Metas quantitativas para gerenciamento de pessoal.
5.1.5. Otimização
5.1.5.1. Foco contínuo na competência individual e motivação da força de trabalho.
5.2. Objetivos estratégicos:
5.2.1. Aprimorar capacitação das organizações de software pelo aumento da capacitação de sua força de trabalho.
5.2.2. Assegurar que a capacitação do desenvolvimento seja um atributo do organização em vez de apenas de alguns indivíduos.