Olá, acadêmico! Estamos na Unidade 3, Tópico 2: Metodologias ágeis. A indústria de software, a partir da metade de década de 1990, observando a burocratização e demora no desenvolvimento, inflexibilidade e falta de qualidade no software, repensou e discutiu a possibilidade de criar uma metodologia que usasse uma forma ágil de desenvolver, diminuindo os custos e minimizando erros no software.
Então, em 2001, ela surgiu, através do manifesto ágil, que traz as principais regras, princípios e práticas das metodologias ágeis. O manifesto contém quatro principais valores: A equipe que criou o “Manifesto de Desenvolvimento Ágil” de software partiu da seguinte premissa, ou seja, nesse trabalho passou a valorizar: Entre todos os métodos ágeis, pode-se citar como exemplo: No Scrum, não se desperdiça tempo criando documentações extensas e detalhadas. É o método mais utilizado hoje em dia, servindo como base para uma gerência de sucesso.
No Scrum, as equipes trabalham com Sprints. São realizadas reuniões curtas, em que o time verifica quais as decisões que devem ser tomadas e os recursos do product backlog que entram nos sprints. Elas também decidem quem trabalha nos sprints e quanto tempo dura cada tarefa.
Um líder de equipe, chamado Scrum Master, conduz a reunião e avalia as respostas de cada integrante. A reunião Scrum, realizada diariamente, ajuda a equipe a revelar problemas potenciais o mais cedo possível. Outro papel fundamental no scrum é o product owner, que é o dono do produto.
Fornece o requisito do negócio para a equipe, ajuda a definir a ordem de execução das atividades conforme a necessidade do cliente, definindo também o cronograma para a liberação e fazendo as validações necessárias. No Scrum a cada dia é realizada uma reunião, analisando o que foi produzido no dia anterior e o que será produzido no dia atual. Essa reunião é chamada de daily scrum e acontece normalmente no início da manhã.
Ao fim de um sprint, a equipe apresenta os requisitos e funcionalidades desenvolvidas em uma sprint review meeting. Após uma retrospectiva, a equipe de desenvolvimento passa para o planejamento do próximo sprint. E assim segue o ciclo.
Extreme Programming (XP) A extreme programming valoriza o trabalho em equipe, em que todos precisam estar dispostos a ajudar quando necessário onde sua principal característica é a programação em pares. Baseia-se em cinco princípios fundamentais: comunicação, simplicidade, feedback, respeito e coragem. Existem características próprias de testes que são: Com o projeto em mãos, começa a codificação em dupla: dois desenvolvedores sentam lado a lado e concentram-se no código.
Além de uma técnica de escrever código, ainda precisa de um aprendizado social, o que leva um tempo para ser aperfeiçoado. O desenvolvedor sempre precisa ter em mente que a refatoração do código precisa ser constante. Quando algo não é mais usado, deve ser removido, quando parte do código é antiga, deve ser renovada.
Desenvolvimento Adaptativo de Software. Foi criado para auxiliar no desenvolvimento de sistemas e softwares grandes e complexos e concentra-se na colaboração humana e na auto-organização da equipe, com o cliente sempre presente, sendo que o software será iterativo e incremental. É caracterizado por seis principais propriedades: O desenvolvimento adaptativo de software é incorporado por três fases: A Metodologia de Desenvolvimento de Sistemas Dinâmicos (DSDM) é uma metodologia incremental que enfatiza principalmente a participação do usuário final.
Possui cinco fases definidas em três ciclos iterativos: pré-projeto, ciclo de vida e pós-projeto. Possui foco na gestão de pessoas, possibilitando a adaptação a diversos projetos, focando nas habilidades e talentos de cada pessoa envolvida. Possui valores comuns a outras metodologias ágeis, como a comunicação eficaz, a entrega frequente, papéis predefinidos e equipes com especialistas.
Está voltada para equipes de dois a oito membros que estejam na mesma sala. Ela não é feita para empresas padronizadas, pois sua metodologia não é completamente especificada, muda de acordo com os pontos fortes e fracos da organização. Quando aplicado o desenvolvimento guiado por funcionalidade, a equipe precisa estar preparada para trabalhar com funcionalidades como sendo o objeto primário.
O primeiro passo é criar um modelo abrangente, modelo que identificará os fundamentos do projeto e, consequentemente, sofrerá alterações no decorrer do projeto. Com o modelo-base pronto, precisa-se construir uma lista de funcionalidades que deverão ser desenvolvidas, coordenada pelo arquiteto, e identifica os recursos que o software deve ter. Os próximos passos no FDD são conhecidos como “Design by feature” e “Build by feature”, que é onde acontece a maior parte do projeto, envolvendo designer, desenvolvedor, testadores e qualquer outro membro necessário para a conclusão do projeto.
Muito bem, acadêmico, as metodologias ágeis estão crescendo nas empresas e indústrias de software. Não deixe de conhecer e aprender mais sobre essas metodologias ágeis. Desejo a você bons estudos e até a próxima!