Eclipse Process Framework
Um dos grandes desafios para as equipes de desenvolvimento de sistemas que desejam elevar o nível de maturidade do seu processo de desenvolvimento, é necessariamente definir qual é o seu processo de desenvolvimento, ou seja: quais são os papéis, atividades, tarefas, passos, artefatos e resultados existentes no seu processo de desenvolvimento.
Embora definir um processo de desenvolvimento, possa parecer uma atividade simples e rápida, pois temos no mercado uma vasta gama de processos de desenvolvimento comerciais, como o RUP, XP, SCRUM, etc…, geralmente essa não é uma tarefa simples se a sua equipe de desenvolvimento tiver aproximadamente 100 desenvolvedores, divididos em grupos de 10 a 15 pessoas, e desenvolverem sistemas com características distintas: programas on-line, batch, plataforma mainframe e plataforma distribuída (open).
Ainda que exista no mercado uma série de metodologias de desenvolvimento "prontas", sempre será necessário customizá-la para a realidade de cada empresa, e de cada equipe de desenvolvimento. Essa customização deve preferencialmente ser feita com a participação de representantes das equipes de desenvolvimento, de forma a se definir um processo que represente as necessidades reais das equipes de desenvolvimento e para que também seja "aceito" pelas equipes, para que possa ser praticado, e não se torne um adereço sem utilidade.
Definido o processo para a equipe de desenvolvimento, o próximo passo é publicar e comunicar esse processo. Para isso, recomendo conhecer a ferramenta EPF (Eclipse Process Framework) disponível em http://www.eclipse.org/epf/. O EPF é um projeto da comunidade Eclipse (http://www.eclipse.org) que tem dois principais objetivos: 1) prover uma ferramenta para elaboração de processos de engenharia de software (figura 1), abrangendo autoria de métodos e processo, gerenciamento de bibliotecas de processos, configuração e publicação de processos, e 2) prover conteúdos de processos de gerenciamento e desenvolvimento de sistemas (figura 2), com foco em desenvolvimento iterativo, agil, incremental aplicáveis a diversas plataformas de desenvolvimento.
Figura 1 – Exemplo da ferramenta de autoria de processo
Figura 2 - Exemplo de conteúdo de processo de desenvolvimento: OpenUP
Tenho acompanhado a evolução do EPF desde suas versões iniciais, e vale a pena conhecer esse produto. Atualmente está disponível no site a versão 1.2.0.4 e os conteúdos de processos para OPENUP, XP e SCRUM. Pode ser um boa alternativa para pequenas e médias empresas que desejam definir, documentar e comunicar o seu processo de desenvolvimento, e assim buscar um melhor nível de maturidade tanto do processo quanto do produto de software.
ps.: A IBM é patrocinadora desse projeto, e comercializa o produto denominado Rational Method Composer, derivado do EPF.