Você está na página 1de 7

Agilidade

Nesta seção você encontra artigos voltados para as práticas e métodos ágeis.

Integrando Agilidade com maturidade


Conheça algumas formas de integração entre metodologias ágeis e os
modelos CMMI e MPS.BR

de software mais utilizados, é possível definir um


Integrando Agilidade com maturidade:
processo de desenvolvimento aderente aos padrões
O processo de desenvolvimento de um software é
consolidados de qualidade e que seja implementa-
uma sequência lógica de atividades com o objetivo
do por métodos ágeis de desenvolvimento, unindo
final de produzir ou evoluir um produto. Essas ativi-
os benefícios de ambos os paradigmas.
dades englobam a especificação de requisitos, aná-
Este artigo apresenta características específicas dos
lise e design, implementação, testes e implantação.
principais métodos ágeis e dos modelos de maturi-
Caracterizando-se pela interação de ferramentas,
dade CMMI e MPS.BR, para então, desenhar um mo-
pessoas e métodos.
delo que mostra, na prática, como os dois diferentes
Um dos caminhos para se trabalhar com melhoria
paradigmas podem se integrar e conceber um pro-
de processos é fazer uso de modelos de maturidade.
cesso de desenvolvimento de software de qualida-
Estes indicam um conjunto de boas práticas que
de moderno. Este artigo mostra que o preconceito
podem ser estabelecidas na organização de forma
existente que separa os modelos de maturidade e
a propiciar que ela obtenha melhores resultados no
melhoria de software e as metodologias ágeis não é
desenvolvimento de produtos de software. Tam-
justificado. Inclusive, é apresentada uma proposta
bém estimulado pelo desafio de entregar software
prática de integração entre eles.
de qualidade, dentro do prazo e no custo planejado,
surgiram as metodologias ágeis.
Entretanto, por defenderem formas de desenvol- Em que situação o tema é útil:
vimento muitas vezes contrárias, os modelos de Diante do atual cenário de mercado altamente
maturidade CMMI e MPS.BR e os métodos ágeis competitivo, é importante que as organizações
geralmente caminham em vias diferentes. Porém, invistam na melhoria de processos para atender
a partir das características apresentadas pelas às suas perspectivas (satisfação dos clientes, lu-
Bruno Carreira Coutinho Silva principais práticas ágeis e modelos de maturidade cratividade, qualidade, entre outras).
brunocarreira@gmail.com
Possui graduação em Ciência da Compu-
tação e mestrado na área de Qualidade de

A
Software pela UFES. Tem mais de 12 anos utilização de metodologias competitivo. As práticas ágeis iniciaram
de experiência profissional na área de en- ágeis em projetos de desenvol- sua aplicação em organizações de pe-
genharia de software, atuando principal- vimento de software já é uma queno porte, apesar de terem mostrado,
mente como arquiteto de software J2EE.
realidade, sendo motivada principal- ao longo dos últimos anos, que também
Utiliza o framework Scrum há três anos e
atualmente é engenheiro de software no mente por sua característica dinâmica, podem ser utilizadas em corporações de
serviço público federal. exigência de um mercado cada vez mais médio e grande porte, onde é comum a

6 Engenharia de Software Magazine - Integrando Agilidade com maturidade


AG IL I DAD E

implementação de práticas formais de melhoria de processo • Metáfora: tradução das palavras do cliente para facilitar a
de software, dada a necessidade de se repetir e melhorar os comunicação com o desenvolvedor;
resultados obtidos em todos os projetos do portfólio organi- • Projeto Simples: é preciso ter foco na funcionalidade mais
zacional. Os modelos de melhoria de processos de software importante para cada iteração;
mais utilizados no Brasil são o CMMI e MPS.BR, considerados • Testes de Aceitação: testes construídos pelo cliente em
referência para empresas que desejam elaborar processos conjunto com analistas e testadores para aceitação de deter-
otimizados e maduros. minados requisitos;
Muitos adeptos dessas metodologias defendem que mo- • Programação em Pares: Desenvolvedor experiente e iniciante
delos de melhoria de software, como o CMMI e MPS.BR, e programando juntos buscando amadurecimento do iniciante e
metodologias ágeis divergem entre si em conceito e propósito, proporcionando a revisão do código em busca de diminuição
impossibilitando que possam ser integrados. Talvez esse tipo de defeitos;
de reação se deva ao aparente antagonismo de princípios en- • Refatoração: proporciona melhoria contínua da progra-
tre elas ou, até mesmo, por simples orgulho proveniente do mação, mantendo a compatibilidade com código original,
comportamento humano. diminuição de erros e duplicações de código;
Na observação criteriosa dos processos e práticas do CMMI • Propriedade Coletiva: onde o código não tem dono, pro-
e MPS.BR e alguns métodos propostos pelo manifesto ágil, porcionando que todos alterem qualquer parte do programa
é possível perceber que ambos se complementam, ou seja, e conheçam todas as suas partes;
é perfeitamente viável definir um processo de software • Integração Contínua: a cada nova funcionalidade produzida,
aderente a modelos de maturidade e utilizar métodos ágeis é feita a integração ao código existente para que se saiba a real
para sua implementação prática. A tendência é que os be- situação da programação;
nefícios desses dois diferentes paradigmas sejam somados, • Semana de 40 horas: horas extras só devem ser permitidas
possibilitando o desenvolvimento de software mais eficiente caso haja motivação suficiente para boa produtividade;
e maduro. • Reuniões em pé: reuniões rápidas e produtivas evitando a
perda de foco;
Metodologias Ágeis • Padronização de Código: o código de todos os desenvolve-
Em 2001 foi criado o Manifesto Ágil, movimento cuja essência dores deve ser padronizado, permitindo que todos possam
é o desenvolvimento de software respeitando os seguintes manter qualquer parte do sistema.
conceitos:
• Pessoas e interações, ao contrário de processos e Estas práticas são claras, objetivas e específicas e utilizadas
ferramentas; no dia a dia dos membros de uma equipe de XP.
• Software executável, ao contrário de documentação
abrangente; TDD (Test-Driven Development)
• Colaboração do cliente sobre negociação do contrato; O Test-Driven Development é uma técnica de desenvolvimento
• Respostas às mudanças, ao invés de seguir planos. onde, primeiramente, são definidos testes para todos os cená-
rios dos requisitos levantados e, em seguida, é escrito o código,
Várias metodologias e ferramentas ágeis foram originadas que deve respeitar as restrições impostas por eles. Dessa forma,
desse movimento, tendo como base os conceitos previamente o engenheiro tem a tendência de entender melhor o problema,
listados. Dentre as metodologias ágeis existentes, algumas antes de implementar a solução.
delas mais utilizadas no mercado são XP (Extreme Program- Apesar de não ser considerada uma técnica exclusivamente
ming), TDD (Test-Driven Development), FDD (Feature-Driven relacionada ao XP, o TDD tem suas origens nele, sendo comu-
Development), SCRUM e Kanban. mente utilizado em projetos ágeis.

XP (Extreme Programming) FDD (Feature-Driven Development)


Método ideal para pequenas e médias equipes de desen- O Feature-Driven Development é uma metodologia ágil que
volvimento, que possuem requisitos vagos ou dinâmicos de combina práticas de gerenciamento ágil e a abordagem de
um produto a ser desenvolvido. Devido a essa característica, engenharia de software orientada a objetos.
esta técnica defende o desenvolvimento incremental e o A FDD é descrita por cinco processos:
feedback constante entre as partes interessadas, encorajando • Desenvolver um Modelo Abrangente – que é a construção
a comunicação entre elas. Além disso, possui cinco valores de modelo de objetos (ou de dados) que servirá de referência
fundamentais: comunicação, simplicidade, feedback, coragem para a equipe de desenvolvimento;
e respeito. Tendo como principais práticas: • Construir uma Lista de Funcionalidades – onde se divide
• Jogo de Planejamento: é feito um planejamento semanal o domínio do problema em três camadas (áreas de negócio,
para priorização de funcionalidades; atividades de negócio e funcionalidades), representando uma
• Entregas Frequentes: entregas de pequenas versões funcio- hierarquia de funcionalidades que representa o produto a ser
nais para aceite do cliente; construído;

Edição 59 - Engenharia de Software Magazine 7


• Planejar por Funcionalidade – construindo um plano com
pacotes de trabalho que leva em consideração as prioridades
e valores para o cliente;
• Detalhar por Funcionalidade – onde se produz um modelo
de domínio mais detalhado (esqueleto) considerando a cons-
trução de código;
• Construir por Funcionalidade – onde pelo esqueleto pro-
duzido no processo anterior é incremento o produto, que pode
ser apresentado ao cliente.

O uso em conjunto desses processos é essencial para a correta


aplicação e para alcançar mais benefícios com o FDD.

Figura 1. Estrutura básica do Scrum


SCRUM
O Scrum é um framework para gerência de projetos ágeis,
considerando a existência de equipes altamente colaborativas. Kanban e Gráfico Burndown
É uma forma de construir um produto em ciclos iterativos, onde Duas ferramentas ágeis bastante utilizadas para auxílio
diferentes equipes trabalham em paralelo para chegarem a uma nas atividades de um projeto Scrum são o quadro Kanban e o
versão do mesmo. A cada ciclo, o cliente avalia a versão do pro- gráfico Burndown.
duto e sugere correções ou alterações até a conclusão final do O Kanban é um quadro de acompanhamento de um Sprint,
produto. Isso permite respostas rápidas às mudanças propostas em que a primeira coluna apresenta as tarefas definidas para
e diminui a possibilidade de erros no produto final. um determinado Sprint e as demais colunas são as fases de
Os agentes responsáveis pelas atividades em um projeto desenvolvimento por onde passam essas tarefas.
Scrum estão divididos em: Por sua vez, o gráfico de Burndown representa, de forma
฀ ฀ – é o representante do cliente dentro da consolidada, a evolução das tarefas no decorrer de um Sprint,
equipe. Responsável por controlar o Product Backlog (lista de dando uma visão objetiva do andamento do Sprint a toda
requisitos que compõem o produto final) e efetuar o aceite das equipe (Figura 2).
entregas de cada ciclo iterativo de desenvolvimento;
฀ – é o líder e facilitador da equipe. Responsável
por remover impedimentos que possam atrapalhar a produ-
tividade da equipe, auxilia o Product Owner na elaboração do
Product Backlog e garante o respeito às práticas do Scrum;
• Equipe Scrum – são colaboradores multifuncionais e auto-
gerenciáveis responsáveis pela construção do produto.

Respeitando uma das características de metodologias ágeis,


os projetos Scrum são divididos em ciclos (geralmente quin-
zenais ou mensais) denominados Sprints, que são espaços de
tempo onde um conjunto determinado de atividades deve
ser realizado.
No início de cada Sprint realiza-se o Sprint Planning Meeting,
reunião de planejamento em que o Product Owner prioriza
Figura 2. Kanban e Gráfico Burndown integrados
os itens do Product Backlog (Figura 1). Durante este encontro,
a Equipe Scrum seleciona as atividades que será capaz de
implementar durante o Sprint, transferindo as tarefas do O Burndown é o gráfico de andamento do Sprint, relacionando
Product Backlog para o Sprint Backlog. Os itens das listas de horas e data em relação ao restante de tempo hábil para o tér-
backlog são sentenças representando requisitos do produto mino do ciclo. Com ele podemos notar o andamento do projeto
chamadas Stories. ao longo do seu ciclo de desenvolvimento (Sprint).
No início de cada dia do Sprint, toda a equipe faz uma
reunião denominada Daily Scrum, cujo objetivo é disseminar Modelos de Maturidade
conhecimento sobre o que foi feito no dia anterior, identificar Quanto maior a maturidade de uma organização, maior a
impedimentos e priorizar as tarefas do dia. probabilidade de se repetir o resultado bem sucedido de pro-
Ao final do Sprint, a equipe apresenta as funcionalidades dução de um ativo. Isso pode ser afirmado porque maturidade
construídas em uma reunião chamada Sprint Review Meeting, está diretamente relacionada à formalização de procedimentos,
onde a entrega parcial é feita e um novo ciclo é planejado. medição, controle e utilização de boas práticas.

8 Engenharia de Software Magazine - Integrando Agilidade com maturidade


AG IL I DAD E

Nível 2 Nível 3 Nível 4 Nível 5


Gerência de Requisitos Desenvolvimento de Requisitos Gerência de Projeto Integrada Gerência Quantitativa do Projeto Inovação e Implantação Organizacional
Gerência Integrada de
Planejamento de Projeto Solução Técnica Desempenho do Processo Organizacional Análise e Resolução de Causas
Fornecedores
Monitoração e Controle do Projeto Verificação Gerência de Riscos
Gerência de Acordo com Fornecedores Validação Análise de Decisão e Resolução
Medição e Análise Integração do Produto Integração da Equipe
Garantia da Qualidade do Processo e Ambiente Organizacional para
Foco no Processo Organizacional
do Produto Integração
Gerência de Configuração Definição do Processo Organizacional
Treinamento Organizacional

Tabela 1. Áreas de processos do CMMI.

A maturidade de um processo também está diretamente com outras empresas. Todos os processos de um nível devem
associada à qualidade do produto resultante do mesmo. Po- atingir um determinado patamar de maturidade para evoluir
rém, a formalização advinda de modelos de maturidade pode a um próximo nível.
significar maior volume de documentos e grande número de
atividades. Isso pode burocratizar demasiadamente o processo As áreas de processos do CMMI, distribuídas entre os níveis
e prejudicar a produtividade da equipe, caso seja utilizada de de maturidade da representação por estágios, são exibidas na
forma incorreta. Tabela 1.
A utilização de modelos de maturidade tem sido realizada Como se pode observar, há uma concentração maior de áreas
principalmente por organizações de grande porte, devido aos de processos nos dois primeiros níveis de maturidade. Como
custos envolvidos em sua implantação e também pelo objetivo consequência, ao implantar estes dois primeiros níveis, o
de atingir um nível de maturidade certificado, permitindo uma impacto causado na organização tende a ser muito alto.
colocação reconhecida no mercado.
Dois dos modelos de maturidade e melhoria de processos
de software mais utilizados no Brasil são o CMMI e MPS.BR,
que podem ser utilizados tanto em organizações sem processo
de software definido, quanto naquelas que já possuem um
processo, mas desejam melhorá-lo.

CMMI
O CMMI (Capability Maturity Model Integration) é um modelo
desenvolvido pelo SEI (Software Engineering Institute) que indica
práticas específicas e genéricas com o objetivo de obter um
nível de maturidade (ou capacidade) em disciplinas específicas.
Está dividido em três modelos:
• CMMI para Desenvolvimento (CMMI-DEV), para o desen-
volvimento de serviços e produtos;
• CMMI para Aquisição (CMMI-ACQ), para aquisição e ter-
ceirização de bens e serviços;
• CMMI para Serviços (CMMI-SVC), para empresas presta-
doras de serviços.

O modelo possui duas representações:


• Representação Contínua: indicada para empresas que dese-
jam melhorar somente alguns de seus processos. Os processos
são classificados separadamente em níveis de capacidade
(Nível 0 - Incompleto, Nível 1 - Executado, Nível 2 - Gerenciado,
Nível 3 - Definido, Nível 4 - Gerenciado Quantitativamente,
Nível 5 - Em Otimização).
• Representação por Estágios: indicada para empresas que de-
sejam obter um nível de maturidade, permitindo a comparação

Edição 59 - Engenharia de Software Magazine 9


Quanto aos dois últimos níveis, por ser relativamente • AP 1.1 - O processo é executado;
pequenos, são geralmente tratados em conjunto. Como • AP 2.1 - O processo é gerenciado;
consequência, não é comum encontrar empresas que alcan- • AP 2.2 - Os produtos de trabalho do processo são gerenciados;
çaram o CMMI nível 4. Normalmente do nível 3, elas passam • AP 3.1 - O processo é definido;
diretamente para o nível 5. • AP 3.2 - O processo está implementado;
• AP 4.1 - O processo é medido;
MPS.BR • AP 4.2 - O processo é controlado;
O MPS.BR (Melhoria de Processos de Software Brasileiro) é • AP 5.1 - O processo é objeto de inovações;
um modelo de qualidade de processo voltado para a realida- • AP 5.2 - O processo é otimizado continuamente.
de de pequenas e médias empresas de desenvolvimento de
software do Brasil e está dividido em três partes: Note que diferente do CMMI, no MPS.BR os primeiros níveis
• MR-MPS (Modelo de referência para melhoria do processo de maturidade possuem menos áreas de processo. O objetivo
de software), que contém as áreas de processos divididas em desta definição é facilitar a inserção da cultura de processos
níveis de maturidade; dentro das organizações e permitir que mais organizações
• MA-MPS (Método de avaliação para melhoria do processo considerem níveis de maturidade em seus processos, fazendo
de software), que orienta a realização de avaliações, conforme com que os custos de implementação sejam mais baixos e o im-
a ISO/IEC 15504; pacto sofrido pela organização ao implantar os níveis iniciais
• MN-MPS (Modelo de negócio para melhoria do processo de maturidade sejam mais facilmente absorvidos.
de software), que guia instituições que desejam implantar os
processos MPS.BR, como implementadoras. Mapeando práticas ágeis em modelos de maturidade
Apesar de abordarem princípios com focos diferentes, não há o
O MPS.BR está organizado em diversas áreas de processo, que inviabilize a utilização de métodos ágeis na implementação
divididas em sete níveis de maturidade (Tabela 2). de modelos de qualidade e melhoria de processos de software.
Para cada nível de maturidade, uma quantidade de capacida- A utilização de práticas ágeis é mais comum em equipes
des obrigatórias para cada processo é definida, sendo elas: pequenas, porém é possível realizar um ajuste de escala para

Nível Nome Processos Atributos de Processos


AP 1.1 AP 2.1 AP 2.2 AP 3.1 AP 3.2 AP 4.1
A Em Otimização Análise de Causas de Problemas e Resolução - ACP
AP 4.2 AP 5.1 e AP 5.2
AP 1.1 AP 2.1 AP 2.2 AP 3.1 AP 3.2 AP 4.1
B Gerenciado Quantitativamente Gerência de Projetos - GPR (evolução)
e AP 4.2
Gerência de Riscos - GRI
Desenvolvimento para Reutilização - DRU
C Definido AP 1.1 AP 2.1 AP 2.2 AP 3.1 e AP 3.2
Análise de Decisão e Resolução - ADR
Gerência de Reutilização - GRU (evolução)

Verificação - VER
Validação - VAL
D Largamente Definido Projeto e Construção de Produto - PCP AP 1.1 AP 2.1 AP 2.2 AP 3.1 e AP 3.2
Integração de Produto - ITP
Desenvolvimento de Requisitos - DRE
Gerência de Projetos - GPR (evolução)
Gerência de Reutilização - GRU
E Parcialmente Definido Gerência de Recursos Humanos - GRH AP 1.1 AP 2.1 AP 2.2 AP 3.1 e AP 3.2
Definição do Processo Organizacional - DFP
Avaliação e Melhoria do Processo Organizacional - AMP

Medição - MED
Garantia de Qualidade - GQA
F Gerenciado AP 1.1 AP 2.1 e AP 2.2
Gerência de Configuração - GCO
Aquisição - AQU

Gerência de Requisitos - GRE


G Parcialmente Gerenciado AP 1.1 AP 2.1
Gerência de Projetos - GPR

Tabela 2. Níveis de maturidade do MPS.BR

10 Engenharia de Software Magazine - Integrando Agilidade com maturidade


AG IL I DAD E

que sejam efetivamente aplicadas em equipes maiores, muito os demais módulos do sistema numa versão executável, per-
comuns em organizações que adotam modelos de maturida- mitindo a resposta a erros inseridos de forma mais rápida.
de. Para isso, treinamentos adequados são necessários e, em-
bora a abordagem ágil valorize mais as pessoas e interações Garantia da Qualidade (CMMI nível 2, MPS.BR nível F)
mais do que processos e ferramentas, é possível contar com A qualidade do desenvolvimento ágil está relacionada
processos corretamente dimensionados e ferramentas certas principalmente à qualidade do código fonte do produto de
para atingir sucesso. software, que pode ser feita através de revisões e inspeções.
Outro ajuste indicado para a utilização de técnicas ágeis para Entretanto, através de algumas práticas do método ágil XP,
a definição de processos maduros é a adoção de planos mais como refatoração, padronização de código e programação em
detalhados, exigidos pelos modelos de maturidade, apesar pares, a qualidade do código é melhorada de forma dinâmica,
do princípio ágil defender que as respostas às mudanças tem reduzindo a necessidade desses controles.
prioridade mais alta sobre a adesão a um plano. A refatoração possibilita a reestruturação do código, tor-
nando-o mais limpo e coeso, reduzindo a inserção de erros e
Mapeamento Agile X CMMI X MPS.BR facilitando a remoção dos mesmos. Ter escrita de código pa-
Dentro deste contexto de adaptações para a integração de dronizado também contribui para a garantia da qualidade por
práticas ágeis e modelos de maturidade, é possível mapear facilitar a manutenção do software. Por sua vez, a programação
métodos ágeis às áreas de processos do CMMI e aos processos em pares permite que o código seja validado no momento de
do MPS.BR, agrupando as vantagens dos dois paradigmas e sua escrita, diminuindo a quantidade de erros.
definindo processos melhores.
A seguir serão apresentados os processos do CMMI e MPS. Medição (CMMI nível 2, MPS.BR nível F)
BR onde se torna viável e compatível a utilização de práticas A medição em projetos ágeis pode ser feita em dois níveis,
ágeis para sua implementação. utilizando o Scrum. O Daily Scrum permite que a evolução
das tarefas seja medida dia a dia, proporcionando respostas
Gerência de Requisitos (CMMI nível 2, MPS.BR nível G) mais rápidas. As ferramentas ágeis Kanban e Burndown Chart
O método ágil XP pode proporcionar diversos benefícios podem auxiliar neste processo.
na implementação deste processo, por ter o cliente como ator O Sprint Review Meeting realizado ao final de um Sprint
fundamental do projeto. Algumas das práticas utilizadas são: acumula os resultados do ciclo, permitindo aprendizado para
comunicação contínua, feedback e integração contínua. o ciclo seguinte e projetos posteriores.
O método ágil Scrum fornece elementos essenciais na gerên-
cia de requisitos, são eles: backlog, contendo as user stories e o Verificação (CMMI nível 3, MPS.BR nível D)
Product Owner, responsável por controlar as stories. Além disso, Este processo pode ser implementado pelos métodos XP e
é possível obter melhoria contínua com o auxílio das reuniões Scrum através das frequentes interações entre equipe e clien-
diárias (daily meeting). te. A presença diária do Product Owner ganha destaque nesta
O método FDD pode contribuir com este processo através de disciplina, impedindo que o desenvolvimento fuja do escopo
lista de Features e relatórios de progresso do projeto atrelado requerido e permitindo que mudanças de requisitos sejam
aos requisitos. realizadas com o menor custo possível.
O TDD também podem ser úteis para a verificação, por criar
Gerência de Projetos (CMMI nível 2, MPS.BR nível G) testes aderentes aos requisitos antes mesmo da construção,
O processo de gerenciamento de projetos está intimamente dificultando os desvios de escopo.
ligado ao Scrum como um todo, dado que esse tem esse pro-
cesso como principal objetivo. Validação (CMMI nível 3, MPS.BR nível D)
Apesar de não possuírem funções idênticas, o Scrum Mas- Existem duas formas ágeis muito utilizadas para validar se
ter executa atividades similares a de um gerente de projetos, o produto está sendo desenvolvido corretamente:
como remoção de impedimentos e organização de reuniões • Através da prática XP de programação em pares, onde o
de integração entre membros da equipe. código é validado durante sua construção;
Além disso, as ferramentas ágeis Kanban e Burndown Chart • Por meio do TDD, onde os testes antecipados diminuem os
podem ser utilizadas em conjunto para auxiliar o controle de riscos de desvios e erros.
atividades da equipe durante um Sprint.
Mais uma vez, a natureza interativa e cíclica da prática ágil
Gerência de Configuração (CMMI nível 2, MPS. permite que o produto seja frequentemente validado pelos
BR nível F) membros da equipe e pelo cliente.
A característica dinâmica e interativa dos projetos ágeis di-
reciona este processo para a integração contínua. Isso significa Integração do Produto (CMMI nível 3, MPS.BR nível D)
que, a cada “commit” de código no repositório de desenvolvi- Através da prática XP de integração contínua o produto pode
mento do projeto, é feita integração entre o que foi inserido e ser integrado a cada alteração de código. Isso permite que

Edição 59 - Engenharia de Software Magazine 11


algum erro que venha a ser inserido no produto seja rapida- características e objetivos de cada organização. Como exemplo,
mente detectado e corrigido. Existem algumas ferramentas de pode-se considerar uma pequena “startup” de tecnologia, que
software que automatizam este processo, como a ferramenta utilize métodos ágeis e que, com o intuito de se adequar às
de integração contínua Hudson. exigências de um cliente, precise alcançar determinado nível
de maturidade do MPS.BR.
Desenvolvimento de Requisitos (CMMI nível 3, MPS.BR O dinamismo da tecnologia da informação não permite que
nível D) normas e modelos de qualidade sejam inflexíveis, mesmo que
Assim como ocorre no processo de Gerência de Requisitos, sejam consolidados há anos. O direcionamento ágil observado
em um projeto Scrum este processo é executado pelo papel no desenvolvimento de soluções de software sugere que adap-
de Product Owner. Este personagem responde pelo cliente, ou tações sejam feitas nos padrões de qualidade já estabelecidos,
seja, os requisitos atualizados do cliente são traduzidos por permitindo que a qualidade já comprovada destes modelos
ele para o restante da equipe. possa se unir à objetividade e produtividade, gerando um novo
modelo de qualidade para a produção de softwares.
Gerência de Riscos (CMMI nível 3, MPS.BR nível C)
Para implementar o processo de gerencia de riscos, pode-se
lançar mão do quadro de riscos, ferramenta comum em proje-
tos Scrum. Trata-se de um quadro, construído e mantido a cada Links
reunião, que está dividido em três colunas (mitigar, aceitar Agile e MPS.BR - Visão Ágil
e evitar). A cada risco identificado nas tarefas selecionadas, http://www.visaoagil.com/static/downloads/edicoes/VA_03.pdf
o quadro é atualizado para que estejam visíveis pela equipe
Implementando CMMi utilizando uma combinação de Métodos Ágeis
durante todo Sprint de desenvolvimento.
http://www.cin.ufpe.br/~processos/TAES3/slides-2012.2/Implementing%20CMMi%20

Conclusão using%20a%20Combination%20of%20agile%20methods.pdf

O mapeamento entre práticas ágeis e áreas de processos (ou Library | CMMI or Agile: Why Not Embrace Both!
processos) de modelos de maturidade, apresentado neste arti- http://www.sei.cmu.edu/library/abstracts/reports/08tn003.cfm
go, é apenas um exemplo prático que possibilita a visualização
da sinergia entre essas disciplinas de propósitos diferentes,
porém não divergentes. Existem outras metodologias ágeis Feedback
Dê seu feedback sobre esta edição! eu
não exploradas neste artigo que podem abranger ainda mais

s

os processos do CMMI e MPS.BR. A Engenharia de Software Magazine tem que ser feita ao seu gosto.

sobre e
Assim, não é preciso definir um processo de desenvolvi- Para isso, precisamos saber o que você, leitor, acha da revista!

s
ta
edição
mento de software rígido que integre metodologias ágeis e Dê seu voto sobre este artigo, através do link:
modelos de maturidade. É possível flexibilizar a utilização www.devmedia.com.br/esmag/feedback
de métodos ágeis e modelos de maturidade de acordo com as

12 Engenharia de Software Magazine - Integrando Agilidade com maturidade

Você também pode gostar