sábado, 22 de setembro de 2007

Um Minuto de um desenvolvedor de Software

Bem pessoal encontrei esse artigo muito interessante sobre gerência de desenvolvimento de software, como gosto muito de ler sobre o assunto, então resolvi traduzir e compartilhar com vocês aqui. A versão original pode ser encontrada no site realsoftwaredevelopment. Algumas coisas tive que “adaptar”, mas ficou legal. Boa leitura.

Um Minuto de um desenvolvedor de Software

Ser um gerente de desenvolvimento de software é um ótimo trabalho, se você for à pessoa certa para o trabalho. Você tem que ter “paixão real” por tecnologia e liderança para exercer este papel. Gastei grande parte dos meus cinco anos estudando liderança e desenvolvimento de software, e realmente apreciei essa jornada. Abaixo tem algumas dicas que tento e foco diariamente para interagir com minha equipe. Espero que estas dicas possam ajudar você!

Defina claramente seus objetivos

Definir objetivos claros é o papel chave de um gerente de desenvolvimento de software. Isto significa que você está falando para sua equipe “vocês podem pegar o projeto xyz e terminar na sexta-feira? Obrigado!” isso não é o suficiente, na verdade, é inútil. Você precisa ser capaz de definir claramente o objetivo, e então descrevê-los para sua equipe! Estes são os dois papeis a serem feitos, e em reuniões para visualização dos objetivos. Claramente definindo os objetivos para sua equipe, o mais provável que eles conseguirão atingi-los, e até superá-los. A maioria dos objetivos é composta por mini-objetivos, ou mini etapas. Uma vez que definidos, você precisa ser capaz de executar um plano de objetivos, suficientes em etapas para conseguir realizá-los. Uma vez definido em detalhes minuciosos, seu objetivo ser alcançado.

Seja Exemplar

Não há nada pior do que trabalhar para um gerente que grita ordens o dia todo, e ainda nunca estão por perto quando se precisam deles. Se você espera que sua equipe chegue de uma vez e seja totalmente devota para o trabalho, projetos, e objetivos nas mãos, você têm que ser a maioria do tempo, focado individualmente na equipe. Se você espera que sua equipe faça minutos de reuniões serem fantásticas, foque em reuniões, e envie relatórios fantásticos sobre o status do projeto, então você precisa assegurar os melhores minutos conquistados em reuniões feitas na equipe, criando relatórios de itens de ações, e detalhe, fácil de ler, em poucos minutos de reunião. Durante o tempo de desenvolvimento do projeto, você precisa não somente ter pessoas que estão dispostas a trabalhar em finais de semana, e colocar um esforço extra, você precisa ser o principal recurso disponível durante esse tempo! Você precisa praticar o que você delegou, definindo exemplos, e compartilhar todas as dificuldades. Ninguém quer trabalhar para um gerente que só quer ofender as realizações de sua equipe, sem realmente ajudar para que essas realizações aconteçam.

Definir claramente a direção e metas de sua equipe

Como líder em uma empresa, seu principal objetivo deveria ser, definir claramente a metas de sua equipe, de forma clara e concisa. Isto não é simplesmente enviar um e-mail dizendo: sua meta é criar um software que resolva aquele bug rapidamente.realmente seria inútil. O que precisa fazer é deixar sua equipe viva, respirando e dentro das metas. Precisar ser capaz de motivar sua equipe para seguir as metas que você criou, e ter um planejamento organizado de onde é como cada membro da equipe está ajudando a cumprir as metas. Você também precisa ser eficiente para tranqüilizar a empresa, e estar preparado para as mudanças das metas da equipe quando necessário. Especialmente pela atual velocidade do mundo dos negócios, você precisa está pronto para reagir, e mudar a “direção do navio” quando necessário.

Motive sua Equipe

Motivação é a chave. Ninguém quer trabalhar para alguém que não motiva ninguém. Mas como motivar uma equipe? Isso é muito fácil de falar do que de fazer. Fique interessado na sua equipe, aprenda sobre sua equipe, envolva-os em suas decisões e os faça-os sentirem especiais. Ouça a sua equipe quando eles têm algo pra dizer. Quando chegarem até sua sala e querendo conversar, sempre tenha tempo para eles. Tenha muita energia, durma bem, coma saudavelmente, e mostre disposição em todas as reuniões, em todas as iterações. Mantenha contato com todos os membros da sua equipe e em diferentes formas. Diferentes tipos de pessoas são motivados por diferentes coisas. Se você souber os níveis pessoais de cada um, você encontrará exatamente o que os fazem contribuir, e como você pode deixá-los felizes e motivados. Quanto mais sua equipe estiver motivada, maior retenção de individualismos, e mais eles contribuirão com a empresa.

Focar no que é importante

Uma das coisas mais importantes que você precisa fazer sendo um gerente de desenvolvimento de software é focar no que é importante. Sempre existirão distrações para você e para sua equipe diariamente. Você precisa ter a habilidade para rápida e facilmente evitar essas distrações e ligar sua equipe as tarefas mais importantes em mãos. Sua equipe precisa de um sinal de luz, um farol. Sua equipe poderia ser a mais poderosa, inteligente, equipe enérgica do planeta, mas se você não está focando neles sobre o que é importante, eles falharão! O esforço que sua equipe coloca no trabalho é muito importante, mas se eles estão colocando todo o seu tempo e esforço resolvendo problemas errados, ou problemas errados pelo caminho certo, eles estarão perdendo tempo!

Seja o membro mais positivo da equipe

Elimine a negatividade. Tanto literalmente quanto cientificamente! Pensamentos e emoções negativas foram provados que causam o enfraquecimento do seu sistema imunológico, e uma grande contribuição para doenças e a morte. E isso tem provocado algumas atitudes em locais de trabalho como retardamento do projeto, e causando mais erros no desenvolvimento de software do que o necessário! Certamente algumas vezes quando feedback e as críticas precisam ser dadas para o projeto e para equipe, entretanto há um caminho certo e um caminho errado para fazer isso. Pense sobre isso por um segundo: por que os lideres são criticados em primeiro lugar? Por causa da sua “negatividade”? Não. É por causa de suas habilidades de enxergar a negatividade, enfrentarem desafios, serem extremamente positivos e capazes de encontrar soluções. Ótimos lideres adicionam vida ao projetos através das suas atitudes positivas, e fazerem equipes conseguirem coisas que outras, equipes mais experientes, nunca poderiam sonhar em conseguir.

Seja Decisivo e Ações Orientadas

A fim de ser um gerente de desenvolvimento de software, você precisa ter a habilidade de pensar cuidadosamente, e tomar decisões decisivas rapidamente. Você precisa ter a capacidade de agir e tomar decisões sem olhar pra trás. Enquanto você estiver agindo, não deveria “ficar cego”, tem que ter a capacidade de perguntar por um feedback de cada passo da sua decisão. Se for negativo, ou não ter o resultado esperado, você deve ser rápido para mudar a direção, se necessário, e tentar uma solução diferente.

Forneça as melhores ferramentas

Fornecendo a sua equipe as melhores ferramentas disponíveis não é somente fazer deles mais produtivos, é fazer sua equipe aproveitar mais seu trabalho com “brinquedos legais”, e falar também que você sabe que seu tempo é valioso. Mostre para sua equipe indiretamente para que tenham consciência que seu tempo é precioso, e que possuem ótimos recursos para a equipe e que não podem desperdiçados.

Forneça o melhor hardware

Quanto tempo leva seus desenvolvedores para fazer o “build” de suas aplicações, debugar, executarem múltiplas ferramentas e rodar a aplicação? Eles têm um monitor onde são forçados a executar todas as aplicações dentro de um pequeno espaço, e ficar trocando o tempo todo para ver o resultado entre os programas? Quanto você está pagando, e quanto aborrecidos eles estão e gastando seu tempo com isso? Faça a todos um favor, incluindo a empresa que você trabalha e certifique-se que eles tem os melhores hardwares que a empresa pode comprar. Principalmente com os preços dos hardwares nos dias de hoje, não tem desculpas para se gastar horas sem motivo para economizar uns alguns mil dólares.

Confie na sua equipe e em suas palavras

Todos da sua equipe foram escolhidos por algum motivo. Se você não é capaz de confiar neles e em suas palavras, eles não deveriam estar na sua equipe. O motivo pelo qual você contrata pessoas experientes em certas áreas é que você pode confiar nelas, e por que elas são assim, experientes em suas áreas. Eu não estou sugerindo que você deixe uma pessoa nova mostrar o que sabe e confiar instantaneamente, que seria definitivamente um grande erro. Mas um gerente deveria conhecer sua equipe muito bem o tempo todo, e ser capaz de conhecer quem são mais experientes, que áreas são mais experientes, quando você pode, ou não confiar. Por exemplo, se você tem um “masterful DBA” trabalhando pra você, que desenvolveu milhares de projetos de banco de dados em sua carreira, você iria sentar-se com ele e controlá-lo e dizer o que ele deve fazer, e onde adicionar index´s e como você gostaria a estrutura do banco de dados? Claro que não... então por que existem que insistem em controlá-los?

Seja um treinador

Eu sempre vejo treinadores nas equipes, e não um gerente. Você precisa de um talento certo, e precisa mantê-los interessados. Como um treinador você tem que estar pronto para “fazerem jogadas” e ter um feedback de todo o “tempo da partida”. O que você fez certo, o que você fez errado? Vá direto ao ponto, dê feedback, faça mudanças, e tente de novo se aconteceram erros. Se as coisas estão indo bem, continue dando feedback e treinando! Você sempre vai querer melhorar a equipe! Você quer tentar e elevar sua equipe para o seu maior potencial.

Então isso que você deve fazer! Meu guia de “gerenciar de desenvolvimento de software em um minuto” para sua equipe de desenvolvimento de software! Boa sorte!

Até o próximo post!

Postar um comentário

Java Magazine, edição 49


Já está nas bancas a edição 49 da revista Java Magazine com o título AJAX REVERSO.

Artigos desta edição:
- Mini - curso de Java ME: Parte Final, Jazoon'07:
Cobertura exclusiva,
- Ajax Reverso, A revolução,
- Criando um portal com o Ajax e Tiles
,
- Aplicando Interceptors no EJB 3.0,
- Análise de Requisitos,
- Excel com Apache POI,
- Pesquisas com Apache Lucene *e mais 10 vídeo-aulas sobre o Struts2.



fonte: ceJUG

Postar um comentário