DGERT   APCER
Relações de compromisso

Desafios Inerentes à Utilização de Ambos os Paradigmas


Existe valor em ambos os paradigmas. Além disso, o CMMI e os métodos ágeis são compatíveis. Ao nível do projecto, o CMMI coloca o enfoque num nível elevado de abstracção relativamente aquilo que o projecto faz, e não nas nas metodologias de desenvolvimento que são utilizadas. Quanto aos métodos Ágeis, colocam o enfoque na forma como os projectos desenvolvem produtos. Consequentemente, o CMMI e os métodos Ágeis podem coexistir.

Pode-se obter um grande valor com as sinergias entre métodos Ágeis e CMMI. Actualmente, muitas das organizações que adoptaram o CMMI também têm equipas de desenvolvimento Ágil. De igual modo, o CMMI pode ser introduzido em organizações que utilizam abordagens Ágeis. O CMMI e os métodos Ágeis podem complementar-se através da criação de sinergias que beneficiam a organização que os utiliza.

Os métodos Ágeis fornecem aspectos ao desenvolvimento de software que faltam nas melhores práticas do CMMI - especialmente quando se trata de equipas de projecto de pequena dimensão e a trabalharem no mesmo local. Por sua vez, o CMMI fornece as práticas de engenharia de sistemas que permitem uma abordagem Ágil em grandes projectos, bem como as práticas de suporte e de gestão de processo que ajudam a desenvolver, manter e melhorar continuamente a implementação de uma abordagem Ágil em qualquer organização.

Desafios inerentes à utilização dos métodos Ágeis

O principal desafio quando se utiliza uma abordagem Ágil num grande projecto consiste em manter as pequenas equipas alinhadas e coordenadas durante todo o projecto, de modo a garantir o seu sucesso com a aplicação dos valores e princípios Ágeis. Para se manter o alinhamento e a coordenação em projectos distribuídos é necessário que alguém (possivelmente uma equipa) ou um mecanismo mantenha a coerência (ou seja, unidade, lógica e consistência) dos seguintes aspectos:

• Capacidades globais do sistema a serem desenvolvidas, incluindo requisitos não técnicos;
• Compromissos em termos de abrangência, qualidade, calendarização, custos e risco;
• Arquitectura de produto (ou serviço).

Se não se conseguir coerência, o alinhamento torna-se divergente em múltiplas frentes. Através de uma combinação de actividades como o planeamento de entregas, planeamento dos testes, integração contínua e utilização de uma orientação às funcionalidades (em vez de uma orientação aos componentes, as abordagens Ágeis têm conseguido ter bons resultados em grandes projectos.

Na perspectiva da engenharia de sistemas, estas actividades envolvem vários desafios no caso de projectos complexos e de grande dimensão para que apresentem um bom desempenho, nomeadamente:

• No estabelecimento dos objectivos gerais de produto e de uma visão de projecto;
• Na gestão da alocação dos requisitos às equipas;
• Na definição e manutenção de interfaces e restrições entre as equipas (tanto para o produto, como para o processo);
• Na manutenção de estratégias eficazes em termos de integração, verificação e validação para a globalidade do produto (ou serviço);
• Na coordenação da gestão do risco ao longo do projecto.

Estas actividades de alinhamento e de coordenação, necessárias em projectos complexos e de grande dimensão, são descritas nas práticas de engenharia de sistemas das áreas de processo Engenharia, Gestão de Risco e Gestão Integrada de Projecto do CMMI. Como tal, o CMMI fornece uma rede de segurança para os grandes projectos, ajudando a reduzir o risco de algo correr muito mal.

Alguns defensores dos métodos Ágeis reconhecem que a abordagem Ágil ainda não tem provas dadas quanto à sua eficácia e possibilidade como processo base de desenvolvimento de produto em grandes projectos. No entanto, têm-se vindo a registar sucessos crescentes quanto á utilização das abordagens Ágeis em grandes projectos, graças à introdução de um nível de coordenação e à atenção atempada e explícita aos requisitos não funcionais e à arquitectura de produto.

Alternativamente, os métodos Ágeis também estão a ser utilizados em aspectos ou componentes de grandes sistemas, com a equipa Ágil a ser isolada da equipa de desenvolvimento do resto do produto. A comunidade de desenvolvimento de software está a aprender cada vez mais como alargar eficazmente os actuais métodos Ágeis para funcionarem em projectos de maior dimensão e maior complexidade.

Os métodos Ágeis não têm geralmente práticas ou orientações para a implementação e suporte de uma abordagem Ágil numa organização. Apesar de algumas grandes empresas (como a CapitalOne, a BMC Software, ou a Yahoo!) estarem a dar continuidade à adopção de métodos Ágeis em empresas de grande dimensão, o nível de documentação e de orientação à implementação que está disponível para apoiar tais adopções é bastante modesto.

As implementações Ágeis não se conseguirão impor ou melhorar sem um contexto organizacional que suporte a definição de processo, medição, feedback, formação e melhoria - mecanismos que são descritos no CMMI. As práticas do CMMI também têm em conta a institucionalização e a melhoria dos processos implementados, sejam eles Ágeis ou não. Consequentemente, o CMMI suporta uma visão a longo prazo da adaptação e melhoria do processo na organização como um todo.

Evidentemente, muitas organizações identificaram e implementaram práticas de gestão de projectos, de desenvolvimento de software e de melhoria de processos sem recorrerem ao CMMI. O livro Microsoft Secrets aborda o caminho de sete anos percorrido pela Microsoft para melhorar a qualidade dos seus produtos. Possivelmente, em algumas das suas divisões, a Microsoft implementa muitas das práticas necessárias para alcançar o nível três de maturidade, de modo a reflectir os desafios do seu ambiente.

Isto quer dizer que, depois de algum tempo, as organizações poderão responder às suas falhas e implementar uma solução adequada sem o recurso a um modelo como o CMMI. No entanto, quando utilizado adequadamente, um modelo apropriado poderá tornar o caminho muito mais fácil.

Os impedimentos à introdução de uma abordagem Ágil também incluem factores comuns à introdução de qualquer nova tecnologia: falta de suporte de gestão e resistência geral à mudança. O CMMI e a experiência em melhoria de processos que tem vindo a crescer em torno deste modelo, podem responder a esses problemas. Por exemplo, com a introdução de um método Ágil, a gestão receia frequentemente a perda de controlo. A mistura entre uma abordagem top-down (CMMI) uma abordagem bottom-up (Ágil) poderá dar garantias à gestão de que as suas preocupações quanto aos esforços de melhoria têm uma resposta adequada.

Desafios inerentes à utilização do CMMI

Também existem alguns desafios para uma utilização bem sucedida das melhores práticas do CMMI. Nenhuma abordagem de desenvolvimento ou metodologia consegue responder eficazmente a todas as dificuldades ou situações. O facto de uma organização ter sido avaliada como detendo um determinado nível de maturidade CMMI não é garantia de que um determinado projecto dessa organização seja bem sucedido. As organizações que utilizam o CMMI também podem registar fracassos (e algumas registam-nos), uma vez que podem utilizar mal o modelo, ou procurar a melhoria de processos ou aprovações CMMI subsequentes com a motivação errada ou com uma liderança imprudente.

Por vezes, na pressa de se alcançar um dado nível de maturidade, perde-se o enfoque na melhoria do desempenho organizacional. Por exemplo, o processo standard poderá ser especificado em excesso e, consequentemente, colocar demasiadas restrições, em detrimento do sucesso do projecto. Por sua vez, as linhas de orientação poderão não permitir aos projectos a flexibilidade de que precisam para a adaptação de processos standard capazes de responder às necessidades e prioridades específicas de cada projecto.

Encontrar formas de responder mais eficazmente ao risco (e às oportunidades) foi uma das principais motivações para o desenvolvimento de abordagens iterativas e em espiral ao desenvolvimento de produtos e, mais recentemente, para o desenvolvimento dos métodos Ágeis. No mundo cada vez mais dinâmico dos nossos dias, as abordagens de melhoria de processos organizacionais baseadas no CMMI não podem basear-se exclusivamente nas abordagens tradicionais de gestão de projectos, em ciclos de vida de projecto baseados em cascata, ou em métodos de análise pesados.

Por outro lado, os processos standard podem ser subespecificados e omitir práticas de projecto e práticas organizacionais com provas dadas. A definição dos processos standard também pode ter tendência para tratar todas as práticas do CMMI de forma igual (para se conseguir um nível de maturidade) e falhar em reconhecer que algumas práticas específicas são críticas para o negócio. Uma atenção adequada a estas práticas poderá adicionar valor imediato, mas essas práticas podem perder-se no ruído de acelerar rumo à obtenção de um dado nível de maturidade.

O CMMI e os métodos Ágeis têm contributos válidos e complementares. Cada um dos lados deverá ouvir e aprender com o outro. O diálogo entre as duas partes será saudável e benéfico para os utilizadores, para os paradigmas e para a comunidade em geral.

Baseado num texto da autoria de Hillel Glazer, Jeff Dalton, David Anderson, Mike Konrad e Sandy Shrum, com o título "CMMI or Agile: Why Not Embrace Both!"

 

Topo
Pesquisa
Agenda
Destaques