quinta-feira, 30 de abril de 2009

Por que utilizar uma Metodologia de Desenvolvimento de Sistemas

Por Roosevelt Benvindo de Oliveira

A informalidade em projetos de TI tornou-se um fator de fracasso em muitos projetos. Alguns estudos, como por exemplo, às pesquisas publicadas pelo Standish Group, revelam que a quantidade de projetos fora do prazo, custo ou até mesmo abandonados, está diminuindo através da adoção de metodologias de gerenciamento de projetos. No entanto, não basta somente gerenciar melhor os projetos. É preciso aliar o bom gerenciamento de projetos com a escolha da melhor solução metodológica, observando sempre a cultura organizacional da empresa.
Uma Metodologia de Desenvolvimento de Sistemas é composta por seqüências de atividades executadas de forma organizada, que visam à construção de um Sistema de Informação com qualidade, no prazo e custo determinados, deve ser adequada à organização, de forma a otimizar o desenvolvimento de sistemas sem, no entanto, burocratizar a execução das atividades. Por este motivo, uma MDS desenvolvida para uma organização é eficiente apenas para a organização que a gerou, tornando-se menos eficiente em outra organização. Outra característica importante é que ela deve ser mutável, ou seja, da mesma forma que uma organização muda ao longo do tempo, ela deve adequar-se às mudanças de forma a manter a produtividade e eficiência desejada.
Existem diversas abordagens de ciclo de vida de software nas quais podemos basear uma MDS. Podemos citar, dentre as principais, o modelo Cascata, Evolucionário, por Prototipação, Iterativo e Incremental, dentre outros. Cada abordagem de ciclo de vida possui vantagens e desvantagens que precisam ser observadas na elaboração. Por exemplo, para softwares que tenham os requisitos estáveis e imutáveis, a abordagem em Cascata é mais eficiente. No entanto, seria um desastre a adoção do mesmo modelo para softwares que tenham os requisitos instáveis e mutáveis. Isso reforça o conceito de que cada organização deva ter sua própria metodologia e que a mesma deve ser desenvolvida observando a cultura organizacional e a estrutura de desenvolvimento proposta na organização.
Existem várias metodologias, nas mais variadas abordagens de ciclo de vida, disponíveis no mercado. Podemos destacar, dentre as principais, o RUP, OPENUP, XP, SCRUM. Pode-se também, conforme o caso, fazer um misto entre metodologias, obtendo assim o melhor de cada metodologia envolvida.
Quando bem implantada, traz, entre outros, os seguintes benefícios:
· Independência de indivíduos e facilidade de manutenção: Como os sistemas são bem estruturados e têm documentação padronizada e atualizada, um analista consegue, em pouco tempo, dar manutenção em um sistema que não conhece, evitando a figura do “dono do sistema”, situação desvantajosa tanto para a organização quanto para o próprio analista.
· Aumento da produtividade: Sistemas bem construídos têm mais partes reutilizáveis.
· Um bom gerenciamento de projetos: Como as etapas e produtos estão bem definidos, é possível saber a cada momento como está o andamento do projeto.
Uma metodologia atinge seu objetivo se for prática, de fácil utilização, rápida aprendizagem e, na medida do possível, suportada por ferramentas que automatizem tarefas repetitivas e mantenham o trabalho organizado. Portanto quando bem desenvolvida e adaptada à organização é uma poderosa ferramenta para se alcançar maturidade em desenvolvimento de projetos de TI.

Nenhum comentário:

Postar um comentário