quarta-feira, 19 de maio de 2010

Unified Process e Use Case Points: Transparência nos Prazos sem Esforços Adicionais

Atualmente presenciamos um grande crescimento da utilização do Unified Process (UP) como metodologia de desenvolvimento de software no mercado, porém, a maioria das empresas continuam utilizando Análise por Pontos de Função (Function Point Analisys ou FPA) para extrair métricas de software e gerar estimativas sem sequer estudar outras possibilidades existentes. Neste artigo introduziremos o método de Use Case Points (UCP), ressaltaremos seus pontos positivos, os pontos negativos, apresentaremos uma breve sugestão de como implantar o mesmo em empresas durante o processo de adoção do UP e concluiremos com um breve comentário sobre os temas abordados.

O UP determina que para obtermos o bom andamento de um projeto é necessário que os casos de uso sejam identificados, diagramados e descritos de forma correta pois estes definem as funcionalidades que devem ser entregues ao fim do projeto. Nada melhor que utilizar um documento que lista os requisitos funcionais para medir o tamanho do software a ser desenvolvido. O método UCP foi proposto em 1993 por Gustav Karner e têm como objetivo permitir que seja possível estimar o tamanho de um sistema durante a fase de levantamento de casos de uso, ou seja, aproveitar os diagramas de casos de uso criados por exigência da metodologia e o conhecimento dos analista que os desenvolveram em relação ao projeto para dimensionar o sistema a ser implementado.

Utilizando UCP para extração de métricas teremos um procedimento condizente com a metodologia que estamos implantando, aproveitaremos o conhecimento dos analistas de sistema que efetuaram o levantamento de requisitos e criaram os casos de uso, teremos apoio de documentos previamente aprovados pelo cliente (diagramas de casos de uso) para explicar os prazos e esforços apresentados para desenvolver uma determinada funcionalidade solicitada. Desta forma não dependeremos de protótipos de telas para realizar a mensuração na fase inicial do projeto, tendo em vista que o desenvolvimento de protótipos de tela não são obrigatórios para a utilização do UP e o desenvolvimento de casos de uso na disciplina de requisitos são.

Depois de apresentarmos alguns pontos positivos devemos apresentar também os pontos negativos, sendo que durante a sugestão de implantação perceberemos que nem todos são necessariamente problemas na adoção e podem ser facilmente contornados. O UCP é um método que não disponibiliza muita fonte para consultas, dificultando o aprendizado para os interessados e também o solucionamento de dúvidas devido a existirem poucos profissionais capacitados. Atualmente este método não possui nenhum órgão certificador, impossibilitando desta forma, comprovar o conhecimento através de provas ou algo semelhante. Existem poucos profissionais com conhecimento avançado na criação de casos de uso, o que conduz a diagramas com decomposição funcional ou até mesmo diagramas “CRUD” (Create, Read, Update, Delete), como são conhecidos no mercado, resultando na extração de métricas incorretas. O UCP exige que uma base prévia de conhecimento seja utilizada para refinar as estimativas geradas, e esta base, devido a mudança do procedimento, dificulta ou até mesmo inviabiliza o reaproveitamento de conhecimentos adquiridos em projetos anteriores.

Inicialmente os pontos negativos parecem ser muito fortes, porém, através de uma análise mais detalhada podemos ver que a maioria destes podem ser contornados ou até mesmo utilizados como pontos positivos. Utilizar o UCP inibe a criação de diagramas de casos de uso incorretos pois os erros impactariam diretamente na estimativa de esforços para desenvolver o projeto, forçando a revisão dos diagramas previamente citados. Os casos de uso são utilizados para eliminar compreensões ambíguas e, para o sucesso de um projeto baseado na metodologia UP é essencial que o time seja composto por profissionais capacitados em desenvolvê-los com eficiência e corretude. Todos estes fatores agregam pontos ao acerto do dimensionamento do projeto e também a criação de diagramas de caso de uso corretos.

Para explicar como solucionar o problema de criação de uma base de conhecimento com informações de projetos anteriores exigida pelo UCP, utilizaremos a sugestão de procedimento de implantação citado no início do artigo. Quando uma corporação define migrar para o UP, a estratégia mais coerente (na maioria dos casos) é preparar um time, selecionar as disciplinas a serem implantadas inicialmente e destinar um projeto pequeno e de baixo risco á utilização da metodologia. Ao fim deste , os profissionais com o conhecimento adquirido atuam como mentores em outros projetos, que passam a utilizar a nova metodologia e o conhecimento vai sendo difundido na empresa de forma transparente. Neste processo, podemos mesclar a adoção do UCP, realizando a extração de métricas através deste método, durante o projeto inicial baseado em UP. Ao fim do projeto populamos a base de conhecimento, que crescerá juntamente com a utilização do UP dentro da corporação. Este procedimento torna transparente o impacto da falta de experiências passadas com UCP e faz com que a evolução seja transparente aos envolvidos.

Devido a todos os fatores apresentados anteriormente, acredito que o UCP já está suficientemente maduro para ser aplicado em ambientes corporativos e a sua utilização reforça a importância dos casos de uso bem definidos em um projeto baseado em Unified Process. Sua utilização auxilia na identificação de erros em requisitos ou casos de uso, sendo esta mais uma oportunidade de identificar casos de uso mal desenvolvidos que poderiam conduzir o projeto ao fracasso. Devido a sua afinidade com a metodologia UP, o crescimento da sua utilização é inevitável, tornando desta forma o procedimento para estimativas e mensuração de sistemas mais natural, transparente e preciso.

Nenhum comentário:

Postar um comentário