13. Eng de Software:Modelo Processo Ágil de Desenvolvimento

Jamil Yahuza Felippe
Mind Map by , created over 5 years ago

Tecnologia da Informação e Comunicação Engenharia de Software Mind Map on 13. Eng de Software:Modelo Processo Ágil de Desenvolvimento, created by Jamil Yahuza Felippe on 06/19/2014.

95
4
0
Tags
Jamil Yahuza Felippe
Created by Jamil Yahuza Felippe over 5 years ago
Quiz - Processos tradicionais
Adriana Gomes Alves
Aula Um Engenharia de Software III
Artur R
Modelagem de Software
FARLEY DE OLIVEIRA RANGEL
General Knowledge Quiz
Andrea Leyden
Leaving Certificate Japanese Kanji
Sarah Egan
Engenharia de Software
Gabriel Alexandre
Quiz - Processo de Software
Adriana Gomes Alves
Áreas de Conhecimento X Grupos de Processos
Rodrigo Ferreira
Requisitos
carlinhosarena
13. Eng de Software:Modelo Processo Ágil de Desenvolvimento
1 As definições modernas de desenvolvimento de software ágil evoluíram a partir de meados de 1990, como parte de uma reação contra métodos caracterizados por uma regulamentação complexa e rígida e contra a regimentação e sequenciamento usados no modelo em cascata. O objetivo era desburocratizar os procedimentos que tornavam as etapas dos processos lentas, o que era contrário ao modo de trabalho usual dos engenheiros de software.
1.1 Inicialmente, os métodos ágeis foram denominados de “métodos leves”. Em 2001, Kent Beck e dezesseis outros profissionais notáveis da área de engenharia de software se reuniram, adotaram o nome de métodos ágeis, e publicaram o Manifesto Ágil, documento que reúne os princípios e práticas dessa metodologia de desenvolvimento. Esses veteranos formaram a Agile Alliance (ou Aliança Ágil), uma organização não lucrativa que promove e fomenta o desenvolvimento ágil (BECK, 2001).
1.1.1 Os principais modelos baseados na concepção de desenvolvimento ágil incluem
1.1.1.1 O Scrum: criado em 1986
1.1.1.2 O ASD: (Adaptive Software Development)
1.1.1.3 O FDD: (Feature Driven Development)
1.1.1.4 O DSDM (Dynamic Systems Development Method), de 1995
1.1.1.5 O Crystal e a XP (eXtreme Programming ou Programação Extrema), criados em 1996.
2 Os membros da Aliança Ágil declararam os princípios da metodologia em seu manifesto da seguinte forma: "Estamos descobrindo maneiras melhores de desenvolver software fazendo-o nós mesmos e ajudando outros a fazê-lo. Por meio desse trabalho, passamos a valorizar: — Indivíduos e interação entre eles, mais que processos e ferramentas; — Software em funcionamento, mais que documentação abrangente; — Colaboração com o cliente, mais que negociação de contratos; — Responder a mudanças, mais que seguir um plano. Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda" (BECK, 2001).
3 O Desenvolvimento Ágil de Software (Agile Software Development)envolve uma metodologia que visa minimizar os riscos, por meio de desenvolvimentos em curtos períodos ou iterações
3.1 A iteração típica envolve o desenvolvimento em fases curtas, de uma a quatro semanas, envolvendo todas as tarefas necessárias para implantar uma funcionalidade.
3.1.1 Considerando-se o período curto de cada iteração, a comunicação mantida entre os stakeholders é em tempo real sendo, preferencialmente, tratada por meio verbal (embora documentada), ou face a face, visando minimizar entendimentos parciais ou errôneos. Para tanto, é necessário estabelecer-se um local físico (uma sala) em que toda a equipe necessária ficará focada no projeto.
4 Alguns críticos do processo ágil afirmam que o maior risco desse tipo de abordagem é a baixa qualidade ou mesmo inexistência de documentação do projeto devido à interação humana face a face que, se por um lado traz agilidade na comunicação, por outro traz a informalidade nas definições. Assim sendo, é necessário um bom acompanhamento do gestor do projeto para garantir a qualidade dos trabalhos, independente do processo utilizado.
4.1 A metodologia ágil vem gerando grande debate entre desenvolvedores apaixonados e críticos ferrenhos. Contudo, deve-se manter a imparcialidade profissional e questionar o que realmente tem que ser observado, como:
4.1.1 Qual é a melhor forma de se alcançar a agilidade nos processos e práticas do desenvolvimento de software?
4.1.2 Como construir softwares que satisfaçam às necessidades do cliente e possuam características de qualidade que permitam sua extensão e ampliação para satisfazer às necessidades do cliente em longo prazo?
5 De forma geral, os processos ágeis atendem aos projetos de software que, normalmente, apresentam:
5.1 Dificuldade em prever com antecedência quais requisitos vão persistir e quais serão modificados, bem como quais prioridades dos clientes sofrerão mudanças ao longo do projeto;
5.2 Intercalação das etapas de projeto e construção, que vão sendo realizadas juntas, de modo que os modelos de projeto vão sendo comprovados na medida em que são criados
5.3 Falta de previsibilidade da análise, projeto, construção e testes do ponto de vista do planejamento, como seria desejado.
6 Desenvolvimento Ágil Funciona?
6.1 Scrum e Extreme Programming são algumas metodologias ágeis que estão em voga no momento. Elas refletem o espírito deste manifesto ágil?
6.1.1 A gente ouve falar muito hoje de Scrum, de Extreme Programming, mas se usam essas ferramentas apenas como ferramentas.
6.1.1.1 Isso não funciona.
6.1.1.1.1 Tem gente que até discute se o pico recente de Scrum não foi mais negativo que positivo, porque muita gente está aplicando e não atinge os resultados, simplesmente porque usa o raciocínio antigo com ferramentas novas. Os valores não foram entendidos.
6.1.1.1.1.1 Scrum é um template. Ele te diz que você tem este papel chamado product owner, você tem este tempo chamado sprint, tem esta atividade chamada scrum diário, e estas coisas chamadas retrospectiva e backlog.
6.1.1.1.1.1.1 Ele te dá nomes e elementos que você aplica. Mas não é só aplicar e ponto. Isso é só o começo. A grande mensagem da forma ágil de pensar é que o procedimento não é importante. É irrelevante se eu chamo o meu tempo de trabalho de sprint ou o dono do projeto de product owner.
6.1.1.1.1.1.1.1 É absolutamente irrelevante, se eu não entendi os valores que são entregar valor ao cliente, criar uma organização de aprendizado, acreditar nas pessoas e dar suporte a elas. Esses princípios é que são importantes, mas não são explícitos.

Media attachments