Como você se comporta em uma nova equipe em que você é o desenvolvedor mais sênior e a maioria dos outros membros da equipe são juniores a você há vários anos. A tarefa à frente da equipe é algo que ninguém mais, incluindo você, realizou em sua carreira antes.
A gerência insiste em aumentar a produtividade de toda a equipe e, como desenvolvedor sênior, você é responsável.
Alguma dica para sair trunfos em uma situação como esta? Claramente, toda a equipe precisa de tempo para aprender e não vamos esquecer as novidades da equipe. No entanto, os prazos também estão à frente ...
Respostas:
Não permita que um prazo apertado ou a novidade do projeto interfira nas boas práticas de engenharia. Configure um repositório de software, concorde com um estilo de codificação, crie um conjunto de testes etc. A novidade da tarefa não deve ser tão grande assim, desde que você tenha pessoas de qualidade e que estejam dispostas a trabalhe duro e aprenda a tarefa pela frente.
Ou, de outra forma: você foi encarregado porque a gerência acredita que sua formação e experiência lhe deram as ferramentas necessárias para criar software de qualidade. De repente, não esqueça suas habilidades apenas porque esta tarefa parece assustadora agora.
fonte
Primeiramente, comece a usar um sistema de controle de código-fonte a partir da primeira linha de código. Adquira o hábito de verificar o código cedo e frequentemente.
Segundo, decida sobre uma estratégia de teste . É claro que isso deve significar testes de unidade, mas você também deve considerar como automatizar os testes de aceitação.
Terceiro, estabeleça um servidor de integração contínua para que seu código seja construído regularmente e testado regularmente.
Depois disso, como equipe, estabeleça alguns padrões simples de codificação . Você deseja que seu código seja facilmente legível por todos. Realmente não importa quais são os padrões. Recuar com tabulações, recuar com espaços, chaves na mesma linha, qualquer que seja. Não importa o que sejam, apenas que todos os apliquem de forma consistente.
Como a equipe é formada principalmente por desenvolvedores juniores, planeje revisar o código frequentemente para garantir que eles não estejam adicionando muita dívida técnica ao seu sistema.
Por fim, considere usar o SCRUM . Se o fizer, contrate um treinador ou faça algum treinamento. Como todos vocês estão fazendo algo que nunca fizeram antes, é simplesmente impossível estabelecer prazos realistas. Com o SCRUM, seu gerenciamento terá visibilidade do que você faz diariamente, para que eles possam ver qual progresso está (ou não está) sendo feito. E, como seus prazos aparentemente foram dados a você, a SCRUM pelo menos garante que, se você não puder cumprir o prazo, pelo menos você estará entregando histórias completas em uma base incremental, o que sem dúvida é melhor do que chegar ao fim com um gigante sistema que não funciona.
fonte
Além da resposta de @chrisaycock ... Não subestime o tempo que você precisará alocar para orientação / treinamento etc. Como líder, você precisará aprender a deixar de lado os detalhes e confiar em sua equipe. Seu trabalho é tornar-se o facilitador, remover os bloqueios de estradas e executar interferências quando o gerenciamento cutuca a cabeça. Em uma equipe "normal", com cerca de 7 ou 8 anos, o líder não programa mais. Na sua situação, isso cai para 3 ou 4 (Talvez até menos), você não é um recurso de programação para o projeto.
fonte
Concentre-se na comunicação em duas áreas.
Não é fácil fazer isso, e essa é uma das razões pelas quais esse trabalho é difícil. Se cumprir o prazo significa recursos de corte, repasse isso. A única coisa que você está tentando evitar em tudo isso é o código rápido para estabelecer um prazo. Esse é o começo do fim de uma base de código que não vai durar bem e o começo da dívida técnica que engasga.
2) Comunicação entre equipes. Estabeleça práticas formais como Bryan e outros recomendam. Certifique-se de reunir-se regularmente em equipe, por exemplo, uma vez por semana , além dos exercícios diários. Ganhe respeito e confiança ao ouvir , sua ferramenta mais importante. Certifique-se de se concentrar em ajudar. Evite críticas negativas a todo custo. Quando necessário, use críticas e incentivos positivos, por exemplo, "isso é ótimo, uma vez que você pode considerar que X é" acabado ", não é o que precisamos, você precisa fazer X em vez disso"
fonte
O que fiz foi identificar os capazes e dividir e conquistar. Pego os 2 ou 3 melhores e os faço capitães. Os outros são então divididos igualmente em equipes, seguindo os capitães de suas próprias equipes.
Dou aos capitães pedaços ou módulos para fazer um programa.
Os capitães dão aos novatos tarefas de programação ou pesquisa menores o tempo todo, explicando a si mesmos o que estão fazendo, para que a orientação aconteça.
Tento organizar a sala para que todos estejam no mesmo espaço aberto, mas cada equipe tenha seu próprio círculo de computadores. Eu gosto de estar longe de todos, para que as coisas se movam rapidamente.
Isso funciona bem para cerca de 10 a 20 programadores até agora. Os grupos menores estão melhor em um grupo e eu ainda não trabalhei com nada maior.
fonte