As Ferramentas para Desenvolvimento Ágil
Por: fernandoasg • 16/9/2018 • Artigo • 3.656 Palavras (15 Páginas) • 151 Visualizações
Ferramentas para Desenvolvimento Ágil
Fernando Augusto da Silva Gallardo1, Kleber Meira1, Moisés Freitas Barbosa1
1Faculdade de Computação – FACOM
Universidade Federal de Mato Grosso do Sul - UFMS
fernando.asg@outlook.com, klebermeira4@gmail.com, moisesfreitas53@gmail.com
Abstract. This article deals with Agile Development, with a greater focus on showing some tools that help in this very important practice for software development today. Firstly, the definition of agile development will be discussed followed by the two main models of agile development. Then the tools LeanKit, Asana and Jira Software will be shown. Finally, a comparison of the tools will be shown and the article will be completed.
Resumo. Este artigo trata a respeito do Desenvolvimento Ágil, com um foco maior em mostrar algumas ferramentas que auxiliam nessa prática muito importante para o desenvolvimento de software atualmente. Primeiramente será discutido sobre a definição do desenvolvimento ágil, seguido dos dois principais modelos de desenvolvimento ágil. Em seguida, serão mostradas as ferramentas LeanKit, Asana e Jira Software. Por fim, será mostrada uma comparação entre as ferramentas e artigo será concluído.
- Introdução
O desenvolvimento ágil é a habilidade de criar e responder a mudanças de forma rápida, com o objetivo de atingir sucesso no ambiente de desenvolvimento de software nos dias atuais. Porém, para ser capaz de fazer isso de forma rápida, sem perder o foco e a qualidade, tentando manter todo o processo de desenvolvimento de software de forma organizada, para evitar o caos, devem-se utilizar ferramentas para apoiar essa prática.
As ferramentas para desenvolvimento ágil possuem diversas funcionalidades como Quadros Kanban, Listas de pendências, Painéis (do scrum, por exemplo). Ajudam também a facilitar o gerenciamento das tarefas do projeto, possibilitando adicionar pessoas a tarefas, receber anexos e feedbacks, ver o que cada integrante da equipe está fazendo, tudo isso em apenas um lugar.
Além disso, essas ferramentas possuem diferentes versões, incluindo gratuitas, que servem tanto para equipes pequenas ou iniciantes, como para equipes maiores e mais experientes. E, tendo todas essas funcionalidades juntas, é possível ver a grande importância que essas ferramentas possuem para a equipe atingir o objetivo de desenvolver o software de forma ágil.
- Revisão Bibliográfica
- Desenvolvimento Ágil
No final dos anos 90, diversas metodologias começaram a ganhar atenção pública, cada uma tendo uma combinação diferente de ideias velhas e novas. Estas metodologias enfatizavam colaboração próxima entre a equipe de desenvolvimento e os stakeholders do negócio; entrega frequente de valor para o negócio, justo, equipes auto organizáveis; e formas inteligentes de construir, confirmar e entregar código.
O termo “Agile” foi aplicado a essa coleção de metodologias no começo de 2001 quando 17 desenvolvedores de software se reuniram em Snowbird, Utah, para discutir suas ideias compartilhadas e várias abordagens para o desenvolvimento de software.
Essa junção de coleção de valores e princípios foi expressado no “Manifesto para o Desenvolvimento Ágil” e correspondentes 12 princípios. Os criadores disseram que, através do manifesto, deve-se valorizar:
- Indivíduos e interações 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
- Programação Extrema
Programação Extrema (XP) é um framework de desenvolvimento ágil que foca em produzir software de alta qualidade e alta qualidade de vida para o time de desenvolvimento. XP é o framework ágil mais específico em relação às práticas de engenharia apropriadas para o desenvolvimento de software.
As características gerais de onde o XP é apropriado foram descritos por Don Wells, que diz:
- Mudanças de requerimentos de software dinâmicas
- Riscos causados por tempo fixo de projetos usando nova tecnologia
- Equipe de desenvolvimento estendida pequena e colocalizada
- A tecnologia usada permite unidades automatizadas e testes funcionais
O núcleo do XP é o conjunto interconectado de práticas de desenvolvimento de software. Essas práticas mudaram um pouco desde quando foram inicialmente introduzidas. Dentre elas temos:
- Design simples
- Teste
- Refatoração
- Programação em par
- Padrão de codificação
- Scrum
Scrum é parte do movimento Ágil e seus primeiros defensores foram inspirados pela inspeção empírica e ciclos de feedback adaptativos para lidar com a complexidade e o risco. O Scrum enfatiza a tomada de decisões a partir de resultados reais em vez de especulação.
É um conjunto simples de funções, responsabilidades e reuniões que nunca mudam. Ao remover a imprevisibilidade desnecessária, é mais capaz de se lidar com a imprevisibilidade necessária da descoberta e do aprendizado contínuos.
O Scrum possui os seguintes papéis:
- Dono do produto: O dono do produto deve ser uma pessoa com visão, autoridade e disponibilidade. Ele é o responsável por comunicar continuamente a visão e as prioridades para a equipe de desenvolvimento.
- Scrum Master: O Scrum Master atua como facilitar do Dono do produto e da equipe. Ele não gerencia a equipe, mas trabalha para remover quaisquer impedimentos que estejam impedindo a equipe de atingir suas metas de Sprint. Isso ajuda a equipe a permanecer criativa e produtiva, garantindo que seus sucessos sejam visíveis pelo dono do produto. Além disso, o Scrum Master também trabalha para aconselhar o dono do produto sobre como maximizar o ROI (retorno sobre o investimento) da equipe.
- Time: De acordo com o fundador do Scrum “a equipe é totalmente auto gerenciada”. A equipe de desenvolvimento é responsável pela auto-organização para concluir o trabalho. Para projetos de software, uma equipe típica inclui uma mistura de engenheiros de software, arquitetos, programadores, analistas, especialistas em controle de qualidade, testadores e designers de interface do usuário. A cada Sprint, a equipe é responsável por determinar como realizar o trabalho a ser concluído. A equipe tem autonomia e responsabilidade para cumprir as metas do Sprint.
Explicando sobre as etapas do Scrum, simbolizadas na figura 1, as funcionalidades a serem implementadas em um projeto são mantidas em uma lista que é conhecida como Backlog do produto, ou apenas Backlog. No início de cada Sprint, é feito uma reunião de planejamento de Sprint, na qual o Dono do produto prioriza os itens do Backlog e a equipe seleciona as atividades que ela será capaz de implementar durante o Sprint que se inicia. As tarefas alocadas em um Sprint são transferidas do Backlog para o Backlog da Sprint.
...