| Linha 62: | Linha 62: | ||
= Referências bibliográficas = | = Referências bibliográficas = | ||
B. Boehm (2004). Balancing Agility and Discipline: A Guide for the Perplexed 2 ed. Boston,MA: Addison-Wesley. | |||
Cohen, D., Lindvall, M., & Costa, P. (2004). An introduction to agile methods. In Advances in Computers. New York: Elsevier Science. | |||
Abrahamsson, P., Warsta, J., Siponen, M.T., & Ronkainen, J. (2003). New Directions on Agile Methods: A Comparative Analysis. | |||
K. Beck (1999). Extreme Programming Explained: Embrace Change. Boston, MA: Addison-Wesley. | |||
P. McBreen (2003). Questioning Extreme Programming. Boston, MA: Addison-Wesley. | |||
Edição das 17h33min de 9 de outubro de 2017
Conceito
Existem inúmeros frameworks de processos para desenvolvimento de software. A maioria dos métodos ágeis tenta minimizar o risco pelo desenvolvimento do software em curtos períodos, chamados de iteração, os quais gastam tipicamente menos de uma semana a até quatro. Cada iteração é como um projeto de software em miniatura de seu próprio, e inclui todas as tarefas necessárias para implantar o mini-incremento da nova funcionalidade: planejamento, análise de requisitos, projeto, codificação, teste e documentação. Enquanto em um processo convencional, cada iteração não está necessariamente focada em adicionar um novo conjunto significativo de funcionalidades, um projeto de software ágil busca a capacidade de implantar uma nova versão do software ao fim de cada iteração, etapa a qual a equipe responsável reavalia as prioridades do projeto.
Metodologia
Feature Driven Development (FDD) Criado em Cingapura, entre 1997 e 1999, o FDD é um método ágil que reúne as melhores práticas de outros métodos, como o Coad. Sua premissa básica é focada em funcionalidades, o que permite à equipe do projeto realizar um planejamento incremental, isto é, por fases. Esse tipo de atuação ajuda a dar agilidade ao desenvolvimento de soluções em ambientes de extrema incerteza, em que as mudanças são inevitáveis. A programação por FDD começa com a visão global do negócio, já que esse método considera a soma de tudo mais importante do que cada uma das partes separadamente. Passa-se, então, para o detalhamento do produto com a subdivisão por áreas a serem modeladas, culminando na descrição de cada funcionalidade. Por se tratar de uma ferramenta focada no desenvolvimento assim como o XP, que veremos a segui, o FDD pode ser perfeitamente integrado ao Scrum, outro método ágil muito utilizado que também é focado no planejamento e na execução do projeto.
eXtreme Programming (XP) Também criado em meados da década de 90, o eXtreme Programming, carinhosamente chamado de XP, é um método ágil focado no desenvolvimento de softwares que tem três pilares como base: agilidade no desenvolvimento da solução, economia de recursos e qualidade do produto final. Para chegar à excelência nos serviços prestados, uma equipe XP deve se basear em valores, isto é, um contrato de atitudes e comportamentos que levam ao sucesso. Além dos valores, o método ágil XP também leva em consideração melhores práticas de trabalho, que têm como objetivo garantir a efetividade do trabalho da equipe XP, assim como a satisfação do cliente durante todo o processo de desenvolvimento.
Microsoft Solutions Framework (MSF) O MSF é um dos métodos ágeis mais usados por se destinar ao desenvolvimento de soluções tecnológicas por equipes reduzidas, focando na diminuição de riscos para o negócio e no aumento da qualidade do produto final. O propósito é identificar as falhas mais comuns em projetos de tecnologia, mitigando-as e aumentando as taxas de sucesso de cada iniciativa. Assim como os outros métodos ágeis, o MSF também possui melhores práticas que devem ser observadas pela equipe para atingirem os níveis de excelência buscados:
- Comunicação aberta e transparente entre todos os envolvidos
- Visão compartilhada do negócio
- Equipe capacitada
- Atribuição de papéis e responsabilidades desde o início do projeto
- Entregas incrementais
- Flexibilidade para mudar sempre que necessário
- Qualidade das entregas
- Aprendizado constante com as experiências adquiridas
- Parceria com clientes internos e externos
Dynamic System Development Model (DSDM) O DSDM é um dos métodos ágeis mais antigos empregados não só no desenvolvimento de projetos como no meio tecnológico. Um tanto quanto diverso dos demais métodos ágeis, ele é destinado ao desenvolvimento de projetos com orçamento fixo e prazos curtos, levando em consideração que o cliente não tem como saber quanto custará a solução final. Entre suas melhores práticas estão o desenvolvimento incremental e iterativo, a colaboração entre cliente e equipe, além da integração de funcionalidades, o que também vemos nos demais métodos ágeis. Vale ressaltar que o DSDM diverge dos demais métodos ágeis tanto em sua estrutura, que é composta por processos interligados de modelagem, concepção, construção e implementação, assim como na gestão do tempo, que não é flexível, até permitindo que as funcionalidades mudem, mas desde que os prazos de execução continuem os mesmos.
Scrum O Scrum é, sem dúvida, o método ágil mais usado nos dias de hoje, principalmente porque pode ser integrado a outros métodos ágeis com facilidade, aplicando-se não só ao desenvolvimento de softwares como a qualquer ambiente de trabalho. Focado na gestão do projeto, o Scrum tem como base o planejamento iterativo e incremental, que, como você já sabe, se dá por fases, chamadas de sprints. Define-se, desde o início do projeto, a lista de funcionalidades a serem desenvolvidas, também chamada, no caso, de product backlog. Dando andamento ao processo, cada funcionalidade se torna um sprint, cujos detalhes a serem criados e desenvolvidos passam do product backlog para o sprint backlog. Do sprint backlog as atividades são distribuídas entre os membros do Scrum Team, que devem desenvolvê-las dentro de um prazo que geralmente não leva mais que quatro semanas. Ao final de cada sprint é realizada a sprint review meeting, uma reunião de alinhamento sobre o que foi entregue. A partir daí, começa-se a planejar o próximo sprint. Essas etapas acontecem sucessivamente até que o produto final esteja pronto para a entrega. As melhores práticas Scrum estão baseadas no Manifesto para o Desenvolvimento Ágil de Softwares, levando em consideração atitudes e comportamentos como:
- Indivíduos e interação mais do que processos e ferramentas
- Software em funcionamento mais do que documentação
- Colaboração com o cliente mais do que contratos e negociações
- Respostas a mudanças mais do que planejamento
Software
Citar softwares usados para esse projeto. Sejam softwares para desenvolvimento, planejamento, acompanhamento ou teste.
Diagrama de Blocos
Desenhar ou plotar representações visuais estruturadas por meio de diagramas ou esquemas, protocolos que exemplifiquem as fases desse sistema, logicamente colocando um rodapé explicativo
Interações com as tecnologias
Incluir links (internos ou externos) temas que tem relação com este, explicando detalhes sobre. Limite de 3 internos e 2 externos.
Informações adicionais
Descrever detalhes a mais sobre esse tema.
Referências bibliográficas
B. Boehm (2004). Balancing Agility and Discipline: A Guide for the Perplexed 2 ed. Boston,MA: Addison-Wesley.
Cohen, D., Lindvall, M., & Costa, P. (2004). An introduction to agile methods. In Advances in Computers. New York: Elsevier Science.
Abrahamsson, P., Warsta, J., Siponen, M.T., & Ronkainen, J. (2003). New Directions on Agile Methods: A Comparative Analysis.
K. Beck (1999). Extreme Programming Explained: Embrace Change. Boston, MA: Addison-Wesley.
P. McBreen (2003). Questioning Extreme Programming. Boston, MA: Addison-Wesley.