Estatísticas
alarmantes mostram que os
projetos de TI chegam a custar 400% mais que o previsto, realizando apenas 25%
dos benefícios prometidos. Embora pesquisas do
Standish Group mostrem alguma melhora neste quadro, estamos ainda muito longe
do sucesso em projetos de TI.
Podemos classificar o fracasso dos projetos em duas categorias:
- Técnico:
- A solução não atende aos
requisitos do projeto (escalabilidade, performance, confiabilidade, custo
etc.);
- Devido aos desafios técnicos, prazos são ultrapassados, até que os patrocinadores perdem a confiança e encerram o projeto.
- Funcional:
- A equipe não compreende os
requisitos fornecidos;
- Os requisitos fornecidos não são os requisitos corretos.
Parte dos problemas se deve a um pensamento simplista de causa e
efeito entre os domínios do problema e da solução. Acredita-se que,
compreendido o problema, basta encontrar uma solução.
A Modelagem Ágil é coerente com o Manifesto Ágil e seus princípios. Portanto, é uma prática que pode fazer parte do seu repertório de ferramentas ágeis.
Entretanto, os atuais projetos de TI são maiores em escopo, custo
e prazo, além de serem mais complexos, envolvendo muitos sistemas e
departamentos de uma ou mais empresas. A compreensão do problema e da solução
caminham juntos, ou seja , à medida que são propostas soluções, compreende-se
melhor o problema.
Esse processo iterativo de análise nos domínios do problema e da
solução é ainda mais complexo do que a visão simplificada anterior, por
envolver divers a s partes interessadas com pontos de vista e capacidades de
compreensão diferentes.
A figura acima resume as causas de fracasso do ponto de vista
funcional mencionadas no início. E o fracasso funcional é uma das grandes
causas dos fracassos técnicos. Portanto, as seguintes dimensões são cruciais
para o sucesso nos projetos:
- Compreensão
- Compreendemos o domínio do
problema?
- Compreendemos o domínio da
solução?
- Compreendemos a transição entre esses dois domínios?
- Comunicação
- As partes interessadas são
capazes de comunicar os requisitos para aqueles que irão desenvolver a
solução?
- Os membros da equipe que
desenvolverá a solução são capazes de comunicar os detalhes da solução
entre eles?
- A equipe de desenvolvimento é
capaz de comunicar os desafios e alternativas para as partes
interessadas?
Os ideais básicos do Agile (manifesto , princípios e bom
senso) surgiram da necessidade de reforçar as dimensões de compreensão e
comunicação.
A figura anterior ilustra o Manifesto Ágil, em que (nunca é demais
lembrar):
Indivíduos e interações são mais importantes que processos e ferramentas;
Responder a mudanças é mais importante que documentação;
Colaboração com o cliente é mais importante que negociação de contratos;
Software funcionando é mais importante que seguir um plano.
Indivíduos e interações são mais importantes que processos e ferramentas;
Responder a mudanças é mais importante que documentação;
Colaboração com o cliente é mais importante que negociação de contratos;
Software funcionando é mais importante que seguir um plano.
Embora a modelagem seja uma técnica importante em desenvolvimento
de softwarem inclusive em metodologias ágeis, frequentemente é subestimada ou
mal entendida. Na luta contra o desenvolvimento centrado em processos
burocráticos e contra o desenvolvimento baseado em ferramentas, a modelagem
acabou sendo atacada também. Precisamos corrigir essa má impressão.
Um bom começo é definição de modelagem, basicamente, a modelagem
é a simplificação da realidade. Não significa utilizar determinada notação,
ferramenta ou processo, permite compreender e focar nos aspectos
importantes, sem detalhes desnecessários.
Considerando essa definição, podemos avançar e
descrever a ideia de modelagem ágil. Isto posto, adotamos uma abordagem
ágil usando modelos que nos auxiliam a compreender e comunicar.
Aspectos relevantes de Modelagem Ágil:
- O processo de modelagem e os
modelos suportam comunicação e compreensão;
- A Modelagem Ágil busca criar
modelos simples usando ferramentas simples (adote a simplicidade);
- O foco é entregar software, não modelos. Modelos devem ser usados quando e onde adicionam valor. Se eles não agregam valor nem nos auxiliam no sentido de entregar software funcionando, então não devem ser utilizados;
- Modelos devem ser mantidos pelo tempo necessário. Se um modelo serviu ao seu propósito e deixa de ser necessário, jogue fora. Isso permite manter a agilidade sem burocracia. Por outro lado, se seu modelo pode ainda ser útil, guarde ou recicle.
- A Modelagem Ágil utiliza múltiplos modelos para diferentes perspectivas, níveis de abstração e públicos. Cada modelo é criado a partir de um objetivo e para satisfazer determinado público.
- A Modelagem Ágil combina modelos formais e informais conforme a situação, público-alvo e objetivos. Por exemplo, um modelo poderia ser composto de formas simples desenhadas a lápis ajudando o essencial de um sistema, ou utilizando diagramas detalhados de classes do UML.
Conclusões
Para valorizar pessoas e suas interações é preciso fortalecer a
comunicação. Em vez de investir em novas ferramentas ou adotar processos
prescritos, sugerimos uma abordagem diferente, a Modelagem ágil. A utilização
de métodos de modelagem facilita a compreensão do problema e da solução, além de
melhorar a comunicação entre os stakeholders e resposta a mudanças.
Fonte: INFOQ
Fonte: INFOQ
Nenhum comentário:
Postar um comentário