quinta-feira, 25 de abril de 2013

Seu Time Está Preparado para Jogar?

Falar de esporte é sempre prazeroso. Independente da cultura, país de origem ou estilo social, nós buscamos no esporte uma maneira de aliviar a tensão, melhorar a saúde e nos entreter. O que muitas vezes não pensamos é que o esporte pode nos ensinar muito em relação ao nosso dia-a-dia corporativo. Isso porque o dia-a-dia de uma equipe esportiva é parecido com o dia-a-dia de muitas empresas. Ela tem atividades que devem ser planejadas, objetivos a cumprir, riscos, imprevistos e uma necessidade fundamental de gestão de pessoas. Neste paralelo, tiramos grandes lições que podemos transferir para projetos de qualquer natureza.
1. A força da equipe não vem da força unitária de seus integrantes, e sim da forma coesa com que a utilizam em prol do grupo.
Uma das principais jogadas do Rugby chama-se Scrum. Nesta jogada, os integrantes de um time se agrupam para, juntos, formarem uma corrente forte, empurrar seu adversário e ficar com a bola. Neste momento, o valor mais importante é como os integrantes conseguem utilizar suas forças de forma conjunta para fortalecer o grupo ao invés de tentarem utilizar suas forças separadamente em prol de si mesmos.
Se transferirmos essa visão para uma equipe corporativa, entende-se que é necessário utilizar nossos talentos, dedicação e conhecimentos com o intuito de elevar a capacidade do time, ao invés de pensarmos individualmente. E não só dentro de nossa equipe, mas na empresa como um todo, pois um departamento individualizado não conseguirá sustentá-la. Enfim, todos fazemos parte do mesmo time e, como tal, precisamos trabalhar juntos para um benefício comum.
2. Dentro de uma equipe, todos somos iguais, temos a mesma oportunidade de contribuir e devemos ser tratados com igualdade e respeito.
Pode parecer uma coisa simples, mas muitas vezes não damos, como líderes, a mesma atenção para todos os membros de nossa equipe. Quando isso acontece, geramos frustrações que futuramente tornarão a equipe menos criativa.
No futebol moderno, aprendemos que um time é feito de mais do que 11 jogares. Se o técnico não souber manter sua equipe motivada e tratar a todos com igualdade, poderá promover desarmonia e tornar o time menos motivado.
Do mesmo modo, em uma equipe de projetos, devemos promover um ambiente onde todos sintam-se capazes de criar igualmente, independente da senioridade ou do cargo empregado. Muitas vezes, uma pessoa pode ser considerada Júnior para uma determinada tarefa, mas suas experiências de vida não podem ser avaliadas da mesma maneira. Assim, precisamos ficar atentos a não menosprezar considerações com base no peso do crachá e sim no conhecimento da pessoa, frente ao problema encontrado.
3. Motive todos a fazer o melhor para equipe. Mesmo que, para tal, seja necessário se sacrificar.
Muitas vezes fazemos algo que não gostamos, mas que deve ser feito para o bem da equipe. Incentivar e valorizar tais ações é fundamental para promover um ambiente produtivo.
Para o melhor do time, às vezes, o técnico muda o posicionamento de um jogador e o coloca para atuar onde não gosta; ou é obrigado a defender, quando seu desejo é atacar.
Em um time corporativo, em certos momentos, precisamos que os membros da equipe realizem tarefas que não gostam. Nesses momentos, o líder precisa mostrar de forma clara o valor da atividade, valorizar o empenho do profissional e entender certas falhas. Ao contrário, vai desmotivar ainda mais o profissional que já está angustiado com a atividade.
4. Controle a expectativa de seu cliente.
Gerenciar a expectativa de seus respectivos clientes é algo fundamental para o sucesso, tanto de uma equipe corporativa, quanto de uma equipe de futebol. Quanto melhor a expectativa for gerenciada, menor será a possibilidade de frustração.
No caso do futebol, os clientes de um time são seus torcedores e suas expectativas são diversas, de acordo com o momento de cada time. Certas vezes, um técnico sabe que não conseguirá apresentar atuações brilhantes, porém sabe que pode atingir o objetivo imposto pela diretoria e pela torcida, seja um título, uma classificação ou uma fuga do rebaixamento.
No caso de equipes de projeto, gerenciar expectativas vai além de entregar aquilo que foi prometido. É também ser honesto em relação aos prazos de entrega e àquilo que não pode ser realizado.
Em ambos os casos, pautar a expectativa em algo possível de ser atingido é um fator fundamental para o sucesso. Metas audaciosas demais podem gerar frustações, perda de confiança e declínio de apoio por parte dos clientes.
5. Celebre hoje, retome o foco amanhã.
2013 Korean Grand Prix - SundayDiversas vezes ouvimos um esportista dizer, logo após a conquista de um troféu ou medalha, que mal poderá celebrar, pois outra competição iniciará em breve, ou mesmo que conquistou a competição, enquanto ainda disputa outra competição. Outras vezes, ouvimos comentários de que certo esportista perdeu uma competição por ter comemorado excessivamente a conquista passada.
Da mesma maneira, na vida corporativa, quando entregamos um projeto ou finalizamos uma atividade, precisamos celebrar o sucesso, pois celebrar o sucesso de uma empreitada é fundamental, seja na vida pessoal ou profissional. Entretanto, devemos nos precaver para que a fase de celebração não se prolongue demais, a ponto de nos fazer perder o foco em novas empreitadas.
6. Tenha adversários na vida, nunca inimigos.
Não existe competição sem adversário, seja no esporte ou em nossas vidas pessoais. Mas isso não quer dizer que nosso adversário seja nosso inimigo. Adversários enaltecem nossa vitória, fazem com que aprendamos com nossa derrota e que busquemos uma constante evolução. Inimigos nos fazem perder, independente de quem tenha vencido a disputa.
O UFC pode ser considerado um esporte violento, mas também pode ser considerado um esporte que preza pelo respeito mútuo e incondicional de seus competidores. Da mesma maneira, no ambiente corporativo, empresas podem identificar concorrentes como adversários em uma venda. Mas, em outra oportunidade, o uma empresa outrora concorrente pode ser parceira em um projeto ou consórcio. Em nossas vidas podemos encontrar muitos adversários: um pretendente à pessoa que gostamos, um concorrente à promoção que almejamos, ou a pessoa que negocia conosco em uma compra ou venda. Em todos os casos, a pessoa que concorre conosco deve ser tratada como nosso adversário e não como inimigo.
Por fim, podemos dizer que o valor em praticar e acompanhar esportes não se restringe à saúde do corpo e da mente, mas também em aprender conceitos que podem nos fazer pessoas e profissionais melhores. Pense nisso na próxima vez que assistir a um jogo de futebol, partida de tênis ou qualquer outro tipo de competição. Pode ser que você extraia desse momento muito mais do que apenas distração!

MS Project x Kanban: Qual a melhor?

Muitos líderes e gerentes de projeto tem receio em deixar de utilizar o MS Project e passar a utilizar o Kanban, para gerir o andamento de um projeto. Suas maiores preocupações são perder o controle das atividades da equipe, dificuldade em prever os próximos passos e, com isso, ter problemas no futuro.

Suas preocupações tem fundamento, se pensarmos em um projeto tradicional. Entretanto, aplicar metodologias ágeis, na prática, requer uma mudança de cultura e pensamento. Principalmente em relação à demanda de atividades para equipe.

Quando aplicamos Ágil, permitimos uma auto-gestão, por parte da equipe. Assimilamos que eles possuem o conhecimento necessário para realizar suas atividades a seu modo. Em outras palavras, gerimos o destino da jornada, mas não o caminho para alcançá-lo.

Com o Kanban, podemos listar as User Stories (falaremos sobre elas mais pra frente) que serão desenvolvidas durante o Sprint. E permitimos que os desenvolvedores escolham quais delas eles pretendem trabalhar, seja por afinidade, ou por necessidade. Ao final do Sprint, teremos todas as User Stories desenvolvidas, conforme o planejado. Como nem sempre o desenvolvedor poderá trabalhar na User Story que deseja, por necessidade, este processo criará um sentimento maior de comprometimento, entre o time.

Isso não significa que o MS Project não seja uma boa ferramenta. Apenas acredito que seu objetivo seja um pouco diferente, no mundo ágil. Acredito que o MS Project é uma excelente ferramenta para gerir Work Items (também falaremos mais a frente), caso utilize o TFS, como ferramenta de apoio ao ciclo de vida do projeto. Ele também é ótimo para compartilhar informações, de maneira macro, entre as equipes e os clientes. Além de fornecer uma vasta gama de visualizações, que facilitam a vida de um gestor.

Em suma, para gerir o andamento do projeto e as atividades da equipe, acredito que o Kanban seja a melhor ferramenta. Porém, para realizar análises de fatos passados, como o andamento até o momento, o MS Project é uma ótima ferramenta.

Até o próximo post.

quarta-feira, 24 de abril de 2013

Uma Visão Aprodundada dos Fundamentos do Manifesto Ágil

Formulado em 2001, o Manifesto Ágil deu origem a um novo modelo de projetos de sistema. Seus valores e princípios foram escritos de forma muito simples, porém abrem margem para entendimentos pessoais. Em especial seus valores fundamentais.

Dessa maneira, vou apresentar cada um dos 4 valores, sob um olhar mais profundo, para que possamos entendê-los melhor.

Primeiro é importante entender como os valores foram escritos. Cada valor fundamental do Manifesto Ágil descrevem a valorização do item à esquerda, frente ao item da direita, separados pelo termo "mais que". Porém, valorizar mais um item não quer dizer que o outro seja desnecessário, ou inapropriado. Diz apenas que um é mais importante que outro, como veremos a seguir.

Indivíduos e interação entre eles mais que processos e ferramentas

Indivíduos são os bens mais preciosos de uma empresa. São eles que efetivamente produzem e mantém a empresa em funcionamento. Assim, criar um ambiente favorável, confortável e produtivo para o indivíduo certamente trará inúmeros benefícios à empresa. 

A forma como interagem - como a informação é propagada e como são absorvidas - é outro tema de suma importância. Uma informação equivocada pode causar mais estragos do que a falta dela. Por isso, o Manifesto Ágil tem tanto foco na comunicação, tanto dentro da equipe, como entre equipe e cliente.

Por outro lado, processos são necessários para padronizar a maneira como determinadas tarefas são realizadas. Em forma de Guidelines, os processos norteiam a equipe e evitam a dependência das empresas, em seus funcionários. Uma equipe com padrões de desenvolvimento torna-se mais capaz de compartilhar o código fonte, entre seus desenvolvedores, por exemplo.

Do mesmo modo, ferramentas facilitam o processo e aprimoram a disseminação de informações e permitem a distribuição da equipe, geográficamente.

Software em funcionamento mais que documentação abrangente

Software funcionando é a melhor maneira de mensurar o andamento do projeto, assim como seu sucesso ou fracasso. Alé disso, este é o objetivo primário, esperado por um projeto de desenvolvimiento de sistemas.

Em projetos mais simples, o próprio código fonte pode ser considerado como a documentação do projeto. Desde que bem arquitetado, modelado e comentado, para que futuras implementações tornem-se mais eficientes.

Todavia, projetos mais críticos podem necessitar de uma documentação mais apropriada. Seja por motivos legais, contratuais, ou por abordarem assuntos que requeiram maiores níveis de detalhe. Um projeto para o desenvolvimento de um sistema de diagnósticos médicos pode utilizar uma metodologia ágil. Porém, o risco inerente ao projeto implica numa real necessidade de dua documentação, assim como do sistema produzido. 

Projetos formados por equipes distribuídas ou complexas,  também podem ser alvo de uma documentação mais aprimorada. O motivo é a necessidade de se transmitir informações de forma que todos a recebam, e a interprete, de forma homogênea, para que não se crie dúvidas ou má informação, entre as equipes.

Em ambos os casos, o detalhe da documentação dependerá da criticidade do projeto, da necessidade por parte do cliente, e da possibilidade de manutenção de tal documentação. 

Colaboração com o cliente mais que negociação de contratos

Ter a colabração do cliente durante todo o projeto é o fator mais importnate, para o sucesso de um projeto. Isso significa compartilhar, de forma transparente, os riscos, oportunidades, seu andamento e custo.

Em projetos internos, onde o cliente do projeto pertence à mesma empresa que o desenvolve, tal colaboração torna-se mais fácil, visto que não há necessidade de formalização de contratos. Ainda sim existem muitos desafios em criar um ambiente de total colaboração, entre a equipe de desenovimento e o cliente.

Entretanto, quanto mais colaboração existir entre ambas as partes, maior a possibilidade de sucesso de um projeto.

Já em projetos entre empresas distintas, onde uma empresa contrata um fornecedor, para o desenvolvimento de um projeto, raramente não será formalizado por um contrato. Neste ponto, novamente, a colaboração entre cliente e equipe torna-se fator crucial para o sucesso do projeto. Para criar um modelo ágil de projeto, onde mudanças são esperadas, diversas metodologias ágeis sugerem contratos com cláusulas que possibilitam uma maior colaboração e, por consequência, menos burocracia me mudanças de escopo. 

Responder a mudanças mais que seguir um plano

Como vimos, mudanças são sempre esperados, em projetos de desenvolviimento de sistemas. Então para que criar um plano que certamente sofrerá alterações? A resposta é simples. Planos são criados para nortear o projeto, e não para amarrá-lo. 

Ao criarmos um plano de projeto, prevemos seus riscos, seu custo (mesmo que superficial) e um prazo adequado para sua conclusão. Um plano de projetos ágil certamente terá um menor nível de detalhes que um projeto tradicional. E sofrerá alterações durante sua evolução. Porém, a cada nova fase, será possível validar se ainda estamos no caminho certo, dentro de um custo esperado, ou se o projeto de disvirtuou de seu objetivo inicial.

Conclusão, o Manifesto Ágil aponta um valor maior para os itens da direita, como diretrizes para um maior sucesso de um projeto. Porém o valor dos itens da esquerda deve ser sempre avalido de acordo com sua necessidade.

Até o próximo post.

terça-feira, 23 de abril de 2013

Primeiro post, breve apresentação

Olá a todos.

Como este é meu primeiro post, resolvi fazer uma apresentação breve, sobre mim e sobre o que vocês podem esperar deste blog.

Meu nome é Thiago Novelli. Tenho 34 anos, sou formado em Sistemas de Informação, pela Universidade Anhembi-Morumbi, estudo MIT na FIAP e trabalho, como Consultor Sênior, na empresa Avanade Brasil.

Sou certificado em PMI-ACP, Scrum Master, ITIL V.3 Foundation, CobIT V.4.1 Foundation, MSTS em TFS 2010 Administration, MCP em Aspx e SQL Server.

Possuo experiência de 5 anos em gerência e liderança de projetos e mais 7 anos em desenvolvimiento de sistemas na tecnologia Dot Net, em todas as suas versões. Apoio e atuo em frentes ágeis de desenvolvimento e gestão de projetos.

Espero, com este blog, compartilhar um pouco do meu conhecimento em projetos embasados pelas metodologias ágeis.

O blog também trará novas visões, e tendências, no mundo de TI, comentários sobre artigos interessantes e novidades de tecnologia. Afinal, nem só de trabalho vive um homem.

Até os próximos posts!