terça-feira, 14 de setembro de 2010

PMBOK x SCRUM: Como gerenciar um projeto de software?

Administrar projetos de qualquer natureza tem sido uma tarefa árdua, em especial na área de Engenharia de Software, em função da velocidade com que as mudanças e as inovações acontecem. Os projetos de software, geralmente, são marcados por fracassos em decorrência dos prazos e orçamentos não-cumpridos, além de clientes insatisfeitos com o resultado do projeto.
Um relatório do órgão Standish Group, o “Chaos Report”, de 2001, mostra uma estatística muito interessante em relação aos projetos gerenciados pelas empresas americanas. Segundo ele, somente 26% dos projetos são bem-sucedidos; o restante, ou são abortados, ou não cumprem prazos e/ou custos. A maioria deles falha por falta de um gerente habilidoso, ou pela dificuldade na escolha da metodologia a ser utilizada em seu gerenciamento.
Na indústria de informática, geralmente, há dois tipos de abordagens utilizadas no gerenciamento de projetos. As abordagens do tipo “tradicional” identificam uma sequência de passos a serem completados. A outra é conhecida como “desenvolvimento ágil de software”, na qual o projeto é visto como um conjunto de pequenas tarefas, ao invés de um processo completo. O objetivo desta metodologia é reduzir ao mínimo possível o overhead de processos e facilitar as mudanças e a interação com os stakeholders, durante todo o desenvolvimento do projeto.
PMBOK x SCRUM
O modelo de qualidade PMBOK (corpo de conhecimento da gerência de projeto) é um padrão de gerência de projetos, constituído de um conjunto de conhecimentos e das melhores práticas sobre gerência de projetos. É aprovado pela ANSI (American National Standard) e foi desenvolvido pelo PMI (Project Management Institute), que se tornou uma importante referência para organizações que estão em busca da melhoria dos processos.
O propósito principal do PMBOK é identificar o subconjunto de conhecimentos sobre a profissão, através de práticas tradicionais e inovadoras, aplicáveis para a maior parte dos projetos, na maior parte do tempo. Além disso, busca fornecer um guia genérico para todas as áreas de projetos, seja uma obra de construção civil, um processo de fabricação industrial ou a produção de um software. E também provê um vocabulário único para a gerência de projetos, padronizando seus termos.
Uma nova metodologia para desenvolvimento de software tem despertado grande interesse entre as organizações de todo o mundo, devido à necessidade de um desenvolvimento ágil de aplicações, por ocasião do ritmo acelerado de mudanças na tecnologia da informação e do grande dinamismo no ambiente de negócios.
O SCRUM é uma metodologia ágil, relativamente nova e poucas empresas no Brasil têm utilizado os benefícios desta abordagem. Apenas recentemente, a expressão “Métodos Ágeis” vem se tornando mais popular, pois usa uma técnica simplificada. No entanto, “ser simples” geralmente é confundido com falta de controle e completa anarquia.
Os praticantes do SCRUM sabem exatamente o que está acontecendo ao longo do projeto e podem realizar os devidos ajustes, para mantê-lo em movimento ao longo do tempo, visando alcançar seus objetivos. Logo, o SCRUM não diz exatamente o que fazer, não resolve todos os problemas, mas certamente eles são mais facilmente identificados. O SCRUM serve como um guia de boas práticas para o alcance do sucesso.
Entretanto, as decisões de quando e como usar o SCRUM, e quais táticas e estratégias seguir para obter produtividade e realizar entregas, ficam por conta de quem o estiver aplicando. O conhecimento das suas práticas permite uma aplicação de forma variada, e este é um dos aspectos positivos do SCRUM – a adaptabilidade.
Vale ressaltar que as práticas do SCRUM podem ser aplicadas em qualquer contexto, no qual pessoas precisem trabalhar juntas para atingir um objetivo comum. O SCRUM é recomendado para projetos nas áreas de software, automotiva, telecom e, principalmente, de pesquisa e inovação. O SCRUM torna-se ideal para projetos dinâmicos e suscetíveis a mudanças de requisitos, sejam eles novos ou apenas modificados. No entanto, para aplicá-lo, é preciso entender, antes, seus papéis, suas responsabilidades, seus conceitos e os artefatos das fases do ciclo.
A abordagem ágil (SCRUM), assim como a abordagem tradicional (PMBOK), possui características positivas e negativas, sendo que a principal diferença entre as duas está no conjunto de pressupostos de cada uma. É possível afirmar, ainda, que existe uma sinergia muito grande entre as duas metodologias, ou seja, uma pode complementar a outra.
O ponto-chave para diminuir a lacuna existente entre o uso das abordagens “tradicional” e “ágil” está em considerar, na escolha de uma ou de outra, as características do projeto a ser desenvolvido, ou seja, buscar aplicar a metodologia correta para o trabalho a ser realizado. Os projetos que têm como natureza a inovação tecnológica inviabilizam o uso da abordagem tradicional (PMBOK), pois o risco de ser necessário alterar um produto depois da conclusão de uma fase de seu ciclo de vida é bastante alto. A abordagem ágil (SCRUM) consegue uma adaptação muito fácil nesses casos de mudança (seja de requisitos ou de escopo do projeto).
Por outro lado, a abordagem tradicional é mais adequada para projetos que necessitam de um forte planejamento e muita disciplina no processo, mas ela não promove uma ampla comunicação entre os membros de equipes diferentes e seus gerentes, o que também representa uma característica de modelo centralizado.
O SCRUM como metodologia ágil de gerenciamento pode ser relacionado ao modelo de gerenciamento de projetos hierárquicos, com compartilhamento de informações entre as equipes. O gerente de projetos, em geral, realiza o papel de SCRUM Master, agindo como um facilitador e não tomando as decisões sozinho, pois outra característica implícita do SCRUM é que o time deve ser participativo em todas as decisões (inclusive de planejamento). Além disso, o SCRUM promove uma ampla comunicação entre os stakeholders envolvidos no desenvolvimento do projeto, o que é uma característica fundamental das metodologias ágeis de desenvolvimento.

Nenhum comentário: