Engenharia de Software de Ian Sommerville

Gerenciamento de Pessoas

Bons engenheiro de software

Não necessariamente são bons gerentes de pessoas

Possuem fortes habilidades técnicas

Podem não ter as habilidades mais flexíveis que lhes permitam motivar e liderar uma equipe de desenvolvimento de projeto

Aprendizado baseado na experiência

Fatores críticos

Consistência

Mesmo tratamento para todos os membros

Respeito

Oferecer oportunidades aos membros

Inclusão

Todas as opiniões devem ser consideradas

Honestidade

Reconhecer os progressos e erros da equipe

Motivação de pessoas

Significa organizar o trabalho e o seu ambiente

Ajuda na realização de um trabalho mais eficaz

Falta de motivação

Desinteresse pelo trabalho

Propensão a erros

Execução do trabalho de forma lenta

Pouco apoio nos objetivos da equipe ou organização

Dificuldades pessoais

Qualidade do trabalho cai

As pessoas são motivadas por
satisfazer suas necessidades

Principais necessidades de um Eng. Software

Autorrealização

Propor desafios

Atribuir responsabilidades

Desenvolver habilidades

Autoestima

Ter reconhecimento

Social

Criar relações entre os membros do grupo

Tipos de personalidades

A maneira de motivar uma pessoa depende de sua personalidade

Pessoas orientadas a tarefas

Realização do trabalho

Pessoas automotivadas

Sucesso e reconhecimento pessoal

Pessoas orientadas a interações

Presença e ações dos colegas de trabalho

Trabalho em equipe

Características de um grupo

Menos de 10 membros

Comunicação melhor em grupos pequenos

Equilíbrio entre habilidades técnicas, experiência e personalidades

Grupo coeso

Tem espírito de equipe

Membros motivados pelo sucesso do grupo e objetivos pessoais

Membros são leais ao grupo

O grupo é mais importante que os indivíduos

Benefícios

Próprios padrões de qualidade

Apoio e aprendizado entre os membros

O conhecimento é compartilhado

Refatoração e melhorias contínuas são incentivadas

Promover a coesão do grupo

Estabelecer uma relação entre os membros

Criar uma identidade do grupo

Tratar os membros do grupo como responsáveis e confiáveis

Disponibilizar informações livremente

Fatores que afetam o trabalho de equipe

Os membros

A organização

Comunicações técnicas e gerenciais

O grupo

Seleção dos membros

Buscar equilíbrio entre habilidades técnicas e personalidades

Às vezes, é impossível escolher um grupo com personalidades complementares

Organização

Afeta

As decisões tomadas

Maneira como as informações são trocadas

Interações entre grupos de desenvolvimento e os stakeholders

Escolher a liderança ideal

Decidir quem tomará as decisões técnicas críticas e como estas serão tomadas

Definir membro para interações externas

Estabelecer métodos de comunicação para membros que não partilham do mesmo ambiente físico

Determinar o método de compartilhamento de informações

Grupo informal

Tarefas distribuídas de acordo com habilidades e experiências

Extreme Programming

Estrutura formal inibe troca de informações

Programadores trabalham juntos e dividem responsabilidades

Decisões de gerenciamento atribuidas ao grupo

Tomadas de decisão em consenso

Melhora o desempenho e a coesão

Participação do líder no desenvolvimento

Ajuda no compartilhamento de informações

Memros experientes e competentes

Grande chance de sucesso

Grupo Hierárquico

Líder do grupo está no alto da hierarquia

Decisões são tomadas em direção ao topo da hierarquia

Implementações são feitas por pessoas nos níveis inferiores da hierarquia

Instruções partem de cima para baixo na hierarquia

Indicado quando um problema bem compreendido pode ser divido em subproblemas

As soluções dos subproblemas são desenvolvidas em vários níveis da hierarquia

Estrutura raramente utilizada

As alterações no software requerem mudanças em várias partes do sistema

Necessita de discussão e negociação em todos os níveis hierárquicos

Os mais jovens geralmente sabe mais sobre as tecnologias atuais

Frustração por terem que implementar tecnologia ultrapassadas

Programador-chefe

O desenvolvimento é de responsabilidade do pessoal qualificado e experiênte

Concentração no software a ser desenvolvido e não gastar muito tempo em reuniões externas

Grande dependência do programador-chefe e seu assistente

Outros membros podem ficar desmotivados por falta de responsabilidades

Comunicação

Troca de informações

Sobre status do trabalho

As decisões do projeto

As alterações nas decisões de projeto anteriores

Informar os stakeholders sobre mudanças no sistema, no grupo e nos planos de entrega

Ajuda a reforçar a coesão de grupo

Eficiência e eficácia

Tamanho do grupo

Estrutura do grupo

Composição do grupo

Ambiente físico de trabalho

Canais de comunicação disponíveis

Uma comunicação eficaz

Comunicação deve ocorrer em dois sentidos

Discussão de problemas e informações

Estabelecer um entendimento comum sobre as propostas e problemas

Pode ser feita por meio de reuniões

Utilizar tecnologias da Web para troca de informações

Ajudam a gerenciar informações e manter o controle de segmentos de discussão

Blogs

Wikis

Mensagens instantâneas

Teleconferências