A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Instanciação de Processos de Software Ciro Coelho Grupo de Estudos em Processos CIn – UFPE 23/07/2002.

Apresentações semelhantes


Apresentação em tema: "Instanciação de Processos de Software Ciro Coelho Grupo de Estudos em Processos CIn – UFPE 23/07/2002."— Transcrição da apresentação:

1 Instanciação de Processos de Software Ciro Coelho Grupo de Estudos em Processos CIn – UFPE 23/07/2002

2 Contexto Muitos processos disponíveis Muitos projetos com características diferentes Dificuldade de escolher e adequar os processos que serão utilizados em cada projeto

3 Contexto “Não existe um processo único que seja adequado a todos os projetos” Alistair Cockburn Barry Bohem Brian Henderson-Sellers Mark Ginsberg Martin Fowler Rational Unified Process Walker Royce Etc etc etc

4 Abordagem 1 Solução Adotar um processo “de prateleira” para cada projeto Vantagens A solução já está pronta Possibilidade de troca de informações Desvantagens Dificuldade de treinamento e aplicação de lições aprendidas Casos intermediários

5 Abordagem 2 Solução Adotar um processo padrão e adaptá-lo a cada projeto Vantagens Adaptável a todos os projetos Está de acordo com CMM nível 3 Desvantagens Dificuldades e custos de instanciação Gera um processo não testado

6 Abordagem 3 Solução Adotar um processo padrão e criar instâncias fixas desse processo Vantagens Todos os processos são parecidos, facilitando treinamento e aplicação de lições aprendidas A solução já está definida antes do projeto Desvantagens Esforço inicial muito grande Projetos “diferentes” continuarão exigindo adaptações

7 Classificação dos Processos (Martin Fowler, Variations on a Theme of XP) Processos Concretos Processos Adaptáveis (Framework de Processos) Processos Filosóficos Conjuntos de Melhores Práticas

8 Classificação dos Processos Processos Concretos Conjunto fixo de práticas a serem seguidas, permitindo pouca ou nenhuma variação Exemplo: XP Pontos Fortes simples de entender e aplicar, pois deixam claro o que deve ser feito Pontos Fracos não podem ser mudados ou, pelo menos, não existe uma forma clara e pré-definida para realizar essa mudança.

9 Classificação dos Processos Processos Adaptáveis Apresentam guidelines explícitos para realizar a instanciação do processo. Framework de Processos Têm como filosofia apresentar um processo o mais abrangente possível e instanciá-lo através da remoção de elementos desnecessários para uma situação específica Exemplo: RUP

10 Classificação dos Processos Processos Adaptáveis Pontos Fortes fornecem meios para identificar as possíveis variações do processo e quando essas variações são apropriadas existe um único processo que deve ser aprendido e que pode ser aplicado às mais variadas situações Pontos Fracos normalmente é difícil entender como realizar a instanciação de forma correta. É preciso entender o processo básico e todas as suas variações antes de decidir o que fazer custo de instanciação

11 Classificação dos Processos Processos Filosóficos Não definem atividades que devem ser realizadas ou artefatos que devem ser produzidos, definido apenas uma filosofia de desenvolvimento a ser adotada Exemplo: ASD Pontos Fortes são flexíveis por natureza, podendo ser aplicados a qualquer tipo de projeto sem a necessidade de definir regras de instanciação Pontos Fracos como não definem claramente o que deve ser feito, são processos difíceis de seguir

12 Classificação dos Processos Conjunto de Melhores Práticas Não são propriamente processos de desenvolvimento, mas um conjunto de práticas independentes que podem ser aplicadas em qualquer processo Exemplo: PSP Pontos Fortes diferentemente dos processos filosóficos, constituem formas concretas de como realizar tarefas e produzir artefatos Pontos Fracos não são suficientes para guiar o desenvolvimento

13 Instanciação de Processos no CMM KPAs relacionadas Organization Process Focus  Planejamento e coordenação das atividades de desenvolvimento e melhoria do processo de software  Identificação dos pontos fortes e fracos do processo

14 Instanciação de Processos no CMM KPAs relacionadas Organization Process Definition  Definição e manutenção de um processo de software padrão para a organização  Coleta, revisão e disponibilização de informações relacionadas ao uso do processo padrão

15 Instanciação de Processos no CMM KPAs relacionadas Integrated Software Management  Adaptação do processo padrão para projetos específicos  O projeto é planejado e gerenciado de acordo com o processo definido para ele

16 Principais Conceitos Organization’s Standard Software Process (OSSP) Project’s Defined Software Process (PDSP) Guidelines e Critérios de Adaptação Plano de Desenvolvimento de Software Banco de Dados de Processos Biblioteca de Documentação de Processos Instanciação de Processos no CMM

17

18 Fatores que Influenciam a Instanciação Características do projeto Tamanho, distribuição geográfica e experiência da equipe Criticidade do sistema Tamanho do projeto... Padrões, normas, contratos etc. O próprio processo padrão

19 Métodos de Instanciação na Vida Real Necessidade de padronização + grande diversidade de projetos (overhead de atividades) Fortemente baseados no CMM Estrutura semelhante Tailoring guidelines diferentes

20 Brasa pra Minha Sardinha Forma sistemática de realizar a instanciação de um processo padrão da organização com base nas características de cada projeto com o objetivo de: Auxiliar o engenheiro de processos na instanciação do processo padrão Facilitar reuso e melhoria de processos Permitir a formação de uma “família de processos” originada a partir do processo padrão

21 Planejamento incial do projeto Comparação de Projetos e Reuso de Processos Resultados do projeto Processo instanciado Características do projeto Processo Preliminar BD de Processos e Projetos Modelo de Caracterização de Projetos Pconfig (baseado no processo padrão) PROJETO

22 Referências Budlong, F.C., Szulewski, P.A., Tailoring Your Software Process for Software Project Plans – Part 1: Setting the Context and Making Tailoring Decisions, Crosstalk, STSC, Hill Air force Base, 1996. Budlong, F.C., Szulewski, P.A., Tailoring Your Software Process for Software Project Plans – Part 2:Documenting the Project’s Defined Software Process, Crosstalk, STSC, Hill Air force Base, 1996. Cockburn, A., Selecting a Project’s Methodology, IEEE Software, July/August 2000. Ebert, C., De Man, J., A Method and tool for Managing Process Diversity in an Industrial Setting, net.objectdays, 2000, disponível em www.netobjectdays.org/ pdf/00/papers/ooss/ebert.pdf, último acesso em abril de 2002.

23 Referências Fowler, M., Variations on a Theme of XP, MartinFowler.com, 2001. Ginsberg, M.P., Quinn, L.H., Process Tailoring and the Software Capability Maturity Model, CMU/SEI – Relatório Técnico, 1995. Haley, T., et al., Raytheon Electronic Systems Experience in Software Process Improvement, Software Engineering Institute, relatório técnico, 1995. Henderson-Sellers, B., Process Flexibility and Process Construction, Cobol Report, 2002, disponível em www.cobolreport/columnists/brian/01212002.asp, último acesso em abril de 2002.

24 Referências Machado, L.F.C., Modelo para Definição de Processos de Software na Estação TABA, Tese de MSc., COPPE/UFRJ, Rio de Janeiro, RJ, Brasil, 2000. Schultz, D. et al., A Matrix Approach to Software Process Definitions, 25th Annual Software Engineering Workshop, Goddard Space Flight Center, 2000. SPAWAR Systems Center, A Description Of The Space And Naval Warfare Systems Center, relatório técnico, 2001SPAWAR Systems Center, A Description Of The Space And Naval Warfare Systems Center, relatório técnico, 2001.


Carregar ppt "Instanciação de Processos de Software Ciro Coelho Grupo de Estudos em Processos CIn – UFPE 23/07/2002."

Apresentações semelhantes


Anúncios Google