Fabiov (discussão | contribs)
Etiqueta: visualeditor
 
(34 revisões intermediárias por 4 usuários não estão sendo mostradas)
Linha 1: Linha 1:
Esta pesquisa deve fornecer um conteúdo atualizado sobre o tema acima. Não esqueça de incluir as 
== '''Conceito''' ==
referëncias (fontes) no último item, reforçando que não deve ser um Copy/Paste e sim uma síntese
* O desenvolvimento ágil é um termo que se define pelas melhores metodologias segundo os princípios de desenvolvimento segundo o Manifesto para o Desenvolvimento Ágil de Software (também conhecido como Manifesto Ágil), toda metodologia que segue os princípios desse manifesto pode ser considerado como desenvolvimento ágil. Tal manifesto são os princípios comuns entre os projetos de sucesso, ele foi criado durante uma reunião de diversos profissionais da área de desenvolvimento de software no início de 2001 durante um workshop realizado em Snowbird, Utah, EUA.
das pesquisas que fizer.
* No desenvolvimento ágil o desenvolvimento do software é feito em forma de espiral e de forma interativa diferente do modelo tradicional (modelo em cascata), ou seja, no desenvolvimento ágil o projeto é dividido em partes e gerando ciclos de repetição para cada parte do sistema. Em cada ciclo é gerado um sistema funcional, testado e aprovado, com novas funcionalidades.  
<br>


= Conceito =
== '''Vantagens ao Cliente''' ==
<br>
* Esse tipo de desenvolvimento se adequa bem a mudanças de projeto, já que possui apenas uma idealização básica das funções e do sistema em si, achando assim natural as mudanças de projeto, surgimento de novas funções e erros no projeto (já que eles estimulam a criatividade e aprendizado do programador). Diferente do desenvolvimento tradicional, que busca a definição no inicio do projeto de um sistema que será a meta final, separando o projeto em fases que devem ser seguidas a risca segundo o plano de desenvolvimento, onde cada pessoa tem seu papel totalmente definido, tendo que realizar apenas o que lhe foi exigido, considerando erros e alterações de projeto como falhas, que atrapalham o rendimento do projeto e assim como aumento do custo do mesmo.
O desenvolvimento de software tradicional é uma tarefa difícil, laboriosa e possui riscos. Riscos estes que envolvem orçamento, tempo para levantamento de requisitos e planejamento que não atendem ao cronograma estipulado e que tornará o projeto ainda mais caro, etc e que ao final de um período tudo pode estar perdido devido a não solução do problema do cliente.
* No desenvolvimento ágil o cliente tem maior afinidade com o projeto, devido ao fato de poder interferir e opinar no sistema durante o decorrer de sua criação, já que é possível retirar duvidas de funcionamento do sistema e inserir com facilidade ideias e funções que surjam nesse processo de criação. Algo que não ocorre no desenvolvimento padrão, já que o plano já foi definido e dependendo da etapa em que o projeto se encontra seria necessário um retorno de etapas da cascata para redefinição de projeto e desenvolvimento, atrapalhando a data de entrega do sistema e seu custo, sendo assim o cliente tem que se adequar ao sistema entregue e não o contrário.


Pensando nisso, no início do ano de 2001, um grupo de consultores veteranos da área de engenharia de software se reuniu em Snowbird, Utah, EUA. Apesar de cada um ter aprendido segundo a cartilha tradicional, ter suas próprias práticas e teorias preferidas, concordaram que os riscos inerentes ao desenvolvimento de software tradicional só poderiam ser atenuados se houvesse uma forma diferente do existia até então para desenvolvimento. Apesar de seus métodos serem diferentes, houve consenso de que os projetos tinham em comum um pequeno conjunto de princípios e com base nisso criaram o Manifesto para Desenvolvimento Ágil de software.
== '''Vantagens para os desenvolvedores''' ==
* No desenvolvimento ágil por conta de como os erros são tratados (como possibilidades de aprendizado), os desenvolvedores possuem a chance de testar novas funcionalidades para os programas, incentivando a criatividade nas maneiras para solucionar os eventuais erros, assim como na criação de designs e funcionalidades no decorrer do projeto. Sendo assim os desenvolvedores que participam desse modo de desenvolvimento tem uma maior chance de experimentação de desenvolvimento, tendo desse modo uma maior capacitação, já que são forçados a encontrar erros e suas respectivas soluções, além de possuírem mais criatividade, por serem incentivados a criar novas maneiras de efetivação do projeto.
* Desse modo os desenvolvedores ágeis são melhores tratados, já que não tem a pressão de seguir a risca um padrão de desenvolvimento, que não suporta erros ou mudanças, ou seja, que em caso de erro o trabalhador pode ser o causador do prolongamento da entrega do projeto e/ou possível cancelamento.


= Principais métodos =
== '''Princípios''' ==
<br>
* Os princípios do Manifesto Ágil são:
Mesmo antes da reunião dos consultores da área de engenharia de software em Snowbird, Utah, EUA no início do ano de 2001, já haviam definições de desenvolvimento de software ágil que evoluíram a partir de meados dos anos de 1990 como parte de uma reação contra métodos “pesados”, caracterizados por regulamentação pesada, regimentação e micro gerenciamento usando o modelo em cascata para desenvolvimento.
** 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.
* Os 12 princípios do Desenvolvimento Ágil são:
** A maior prioridade é satisfazer o cliente, através da entrega adiantada e contínua de software de valor.
** Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento. Processos ágeis se adequam a mudanças, para que o cliente possa tirar vantagens competitivas.
** Entregar software funcionando com freqüencia, na escala de semanas até meses, com preferência aos períodos mais curtos.
** Pessoas relacionadas à negócios e desenvolvedores devem trabalhar em conjunto e diariamente, durante todo o curso do projeto.
** Construir projetos ao redor de indivíduos motivados. Dando a eles o ambiente e suporte necessário, e confiar que farão seu trabalho.
** O Método mais eficiente e eficaz de transmitir informações para, e por dentro de um time de desenvolvimento, é através de uma conversa cara a cara.
** Software funcional é a medida primária de progresso.
** Processos ágeis promovem um ambiente sustentável. Os patrocinadores, desenvolvedores e usuários, devem ser capazes de manter indefinidamente, passos constantes.
** Contínua atenção à excelência técnica e bom design, aumenta a agilidade.
** Simplicidade: a arte de maximizar a quantidade de trabalho que não precisou ser feito.
** As melhores arquiteturas, requisitos e designs emergem de times auto organizáveis.
** Em intervalos regulares, o time reflete em como ficar mais efetivo, então, se ajustam e otimizam seu comportamento de acordo.


Inicialmente, métodos ágeis eram conhecidos como métodos “leves”. Após a reunião em Snowbird foi adotado o nome métodos ágeis, tendo publicado o Manifesto ágil, documento que reúne os princípios e práticas desta metodologia de desenvolvimento.  
== '''Metodologias''' ==
* XP (Extreme Programming) e SCRUM são as metodologias ágeis mais conhecidas e usadas, porém também existem outras, como: Adaptive Software Process, Feature Driven Development (FDD), Crystal, Agile Modeling e Win-Win Spiral.


Os métodos ágeis iniciais – criado a priore em 2000 – incluíam Scrum (1986), Crystal Clear, Programação extrema (1996), Adaptive Software Development, Feature Driven Development, and Dynamic Systems Development Method (1995).
== '''Referências''' ==
 
* INTRODUÇÃO AO DESENVOLVIMENTO ÁGIL. Disponível em: < http://www.devmedia.com.br/introducao-ao-desenvolvimento-agil/5916 >. Acesso em 22 de Maio de 2017.
= Princípios do Manifesto Ágil =
* DESENVOLVIMENTO ÁGIL. Aprenda a desenvolver software com foco em entregáveis, agilizando o processo de entregas e comercialização do produto. Disponivel em: < http://ead.parceriapositiva.com.br/site/curso/desenvolvimento-agil >. Acesso em 05 de Junho de 2017.
<br>
* O QUE É DESENVOLVIMENTO ÁGIL? – FAQ SCRUM. Disponível em: <  http://blog.myscrumhalf.com/2011/05/faq-scrum-o-que-e-desenvolvimento-agil/ >. Acesso em 05 de Junho de 2017.
São 12 os princípios do desenvolvimento ágil:
* MANIFESTO PARA O DESENVOLVIMENTO ÁGIL DE SOFTWARE. Disponível em: < http://www.manifestoagil.com.br >. Acesso em 05 de Junho de 2017.
 
* PRINCÍPIOS POR TRÁS DO MANIFESTO ÁGIL. Disponível em: < http://www.manifestoagil.com.br/principios.html >. Acesso em 05 de Junho de 2017.
**Garantir a satisfação do consumidor entregando rapidamente e continuamente softwares funcionais;
* AGILE DEVELOPMENT: XP E SCRUM EM UMA ABORDAGEM COMPARATIVA. Nesse artigo veremos como um apanhado geral sobre as duas principais metodologias ágeis usadas no mercado e ao final faremos um comparativo entre elas. Disponível em: < http://www.devmedia.com.br/agile-development-xp-e-scrum-em-uma-abordagem-comparativa/30808 >. Acesso em 06 de Junho de 2017.
**Softwares funcionais são entregues frequentemente (semanas, ao invés de meses);
* APRENDA SOBRE DESENVOLVIMENTO ÁGIL DE SOFTWARE. Este é um guia Open Source sobre Desenvolvimento Ágil feito pela comunidade de Desenvolvimento Ágil do Brasil. Disponível em: < http://www.desenvolvimentoagil.com.br/ >. Acesso em 06 de Junho de 2017.
**Softwares funcionais são a principal medida de progresso do projeto;
* METODOLOGIAS ÁGEIS DE DESENVOLVIMENTO DE SOFTWARE. Disponível em: < http://www.brq.com/metodologias-ageis/ >. Acesso em 06 de Junho de 2017.
**Até mesmo mudanças tardias de escopo no projeto são bem-vindas. Processos ágeis tiram vantagem das mudanças visando vantagem competitiva para o cliente;
**Pessoas de negócio e desenvolvedores devem trabalhar diariamente em conjunto por todo o projeto;
**Projetos surgem através de indivíduos motivados, entre os quais existe relação de confiança. Dê a eles o ambiente e o suporte necessário e confie neles para fazer o trabalho;
**Design do software deve prezar pela excelência técnica;
**Simplicidade;
**O método mais eficiente e eficaz de transmitir informações para e entre uma equipe de desenvolvimento é através de conversa face a face;
**Os processos ágeis promovem desenvolvimento sustentável. Os patrocinadores, desenvolvedores e usuários devem ser capazes de manter um ritmo constante indefinidamente;
**As melhores arquiteturas, requisitos e designs emergem de equipes auto-organizáveis;
**Em intervalos regulares, a equipe reflete sobre como se tornar mais eficaz e então refina e ajusta seu comportamento de acordo.
 
= Vantagens =
<br>
 
= Scrum =
<br>
 
= XP eXtreme Programming =
<br>
 
= Referências bibliográficas =
<br>

Edição atual tal como às 00h09min de 7 de junho de 2017

Conceito

  • O desenvolvimento ágil é um termo que se define pelas melhores metodologias segundo os princípios de desenvolvimento segundo o Manifesto para o Desenvolvimento Ágil de Software (também conhecido como Manifesto Ágil), toda metodologia que segue os princípios desse manifesto pode ser considerado como desenvolvimento ágil. Tal manifesto são os princípios comuns entre os projetos de sucesso, ele foi criado durante uma reunião de diversos profissionais da área de desenvolvimento de software no início de 2001 durante um workshop realizado em Snowbird, Utah, EUA.
  • No desenvolvimento ágil o desenvolvimento do software é feito em forma de espiral e de forma interativa diferente do modelo tradicional (modelo em cascata), ou seja, no desenvolvimento ágil o projeto é dividido em partes e gerando ciclos de repetição para cada parte do sistema. Em cada ciclo é gerado um sistema funcional, testado e aprovado, com novas funcionalidades.

Vantagens ao Cliente

  • Esse tipo de desenvolvimento se adequa bem a mudanças de projeto, já que possui apenas uma idealização básica das funções e do sistema em si, achando assim natural as mudanças de projeto, surgimento de novas funções e erros no projeto (já que eles estimulam a criatividade e aprendizado do programador). Diferente do desenvolvimento tradicional, que busca a definição no inicio do projeto de um sistema que será a meta final, separando o projeto em fases que devem ser seguidas a risca segundo o plano de desenvolvimento, onde cada pessoa tem seu papel totalmente definido, tendo que realizar apenas o que lhe foi exigido, considerando erros e alterações de projeto como falhas, que atrapalham o rendimento do projeto e assim como aumento do custo do mesmo.
  • No desenvolvimento ágil o cliente tem maior afinidade com o projeto, devido ao fato de poder interferir e opinar no sistema durante o decorrer de sua criação, já que é possível retirar duvidas de funcionamento do sistema e inserir com facilidade ideias e funções que surjam nesse processo de criação. Algo que não ocorre no desenvolvimento padrão, já que o plano já foi definido e dependendo da etapa em que o projeto se encontra seria necessário um retorno de etapas da cascata para redefinição de projeto e desenvolvimento, atrapalhando a data de entrega do sistema e seu custo, sendo assim o cliente tem que se adequar ao sistema entregue e não o contrário.

Vantagens para os desenvolvedores

  • No desenvolvimento ágil por conta de como os erros são tratados (como possibilidades de aprendizado), os desenvolvedores possuem a chance de testar novas funcionalidades para os programas, incentivando a criatividade nas maneiras para solucionar os eventuais erros, assim como na criação de designs e funcionalidades no decorrer do projeto. Sendo assim os desenvolvedores que participam desse modo de desenvolvimento tem uma maior chance de experimentação de desenvolvimento, tendo desse modo uma maior capacitação, já que são forçados a encontrar erros e suas respectivas soluções, além de possuírem mais criatividade, por serem incentivados a criar novas maneiras de efetivação do projeto.
  • Desse modo os desenvolvedores ágeis são melhores tratados, já que não tem a pressão de seguir a risca um padrão de desenvolvimento, que não suporta erros ou mudanças, ou seja, que em caso de erro o trabalhador pode ser o causador do prolongamento da entrega do projeto e/ou possível cancelamento.

Princípios

  • Os princípios do Manifesto Ágil são:
    • 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.
  • Os 12 princípios do Desenvolvimento Ágil são:
    • A maior prioridade é satisfazer o cliente, através da entrega adiantada e contínua de software de valor.
    • Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento. Processos ágeis se adequam a mudanças, para que o cliente possa tirar vantagens competitivas.
    • Entregar software funcionando com freqüencia, na escala de semanas até meses, com preferência aos períodos mais curtos.
    • Pessoas relacionadas à negócios e desenvolvedores devem trabalhar em conjunto e diariamente, durante todo o curso do projeto.
    • Construir projetos ao redor de indivíduos motivados. Dando a eles o ambiente e suporte necessário, e confiar que farão seu trabalho.
    • O Método mais eficiente e eficaz de transmitir informações para, e por dentro de um time de desenvolvimento, é através de uma conversa cara a cara.
    • Software funcional é a medida primária de progresso.
    • Processos ágeis promovem um ambiente sustentável. Os patrocinadores, desenvolvedores e usuários, devem ser capazes de manter indefinidamente, passos constantes.
    • Contínua atenção à excelência técnica e bom design, aumenta a agilidade.
    • Simplicidade: a arte de maximizar a quantidade de trabalho que não precisou ser feito.
    • As melhores arquiteturas, requisitos e designs emergem de times auto organizáveis.
    • Em intervalos regulares, o time reflete em como ficar mais efetivo, então, se ajustam e otimizam seu comportamento de acordo.

Metodologias

  • XP (Extreme Programming) e SCRUM são as metodologias ágeis mais conhecidas e usadas, porém também existem outras, como: Adaptive Software Process, Feature Driven Development (FDD), Crystal, Agile Modeling e Win-Win Spiral.

Referências