Robson Godoi Grupo de Estudos em Processos de Desenvolvimento CIN - UFPE Outubro 2002.

Slides:



Advertisements
Apresentações semelhantes
Engenharia de Software
Advertisements

O Processo Praxis 3.0 Processos de Software 25/03/2017
Análise e Projeto de Sistemas I
GUG Porto Alegre/Brasil Desenvolvimento em GeneXus, Métodos Ágeis e Scrum.
Adriano Teixeira João Vide Luís Silva Maria Pedroto
Rational Unified Process(RUP)
Modelos de Processos de desenvolvimento de Software
Valéria Maria Lauande Março/2010
Desenvolvimento ágil: eXtreme Programming vs SCRUM Tiago Rodrigues de Mello CCO-230 – ENGENHARIA DE SOFTWARE / 2010.
UML Material retirado da apostila do Professor Cesar Augusto Tacla
RUP Rational Unified Process (Processo Unificado de Desenvolvimento da Rational) 1.
Modelos de processo de software:
um processo ágil de desenvolvimento de software
Introdução Visão Geral do Método.
Comparação e Avaliação de Métodos Ágeis de Software
TSDD Teste de segurança durante o desenvolvimento.
FDD.
Classes e objetos Modelagem
Alunos: Artulanez Souza Iony Melo
1/22 Introdução aos Processos de Software © Alexandre Vasconcelos Centro de Informática da UFPE/ Qualiti Software.
Rational Unified Process
MAPEANDO O SCRUM SEGUNDO O MPS.BR NÍVEL G
RUP - Cap. 2 – Os 4 P’s (Pessoas, Projeto, Produto e Processo)
RUPinho Qualidade de Software
Aula 1 Minicurso: Astah Ministrantes: André Martins; Camila Brondani;
Técnicas e Projeto de Sistemas
Engenharia de Software
Desafios do desenvolvimento de software
Visão Geral PRO.NET.
Avaliação do RUP como processo para desenvolvimento de software
Avaliação Experimental de Técnicas Ágeis de Desenvolvimento
Avaliação Experimental de Técnicas Ágeis de Desenvolvimento
Implantando SCRUM na Simplestec Equipe Tributária
Adaptive software development ASD
Fase de Elaboração: Fluxo de Requisitos
Análise e Projeto de Sistemas
Capability Maturity Model (CMM)
Engenharia de Software
Desenvolvimento Rápido de Aplicação (RAD)
Processo de Desenvolvimento de Software
PAS Características: Elaborado com o propósito de ser utilizado em práticas acadêmicas de desenvolvimento de software. Foi desenvolvido de forma iterativa.
PSBD II Projeto de Sistemas de Banco de Dados II
Introdução à Engenharia de Software
O Processo Unificado (UP)
Engenharia de Software
UML e a Ferramenta Astah
Metodologias Ágeis Para o Desenvolvimento de Software
Engenharia de Software
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína ANA PAULA LIMA.
On The Complexity of Determining Autonomic Policy Constrained Behaviour Sobre a Complexidade de Determinação de Política Autônoma de Comportamento Restrito.
Padrões de projeto M.Sc. Sílvio Bacalá Jr..
Análise e Projeto de Sistemas Unified Modeling Language Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores.
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína XP (EXTREME PROGRAMMING) Pós-Graduação em Engenharia de Software Metodologias.
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Erton W. Vieira Metodologias Ágeis, Qualidade de Software e Design Centrado no usuário: Pontos de Interação Erton W. Vieira.
APSI II Análise e Projeto de Sistemas de Banco de Dados II.
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
Uma Análise no ciclo de vida de Gestão de Projetos com foco em Melhoria de Processos Híbridos para o desenvolvimento de software Hugo Vieira Lucena de.
Um Método Colaborativo de Análise e Projeto
Gerenciamento de Comunicações
Apresentação Leonardo Brussolo de Paula
O uso de XP em uma Organização CMM 2 Renata Endriss
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
/ de Abril de UFPE - Universidade Federal de Pernambuco Centro de Informática Pós-Graduação em Ciência da Computação Dissertação de Mestrado.
SCRUM Development Process Universidade Federal de Pernambuco Lenylda Albuquerque
Agile Modeling Júlio Lins – Junho / 22 Agile Alliance Em 2001, reune-se um grupo de representantes das metodologias eXtreme Programming, SCRUM,
Joaquim Oliveira Grupo de Estudos em Processos 25/06/2002 Comparação entre Metodologias de Desenvolvimento.
Metodologia Ágil THOBER CORADI DETOFENO, MSC. Aula 04 JOINVILLE 2016 Universidade do Estado de Santa Catarina – CCT/UDESC.
UMC - ENGENHARIA DE SOFTWARE E GERENCIAMENTO DE PROJETOS MÉTODOS ÁGEIS PARA DESENVOLVIMENTO DE SOFTWARE.
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construção.
Transcrição da apresentação:

Robson Godoi Grupo de Estudos em Processos de Desenvolvimento CIN - UFPE Outubro 2002

Conteúdo Objetivo Introdução Manifesto for Agile Software Development Agile Modeling Agile Modeling e XP Agile Modeling e UP Conclusões Referências

Objetivo Apresentar os conceitos de Análise de Projetos Ágeis, mostrando as principais caracteristicas da Agile Modeling

Conteúdo Objetivo Introdução Manifesto for Agile Software Development Agile Modeling Agile Modeling e XP Agile Modeling e UP Conclusões Referências

Introdução Pesquisas indicam a pouca “qualidade” dos softwares desenvolvidos.  Cronogramas e orçamentos estourados;  Necessidades dos clientes não alcançadas;  Má comunicação com o cliente. A procura pela “bala de prata” (Brooks -1987)  Problemas: Complexidade, Conformidade, Mutabilidade e Invisibilidade  Soluções: Linguagem de alto-nível, Prototipação, Desenvolvimento incremental e Bons desenvolvedores.

Heavyweight x Lightweight Heavyweight (Plan-driven)  Pregam planejamento extensivo, processos bem definidos e rigoroso reuso para produzir uma atividade de desenvolvimento eficiente e previsível.  Amadurecendo gradualmente para atingir a perfeição. Lightweight (Agile)  Pregam planejar o suficiente, documentar o suficiente, utilizar a individualidade, codificar de maneira simples e eficiente, buscando a satisfação momentânea do cliente.  Ser bom o suficientemente.

The Planning Spectrum (Boehm )

Conteúdo Objetivo Introdução Manifesto for Agile Software Development Agile Modeling Agile Modeling e XP Agile Modeling e UP Conclusões Referências

Agile Manifesto Fevereiro de pessoas da área de desenvolvimento de software se reuniram e formaram a Agile Alliance. Buscavam uma alternativa à processos heavyweight de desenvolvimento do software. Incentivavam melhores maneiras de se desenvolver software. Formularam princípios que definem os critérios para processos ágeis de desenvolvimento.

Valores da Agile Alliance Indivíduos e Interações mais que processos e ferramentas. Software operante mais que documentações completas. Colaboração do cliente mais que negociações contratuais Responder às mudanças mais que seguir um planejamento

Conteúdo Objetivo Introdução Manifesto for Agile Software Development Agile Modeling Agile Modeling e XP Agile Modeling e UP Conclusões Referências

O que é um Agile Model ? É um modelo bom o suficiente, nada mais, que exibe as seguintes características:  Atende seu propósito.  É inteligível.  É suficientemente preciso.  É suficientemente consistente.  É suficientemente detalhado.  Provê um valor positivo.  É tão simples quanto possível.

Agile Modeling (AM) É uma metodologia baseada na prática para modelagem efetiva de sistemas baseados em software. A metodologia AM é uma coleção de práticas, guiadas por princípios e valores que podem ser aplicados por profissionais de software no dia a dia. AM não é um processo prescritivo, ela não define procedimentos detalhados de como criar um dado tipo de modelo, ao invés, ela provê conselhos de como ser efetivo na atividade de modelagem. It’s “touchy-feely”, it’s not hard and fast – pense em AM como uma arte, não como uma ciência.

O que é AM ? É uma atitude, não um processo prescritivo. É um suplemento aos métodos existentes, ele não é uma metodologia completa. É uma forma efetiva de se trabalhar em conjunto para atingir as necessidades dos stakeholders do projeto. É efetivo e é sobre ser efetivo. É uma coisa que funciona na prática, não é teoria acadêmica. É para o desenvolvedor médio mas não é um substituto de pessoas competentes.

O que não é AM ? Não é uma bala de prata. Não é um ataque à documentação, pelo contrário AM aconselha a criação de documentos que tem valor. Não é um ataque às ferramentas CASE. Não é para todos.

Objetivos de AM Definir e mostrar como colocar em prática uma coleção de valores, princípios e práticas pertinentes à modelagem efetiva e lightweight. Explorar como aplicar técnicas de modelagem em projetos de software através de uma abordagem ágil tal como XP, DSDM, SCRUM e outros. Explorar como melhorar a modelagem sob processos prescritivos como os Unified Process (UP), como o Rational Unified Process (RUP) ou o Enterprise Unified Process (EUP).

Escopo de AM

Valores de AM Além dos valores definidos pela AA, incorporou e estendeu os do XP:  Comunicação  Simplicidade  Feedback  Coragem  Humildade

Princípios centrais de AM Simplicidade assumida Mudanças são bem-vindas O Software é seu objetivo principal Se preparar para o problemas futuros é seu objetivo secundário Mudanças incrementais Maximizar o investimento dos stakeholders Modelar com um propósito Múltiplos modelos Trabalho de qualidade Feedback rápido Viaje leve

Princípios adicionais de AM Conteúdo é mais importante que representação Todos podem aprender com todos os outros Conheça seus modelos Conheça suas ferramentas Adaptação local Comunicação aberta e honesta Trabalhe com o instinto das pessoas

Práticas centrais de AM Participação ativa dos stakeholders do projeto Aplique os artefatos certos Propriedade coletiva Considere a “testabilidade” Crie vários modelos em paralelo Crie conteúdo simples Represente os modelos de forma simples Apresente os modelos publicamente Passe para os outros artefatos Modele em pequenos incrementos Modele com os outros Prove, demonstre com código Use as ferramentas mais simples

Práticas adicionais de AM Aplique normas de modelagem Aplique padrões “fáceis” Descarte os modelos temporários Formalize os modelos de contrato Modele para comunicar Modele para entender Reutilize recursos existentes Atualize somente quando doer

Conteúdo Objetivo Introdução Manifesto for Agile Software Development Agile Modeling Agile Modeling e XP Agile Modeling e UP Conclusões Referências

Agile Modeling e XP XP inclui claramente atividades de modelagem, mesmo que de forma implícita (User stores, modelos Class Responsibility Collaborator (CRC) e sketches). Metodologia baseada em práticas (Proximidade conceitual). Alguns diagramas são melhores que muitas linhas de código Documentação é preciso, mas só a necessária.

Conteúdo Objetivo Introdução Manifesto for Agile Software Development Agile Modeling Agile Modeling e XP Agile Modeling e UP Conclusões Referências

Unified Process ( UP) Ciclo de vida para Enterprise UP (Superset do RUP)

Agile Modeling e UP Princípios e práticas AM estão em UP, mesmo que de forma implícita (Participação ativa dos stakeholders, Aplique normas de modelagem, aplique o artefato correto, etc ). Cultura da organização estar aberta aos valores, princípios e práticas de AM (Organizações não centradas em documentação). AM para aumentar a fluidez do processo.

Conteúdo Objetivo Introdução Manifesto for Agile Software Development Agile Modeling Agile Modeling e XP Agile Modeling e UP Conclusões Referências

Conclusões AM parecer ser mostrou uma metodologia bastante flexível e abrangente, permitindo uma adapdação “facil” sobre diversas metodologias existentes e consolidadas.

Conteúdo Objetivo Introdução Manifesto for Agile Software Development Agile Modeling Agile Modeling e XP Agile Modeling e UP Conclusões Referências