Já conhece o eXtreme Go Horse Programming?

Você conhece o eXtreme Go Horse (XGH) Programming? Não?? Então não perca tempo e veja aqui essa maravilhoso processo 🙂 Será que a vida de desenvolvimento de software fica mais fácil depois das dicas desse processo? 😀

1- Pensou, não é XGH.

XGH não pensa, faz a primeira coisa que vem à mente. Não existe segunda opção, a única opção é a mais rápida.

2- Existem 3 formas de se resolver um problema, a correta, a errada e a XGH, que é igual à errada, só que mais rápida.

XGH é mais rápido que qualquer metodologia de desenvolvimento de software que você conhece (Vide Axioma 14).

3- Quanto mais XGH você faz, mais precisará fazer.

Para cada problema resolvido usando XGH, mais uns 7 são criados. Mas todos eles serão resolvidos da forma XGH.

XGH tende ao infinito.

4- XGH é totalmente reativo.

Os erros só existem quando aparecem.

5- XGH vale tudo, só não vale dar o toba.

Resolveu o problema? Compilou? Commit e era isso.

6- Commit sempre antes de update.

Se der merda, a sua parte estará sempre correta.. e seus colegas que se fodam.

7- XGH não tem prazo.

Os prazos passados pelo seu cliente são meros detalhes.

Você SEMPRE conseguirá implementar TUDO no tempo necessário (nem que isso implique em acessar o BD por um script maluco).

8- Esteja preparado para pular fora quando o barco começar a afundar… ou coloque a culpa em alguém ou algo.

Pra quem usa XGH, um dia o barco afunda. Quanto mais o tempo passa, mais o sistema vira um monstro.

O dia que a casa cair, é melhor seu curriculum estar cadastrado na APInfo, ou ter algo pra colocar a culpa.

9- Seja autêntico, XGH não respeita padrões.

Escreva o código como você bem entender, se resolver o problema, commit e era isso.

10- Não existe refactoring, apenas rework.

Se der merda, refaça um XGH rápido que solucione o problema. O dia que o rework implicar em reescrever a aplicação toda, pule fora, o barco irá afundar (Vide Axioma 8).

11- XGH é totalmente anárquico.

A figura de um gerente de projeto é totalmente descartável. Não tem dono, cada um faz o que quiser na hora que os problemas e requisitos vão surgindo (Vide Axioma 4).

12- Se iluda sempre com promessas de melhorias.

Colocar TODO no código como uma promessa de melhoria ajuda o desenvolvedor XGH a não sentir remorso ou culpa pela cagada que fez. É claro que o refactoring nunca será feito (Vide Axioma 10).

13- XGH é absoluto, não se prende à coisas relativas.

Prazo e custo são absolutos, qualidade é totalmente relativa. Jamais pense na qualidade e sim no menor tempo que a solução será implementada, aliás… não pense, faça!

14- XGH é atemporal.

Scrum, XP… tudo isso é modinha. O XGH não se prende às modinhas do momento, isso é coisa de viado. XGH sempre foi e sempre será usado por aqueles que desprezam a qualidade.

15- XGH nem sempre é POG.

Muitas POG’s exigem um raciocínio muito elevado, XGH não raciocina (Vide Axioma 1).

16- Não tente remar contra a maré.

Caso seus colegas de trabalho usam XGH para programar e você é um coxinha que gosta de fazer as coisas certinhas, esqueça! Pra cada Design Pattern que você usa corretamente, seus colegas gerarão 10 vezes mais código podre usando XGH.

17- O XGH não é perigoso até surgir um pouco de ordem.

Este axioma é muito complexo, mas sugere que o projeto utilizando XGH está em meio ao caos. Não tente por ordem no XGH (Vide Axioma 16), é inútil e você pode jogar um tempo precioso no lixo. Isto fará com que o projeto afunde mais rápido ainda (Vide Axioma 8). Não tente gerenciar o XGH, ele é auto suficiente (Vide Axioma 11), assim como o caos.

18- O XGH é seu brother, mas é vingativo.

Enquanto você quiser, o XGH sempre estará do seu lado. Mas cuidado, não o abandone. Se começar um sistema utilizando XGH e abandoná-lo para utilizar uma metodologia da moda, você estará fudido. O XGH não permite refactoring (vide axioma 10), e seu novo sistema cheio de frescurites entrará em colapso. E nessa hora, somente o XGH poderá salvá-lo.

19- Se tiver funcionando, não rela a mão.

Nunca altere, e muito menos questione um código funcionando. Isso é perda de tempo, mesmo porque refactoring não existe (Vide Axioma 10). Tempo é a engrenagem que move o XGH e qualidade é um detalhe desprezível.

20- Teste é para os fracos.

Se você meteu a mão num sistema XGH, é melhor saber o que está fazendo. E se você sabe o que está fazendo, vai testar pra que? Testes são desperdício de tempo, se o código compilar, é o suficiente.

21- Acostume-se ao sentimento de fracasso iminente.

O fracasso e o sucesso andam sempre de mãos dadas, e no XGH não é diferente. As pessoas costumam achar que as chances do projeto fracassar utilizando XGH são sempre maiores do que ele ser bem sucedido. Mas sucesso e fracasso são uma questão de ponto de vista. O projeto foi por água abaixo mas você aprendeu algo? Então pra você foi um sucesso!

22- O problema só é seu quando seu nome está no Doc da classe.

Nunca ponha a mão numa classe cujo autor não é você. Caso um membro da equipe morra ou fique doente por muito tempo, o barco irá afundar! Nesse caso, utilize o Axioma 8.

Fonte: http://gohorseprocess.wordpress.com/extreme-go-horse-xgh/

Esse texto é uma brincadeira, você pode me xingar no twitter: @maribalbe

Gestão de Projetos: mais do que metodologias

Hoje em dia ainda vejo empresas tratando o gerenciamento de projetos como algo engessado, como algo tradicional e com restrições.

  • Se você não utilizar tal metodologia não vai dar certo.
  • Se você não for certificado não vai conseguir.
  • Se você não seguir o que os especialistas falam não vai conseguir.

Que visão é essa?

Gerir projetos é muto mais do que metodologia.

Atualmente gerencio projetos em uma empresa da área de TI, onde aplico o que funciona!

Aplico o que minha equipe necessita, o que meu cliente precisa para ter os melhores resultados.

Utilizo práticas que combinam com o resultado que quero alcançar.

Gerenciar projetos é muito mais do que delegar tarefas para a equipe, gerenciar projetos é malabarismo constante de avaliação de prioridades, avaliação de recursos, prazos, riscos, resolução de problemas, entre tantas coisas que fazemos.

E quando temos a necessidade de gerenciar vários projetos ao mesmo tempo, e manter tudo alinhado, fica muito clara a necessidade da colaboração e da comunicação, alinhar equipe e interessados no projeto em busca do melhor resultado.

Gerentes de projeto não são independentes, nem fazem milagres, são totalmente dependentes do feedback das suas equipes e dos clientes. A comunicação tem papel chave nas tomadas de decisões, na identificação de riscos, na aprovação de solicitações.

Use modelos, mas não esqueça que de nada adianta a melhor metodologia se não tem profissionais comprometidos com o que fazem. Metodologias não salvam projetos. Projetos são etapas que possuem inicio e fim, e precisam de profissionais envolvidos com o que fazem.

De nada adianta ter um gerente de projetos certificado em várias tecnologias, se o mesmo não consegue se comunicar com eficaz com seu time de desenvolvimento. De nada adianta ter conhecimento das melhores práticas, se na hora de por a “mão na massa” não sabe qual a melhor decisão tomar.

Antes de entrar nessa linha de gestão de projetos, só enxergava pessoas com o perfil “gerentão”, sim, aquele que pensa que manda em todo mundo e que não faz nada para o bem do seu time e da organização. Depois que tive contato com essa área, conheci várias pessoas que estão envolvidas e conseguem fazer um ótimo trabalho deixando de lado aquela velha visão de um gerente de projetos que não faz nem a metade do que promete, e que sequer se importa de verdade com as pessoas envolvidas nos projetos que gerencia.

E essa experiência firma mais minha visão, de que boas metodologias não vão te salvar, se você não souber articular, perceber as atitudes, as emoções das pessoas envolvidas, se você não sentir na pele o que sua equipe está sentindo, não vai conseguir bons resultados.

Pessoas são a chave para o sucesso. Esqueça o gerentão, e direcione o foco na sua equipe, na boa comunicação com os envolvidos, na colaboração entre as funções. Nos resultados que podem ser alcançados se você conseguir liderar de forma saudável, sem prepotência, sem arrogância, apenas sendo um líder. Onde as pessoas acreditam no que você faz, e fazem junto com você, e o melhor de tudo, gostam do que fazem.

Me arrisco a falar que se você conseguir perceber as limitações da sua equipe, perceber as necessidades, se comunicar de forma clara, e dar autonomia para o time na medida que o mesmo for adquirindo maturidade, as coisas vão dar certo.

Nessa área, onde os riscos são gigantes e as pessoas são imprevisíveis, o melhor a fazer é manter a sinergia do time, alinhar os objetivos e por a mão na massa, de verdade.

Você pode me xingar no Twitter!

Trabalho em equipe: Quais erros você comete?

Marília Balbé é escritora convidada do Bytes Don’t Bite e você pode  encontrá-la em @maribalbe

Já parou pra pensar o quanto precisamos dos outros para desenvolver determinadas tarefas? Já parou para analisar o quanto o trabalho em equipe está cada vez mais badalado?

Ter a capacidade de manter um bom trabalho em equipe é uma habilidade muito valorizada! E com certeza é um grande diferencial na hora de escolher um candidato para uma vaga de emprego dentro de uma organização. Quem vai querer alguém sem essa característica dentro da equipe?

Nas empresas que conheço um dos pré-requisitos fundamentais para conseguir aquela vaga de emprego é ter capacidade de trabalhar em conjunto e atingir objetivos com a equipe.

Justamente por isso, separamos alguns dos principais erros que geralmente acontecem nos ambientes de trabalho, onde equipes são prejudicadas por comportamento de colaboradores.

Vamos a nossa lista de possíveis erros detectados em algumas equipes:

– Ficar irritado com os colaboradores

Equipe sem atrito definitivamente não é uma equipe de verdade! Imagina várias personalidades e habilidades diferentes em um mesmo ambiente.. Com certeza atritos vão ocorrer, mas é nessa hora que devemos colocar em prática a empatia para evitar que o problema se torne maior ainda. Cada colaborador tem um ritmo e um rendimento. Alguns vão aprender mais rápido do que os outros..  Manter um ponto de equilíbrio entre ser educado e o emocional é importante demais nesses momentos de tensão.

– Recusar trabalho em equipe

Vai querer abraçar o mundo sozinho? Temos exemplos de sobra que grandes e bons resultados não nascem de ações individuais e isoladas. Resistir ao trabalho em equipe pode causar grandes danos para sua carreira, afinal, conseguir lidar com pessoas totalmente diferentes é um desafio enorme, e quem consegue fazer isso tem pontos a somar no currículo! Na organização, e dentro da equipe um depende do outro.. Se você não quiser colaborar com o seu colega do lado, teremos um enorme gargalo nas ações realizadas. Se você ainda não consegue, chegou a hora de dar essa abertura, e começar a praticar.

– Não respeitar as diferenças

Equipes são compostas de pessoas totalmente diferentes, com habilidades diferentes. E ainda existem pessoas que simplesmente não respeitam a opinião e a postura do colega de trabalho. E aí? Como fica? As diferenças é que dão o balanço e a sinergia na equipe. Onde um complementa o outro. O que um não sabe, o outro pode ajudar. Respeitar essa diversidade é essencial no ambiente de trabalho. Aceitando a diversidade, as possibilidades de atuação são ampliadas, sem invadir o espaço do outro. Vai ficar de cara fechada pelo seu colega discordar de você? Sem essa!

 – Resolver depois

Aqui é fator crítico, em todo ambiente que vejo onde conflitos são deixados pendentes a situação fica pior do que já está. Quando conflitos são acumulados, a proporção dos mesmos aumenta.. Podem ser dúvidas, algum desconforto, decisões adiadas, entre outros. Se o colaborador não tentar resolver o assunto, isso pode gerar fofoca com os outros colegas da equipe, antipatia, e sem falar no péssimo clima dentro do ambiente de trabalho.

Os deslizes que acontecem no nosso dia-a-dia de empresas são muitos, onde não conseguimos numerar tudo, onde as diversidades são gritantes, onde os desafios e obstáculos aparecem a todo o momento. Aqui vale gerar uma boa estratégia para a sinergia acontecer entre a equipe, onde o foco são resultados e manter a criatividade entre os envolvidos.

Chefes, gerentes, desenvolvedores, auxiliares, não importa o seu cargo, você comete erros, você precisa aprender mais. E no mercado competitivo que vivemos aprender algo novo sempre. Somos cobrados e cada vez mais, devemos mostrar pra que viemos.

E você? O que acha importante evitar ao trabalhar em equipe?

Você pode me xingar no Twitter: @maribalbe