Anotações da Formação em Engenharia de Software da Alura.
Desenvolver softwares não envolve apenas a parte técnica, com a escrita de código, execução de testes e deploy em ambiente de produção. São pessoas que vão participar de todo o ciclo de vida de desenvolvimento e manutenção de software, sendo essencial saber como elas serão gerenciadas para todo esse processo flua da melhor maneira possível.
O sistema cascata é usado por engenharias em geral, nos quais projetos são dividos em fases entre 3 tópicos: análise, fundação e pilares. Para softwares, esse sistema não é tão eficiente, porque os clientes precisam de mudanças regularmente.
No sistema ágil, as burocracias conseguem ser mais flexíveis, os feedbacks podem aparecer continuamente ao invés de apenas no final do projeto e as etapas são muito mais mutáveis de acordo com as necessidades que surgem durante o workflow, permitindo que o projeto se organize não em etapas temporárias, mas em blocos de trabalho atualizados.
As principais diferenças entre Scrum e Kanban está no direcionamento de trabalho. Enquanto no Scrum há sistemas metódicos para tempo, monitoramento e multifunções, o Kanban trabalha com um fluxo de progresso contínuo sem prescrição de tamanho de equipes.
É uma metodologia ágil em que equipes de desenvolvedores projetam softwares seguindo práticas de adaptação rápida à mudanças e deploy contínuo.
Foi criado por Kent Beck, Ron Jeffries, Ward Cunningham e Martin Fowler como uma forma de desenvolver um projeto de alta complexidade e risco.