Resumo artigo Agile Modeling- Overview



Documentos relacionados
ENGENHARIA DE SOFTWARE I

Agile Modeling. '(3$57$0(172'(&20387$d 2

MANIFESTO ÁGIL. Esses conceitos aproximam-se melhor com a forma que pequenas e médias organizações trabalham e respondem à mudanças.

Tópicos. Métodos Ágeis. Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Referências Bibliográficas.

Sistemas de Informação I

UTILIZAÇÃO DAS METODOLOGIAS ÁGEIS XP E SCRUM PARA O DESENVOLVIMENTO RÁPIDO DE APLICAÇÕES

Prof. Me. Marcos Echevarria

Engenharia de Software I. Aula 15: Metodologias Ágeis. Prof. Márcio D. Puntel

Manifesto Ágil - Princípios

Leves ou pesadas Incrementais, cascata, lineares... etc. Pro ativas e reativas RAD, SDLC

EMISSÃO DE CERTIFICADOS ELETRÔNICOS NOS EVENTOS DO INSTITUTO FEDERAL CATARINENSE CÂMPUS VIDEIRA

EMISSÃO DE CERTIFICADOS ELETRÔNICOS NOS EVENTOS DO INSTITUTO FEDERAL CATARINENSE CÂMPUS VIDEIRA

O Processo Unificado

Ideal para que tipo de empresa (equipe): pequena, média, grande? Em software onde os requisitos não são conhecidos é recomendado o uso do XP? Por quê?

Processo de Desenvolvimento Unificado

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis. Profª Esp.: Maysa de Moura Gonzaga

Engenharia de Software

Com metodologias de desenvolvimento

Jonas de Souza H2W SYSTEMS

Engenharia de Software II

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO

INTRODUÇÃO AOS MÉTODOS ÁGEIS

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

Introdução ao OpenUP (Open Unified Process)

Expresso Livre Módulo de Projetos Ágeis

Capítulo 1. Extreme Programming: visão geral

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

Unified Process e MSF

MDMS-ANAC. Metodologia de Desenvolvimento e Manutenção de Sistemas da ANAC. Superintendência de Tecnologia da Informação - STI

Projeto de Sistemas I

PRINCÍPIOS DE SISTEMAS DE INFORMAÇÃO MÓDULO 17

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil. Profª Esp.: Maysa de Moura Gonzaga

ELABORAÇÃO DE UM PRODUCT BACKLOG EFETIVO

Desenvolvimento Ágil de Software

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 05 PROFª BRUNO CALEGARO

AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE. Prof. Msc. Hélio Esperidião

Boas praticas na implantacao do. pmo

2 Diagrama de Caso de Uso

Engenharia de Software II

FIC Faculdade Integrada do Ceará Curso em tecnologia em analise e desenvolvimento de sistemas. OpenUp. Arquitetura de software

Introdução ao Processo Unificado (PU)

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

Segurança de Aplicações Aula 6

XP extreme Programming, uma metodologia ágil para desenvolvimento de software. Equipe WEB Cercomp

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP

Desenvolvimento Ágil de Software em Larga Escala

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

Desenvolvendo Software Livre com Programação extrema

Sistemas de Informação I

Apresentar os conceitos básicos da metodologia de desenvolvimento Processo Unificado, utilizando como aporte o Processo Unificado Rational RUP

E FOLDER INSTITUCIONAL

O modelo unificado de processo. O Rational Unified Process, RUP.

Modelagemde Software Orientadaa Objetos com UML

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Comparativo entre Processos Ágeis. Daniel Ferreira

Engenharia de Software

Métodos Ágeis e Gestão de Dados Moderna

NOKIA. Em destaque LEE FEINBERG

Manifesto Ágil e as Metodologias Ágeis (XP e SCRUM)

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP

Projeto 2.47 QUALIDADE DE SOFTWARE WEB

Fábrica de Software 29/04/2015

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Requisitos de Software. Teresa Maciel DEINFO/UFRPE

SETIS- III Seminário de Tecnologia Inovação e Sustentabilidade 4 e 5 de novembro de 2014.

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS

5. Métodos ágeis de desenvolvimento de software

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

Scrum. Introdução UFRPE-DEINFO BSI-FÁBRICA DE SOFTWARE

Resumo do BABok 2.0 O Guia de Referência de Análise de Negócio Curso de Analista de Negócio 3.0

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br

Prof. Me. Marcos Echevarria

Processo de Abertura de Projetosescritorio. Bizagi Process Modeler

Grécia Um Framework para gerenciamento de eventos científicos acadêmicos utilizando componentes

Processos de Desenvolvimento de Software

Padrões de projeto 1

A IMPORTÂNCIA DO SISTEMA DE INFORMAÇÃO GERENCIAL PARA AS EMPRESAS

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

Metodologias Ágeis. Gerenciando e Desenvolvendo Projetos de forma eficiente. Gabriel Verta Rafael Reimberg Vinicius Quaiato

INTRODUÇÃO A PORTAIS CORPORATIVOS

Pesquisa com Professores de Escolas e com Alunos da Graduação em Matemática

Processos de gerenciamento de projetos em um projeto

UML - Unified Modeling Language

Modelos do Design de Software

A apresentação através de fluxos lógicos consegue mostrar mal entendidos e pontos que são controversos.

ENG1000 Introdução à Engenharia

SCRUM Gerência de Projetos Ágil. Prof. Elias Ferreira

Programa do Curso de Pós-Graduação Lato Sensu MBA em Engenharia de Software Orientada a Serviços (SOA)

1 Introdução 1.1. Motivação

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

PMO e Agile Team Um link forte e vital nos projetos O impacto da maturidade nos Projetos de TI

Conheça a nova solução de servidor que ajuda pequenas empresas a fazer mais Com menos.

Transcrição:

Universidade Federal de Santa Catarina Centro Tecnológico Disciplina: Projetos I Aluno: Diogo Ludvig 0313812-7 Resumo artigo Agile Modeling- Overview Este trabalho se refere ao resumo do artigo Agile Modeling, de Alexandre Denes dos Santos, Jefferson Carlos Martins e Manoel Flávio Leal. O artigo encontrasse na edição 131 de maio de 2003 da revista BateByte. 1. Introdução O processo atual de desenvolvimento de software se encontra muito precário, pois normalmente os sistemas são entregues aos clientes fora do prazo e com um custo maior do que o previsto. E, além disso, mesmo tendo custos mais altos e prazos prolongados estes sistemas não conseguem atingir um nível de qualidade que o cliente deseja. Por estes motivos os sistemas têm que ser desenvolvidos de novo, e de novo, caindo no processo conhecido como isso terá que ficar para uma próxima versão. E uma das propostas para solucionar este problema é o AM - Agile Modeling, que visa aumentar a eficácia da equipe de um projeto de desenvolvimento de software. Diferentemente de metodologias como a sugerida pelo Unified Process que requer basicamente todos os artefatos para qualquer tipo de projeto de desenvolvimento, o AM busca uma construção flexível buscando utilizar artefatos somente quando se faz realmente preciso. Devemos nos atentar que a AM não é uma metodologia de desenvolvimento ágil como XP - extreme Programming ou SCRUM, mas sim uma metodologia de modelagem ágil, ou seja, pode ser utilizada dentro de metodologias ágeis mas também em metodologias prescritivas como o Unified Process. 2. Agile Modeling AM é uma coleção de práticas com princípios e valores que podem ser aplicados por profissionais de software no dia a dia, segundo Scott W. Ambler. AM não define procedimentos detalhados de como criar um modelo e sim dá orientações de como o modelador poderá ser mais efetivo. Podemos citar duas motivações principais para a criação desta metodologia:

1. O objeto principal de um projeto de software é o próprio software e não um grande conjunto de documentação sobre ele; 2. Um artefato é feito para permitir a comunicação e a troca de informações entre a equipe e permitir a discussão e refinamento do modelo. Então, se um artefato não esta passando informação útil ao projeto, ele não cumpre seu objetivo. Em cima destas constatações um grupo de pesquisadores com suporte de algumas empresas criaram a Agile Software Development Alliance, onde foi definido um manifesto para o incentivo ás melhores práticas de produção de software, definindo alguns valores: - Indivíduos e interação em vez de processos e ferramentas; - Software funcional em vez de extensa documentação; - Colaboração com o cliente em vez de renegociação de contrato; - Aceitação das mudanças em vez de obediência cega a um plano; 3. Definição de modelos ágeis Um modelo que utiliza AM é simplesmente um modelo eficiente, e podemos apresentar algumas características relevantes: - Atende o seu propósito; - É inteligível; - É suficientemente detalhado. 4. Definição de modelagem ágil AM é um complemento aos processos existentes, não é uma metodologia completa. AM foca em modelagem e em segundo plano documentação. Em resumo, a modelagem ágil é flexível o suficiente para deixar aberto, por exemplo, a necessidade da utilização de ferramentas cases ou não, se a ferramenta case por deixar o processo mais simples e eficiente então que seja usada. 5. AM na prática Os capítulos a seguir foram retirados do artigo original, visto que se trata de partes já bem resumidas e com várias citações e tópicos.

A implantação de AM dentro da cultura de desenvolvimento de software é uma experiência tanto interessante quanto traumática, devido à grande mudança de pensamento acarretada pelo método e também devido à inércia natural das pessoas frente a mudanças. Para direcionar os esforços em torno de AM, existem alguns princípios que devem ser observados para que o processo adotado seja realmente ágil. Dentre esses princípios, os mais importantes são: 5.1 Princípios fundamentais ou centrais - Software é seu principal objetivo: software que funcione. - Habilitar seu próximo esforço é um objetivo secundário: pensar sempre nas próximas funcionalidades. - Viaje com pouca bagagem: menos documentos durante o projeto - escolher documentos a serem mantidos durante o processo de desenvolvimento. - Assuma Simplicidade. - Aceite a Mudança. - Aplique Mudanças Incrementais. - Modele com um propósito: para atender a realidade, para melhorar a comunicação. - Construa Múltiplos Modelos. - Trabalhe com Qualidade. - Obtenha rápido Feedback. - Maximize o investimento do Stakeholder (pessoa chave que representa a empresa). 5.2 Princípios suplementares - Conteúdo é mais importante que representação. - Cada um tem algo a aprender com o outro. - Conheça seus modelos. - Conheça suas ferramentas. - Adapte o modelo à organização.

- Comunicação aberta e honesta. - Atente para os instintos da equipe: ouça as sugestões/reclamações de sua equipe, pois talvez o problema que a equipe encontrou poderá dificultar o restante da implementação. 6. Práticas da AM O AM também possui dois tipos de práticas, as práticas centrais e as práticas suplementares. 6.1 Práticas fundamentais ou centrais Modelagem Iterativa e Incremental: - Aplique o artefato correto; - Crie vários modelos em paralelo; - Itere entre diferentes artefatos; - Modele em pequenos incrementos. Trabalho em Equipe: - Modelar com outras pessoas; - Participação ativa do Stakeholder; - Conhecimento coletivo (nunca deixe somente uma pessoa dominar todo o processo, pois se a mesma morrer, acabou o projeto); - Exiba modelos publicamente (colocar em painéis, parede, etc.). Simplicidade: - Crie conteúdo simples; - Descreva modelos simples; - Use a ferramenta mais simples. Validação: Considere a testabilidade; Prove com código.

6.2 Práticas suplementares Produtividade: - Utilize padrões e normas de modelagem; - Aplique padrões (design patterns) com sabedoria; - Reutilize recursos existentes. Documentação: - Descarte Modelos temporários; - Formalize os modelos de contrato Contract Models ; - Atualize apenas quando dói (para que o modelo não fique inconsistente). Propósito: - Modele para entender; - Modele para comunicar. Boas Idéias: - Conheça bem suas ferramentas; - Refactoring; - Test-First Design. 7. Conclusão O AM é uma metodologia que tem o objetivo de facilitar e ao mesmo tempo fazer com que o analista ganhe tempo no desenvolvimento. Para que não existam confusões sobre o que é AM, tenha em mente os statements descritos abaixo. Eles irão ajudá-lo na hora de identificar se o AM é a melhor solução para o seu projeto ou não. AM é uma atitude, não um processo prescritivo; AM é um suplemento aos métodos existentes, ele não é uma metodologia completa; AM é uma forma efetiva de se trabalhar em conjunto para atingir as necessidades dos patrocinadores no projeto; AM é efetivo e é sobre ser efetivo;

AM é uma coisa que funciona na prática, não é teoria acadêmica. AM não é uma solução salvadora ; AM é para o desenvolvedor médio, mas não é um substituto de pessoas competentes; AM não é um ataque à documentação, pelo contrário, AM aconselha a criação de documentos que têm valor; AM não é um ataque às ferramentas CASE; AM não é para todos.