Eclipse Process Framework
Um ambiente de Engenharia de Software livre para publicar e manter métodos e processos
De que se trata o artigo:
Uma ferramenta livre, desenvolvida com o Eclipse, para a manutenção e publicação de processos e métodos. Fornece uma terminologia comum, o UMA (Unified Method Architecture), para definição de processos e métodos. Esta terminologia permite que métodos ou práticas sejam reaproveitados em processos diferentes, possui mecanismos de extensão para adaptar práticas em contextos diferentes.
Para que serve:
O EPF tem como principal objetivo fornecer meios para manter uma base de conhecimento de capital intelectual que você possa procurar, gerenciar e criar. Este conteúdo pode ser externo e, o mais importante, você pode incluir seu próprio conteúdo como, white papers, diretrizes, modelos, boas práticas, procedimentos e regulamentações internas, material de treinamento e qualquer outra descrição geral de seus métodos. Equipes de desenvolvimento precisam ser instruídas sobre os métodos aplicáveis aos papéis que desempenham. O EPF funciona como uma ajuda online.
Em que situação o tema é útil:
Equipes de desenvolvimento têm enfrentado questões como a falta de uma terminologia comum para documentar processos e métodos; a dificuldade de adaptar e estender o conhecimento para projetos diferentes; a inexistência de um ambiente central de publicação, para facilitar a disseminação da base de conhecimento, entre outras.
Mesmo em corporações que têm adotado abordagens mais ágeis de desenvolvimento, encontramos desafios em coordenar e gerenciar várias equipes simultâneas, que estão freqüentemente desenvolvendo partes diferentes do mesmo sistema. Isto resulta na necessidade de uma abordagem fácil de planejar, divulgar e reaproveitar processos de governança e práticas ágeis. Essas práticas e processos de governança podem ser publicados, reutilizados e compostos com ajuda do Eclipse Process Framework (EPF), apoiando também o desenvolvimento ágil em escala corporativa.
Existem vários fatores que ditam se um processo de desenvolvimento será mais formal ou mais ágil, tais como tamanho e cultura da equipe, localização geográfica dos membros, complexidade da arquitetura, tecnologias envolvidas, padrões utilizados, entre outros. Projetos têm necessidades únicas, que podem ser suportadas em processos e métodos de desenvolvimento distintos. Há ainda as boas práticas do desenvolvimento de software, que beneficiam toda a equipe de projeto, tornando-a mais eficaz. Essas abordagens podem ser adaptadas ou estendidas para as necessidades específicas de cada projeto/equipe.
Conseqüentemente, tal singularidade dos projetos atuais provoca novos desafios. Muitas equipes de desenvolvimento têm enfrentado questões como a falta de uma terminologia comum para documentar processos e métodos; a dificuldade de adaptar e estender o conhecimento para projetos diferentes; a inexistência de um ambiente central de publicação, para facilitar a disseminação da base de conhecimento, entre outras.
Mesmo em corporações que têm adotado abordagens mais ágeis de desenvolvimento, encontramos desafios em coordenar e gerenciar várias equipes simultâneas, que estão freqüentemente desenvolvendo partes diferentes do mesmo sistema. Isto resulta na necessidade de uma abordagem fácil de planejar, divulgar e reaproveitar processos de governança e práticas ágeis. Essas práticas e processos de governança podem ser publicados, reutilizados e compostos com ajuda do Eclipse Process Framework (EPF).
Muitas organizações supõem que as pessoas sabem como realizar suas tarefas e não documentam seus métodos. Porém, cabe salientar que, para que as empresas tornem os seus sucessos repetíveis, não dependendo exclusivamente de talentos individuais, elas devem estabelecer práticas comuns.
EPF é um ambiente que permite que engenheiros de processo, engenheiros de software e desenvolvedores implementem, desenvolvam e façam a manutenção de processos para organizações ou para projetos individuais.
Onde o EPF pode ajudar?
Quando uma organização possui mais de um projeto de desenvolvimento de software, na grande maioria das vezes, existirá um processo de governança e um processo de desenvolvimento de software. Este processo pode não ser explícito, muitas vezes instável com alterações descontroladas, mas ele existe.
Definir e explicitar processos de governança, principalmente em empresas com vários projetos simultâneos, facilita o planejamento, a divulgação e a adoção de praticas mais ágeis. Processos de governança e de desenvolvimento devem ser simples, fácil de evoluir e manter, para promover agilidade.
Segundo a documentação do EPF, ele pode ajudar em dois aspectos principais:
· Primeiramente, as equipes de desenvolvimento precisam ser instruídas sobre os métodos aplicáveis aos papéis que desempenham. Os desenvolvedores de software precisam aprender quais práticas devem usar; os testadores precisam aprender como testar as aplicações baseando-se nas práticas definidas; os gerentes precisam aprender como gerenciar o escopo do projeto, e assim por diante. Funciona como uma ajuda online.
· Em segundo lugar, as equipes de desenvolvimento precisam compreender como aplicar esses métodos durante todo o ciclo de vida do desenvolvimento. Isto é, elas precisam definir ou selecionar um processo de desenvolvimento. As equipes também precisam entender claramente como as diferentes tarefas dos métodos estão relacionadas entre si; por exemplo, como o método de gerenciamento de mudanças influencia no método de gerenciamento de requisitos. Até mesmo as equipes auto-organizadas, com pessoas experientes, precisam definir um processo que fornece, no mínimo, alguma orientação sobre como o desenvolvimento terá o escopo definido em todo o ciclo de vida, quando marcos serão atingidos e verificados, etc.