De que se trata o artigo: Este artigo apresenta uma proposta sobre níveis de requisitos ágeis, práticas correspondentes aos papéis sugeridos e um modelo organizacional que proporciona um formato de empresa ágil. O objetivo é escrever os requisitos que se fazem necessários para a criação de uma equipe ágil, programas que ofereçam suporte ao primeiro nível e a fase e maturidade da empresa ágil.


Em que situação o tema é útil:
Na última década, a criação de modelos de engenharia de software cada vez mais ágeis foi a mudança mais significativa que afetou as empresas de software desde o advento do modelo em cascata na década de 1970. Nos últimos cincos anos, as metodologias ágeis começaram a se espalhar nas empresas de software. As iniciativas geralmente começaram com equipes individuais, com a adoção de alguns métodos como XP, Scrum, Lean entre outros. No entanto, esses métodos começaram a se espalhar para o nível das empresas e uma série de fatores começaram a exigir um escopo organizacional mais amplo para suportar os desafios da governança desses novos processos.

Neste sentido, o objetivo do artigo é fornecer um modelo que ajude a obter uma visão elevada do conceito ágil e seus requisitos para maturidade de uma empresa ágil.

Resumo DevMan: Este artigo discute o tema requisitos para agilidade no desenvolvimento de software. Para isso, será apresentado, sob diferentes perspectivas, como a questão da agilidade pode ser considerada em equipes de projetos de software que trabalhem considerando os princípios da agilidade.

O desenvolvimento de software se tornou um dos fatores mais importantes da tecnologia. O software que é produzido hoje se torna rapidamente um item fundamental para organizações e usuários finais no intuito de acelerar e auxiliar a execução de diferentes tarefas.

Nos últimos 50 anos diferentes grupos, especialistas e pesquisadores da área de TI, vêm disponibilizando diversas metodologias para apoiar essa difícil tarefa de desenvolvimento de software, tais como: modelo cascata, espiral, RAD, RUP, Crystal, Scrum (ler Nota 1), XP (ler Nota 2), FDD (ler Nota 3), Lean, DSDM entre outros.

Nota 1. Scrum

Scrum é um framework para gerenciamento de projetos ágeis muito utilizado na área de desenvolvimento de software. Uma das principais características do Scrum é permitir o desenvolvimento de produtos complexos de uma forma incremental e iterativa, contribuindo para decompor um grande produto complexo, em pequenos subprodutos mais simples, mais rápidos e mais fáceis de serem desenvolvidos e entregues. No Scrum estas iterações são chamadas de Sprints, e uma característica marcante de sua estrutura e aplicação é o controle sobre os trabalhos realizados, e a possibilidade de correção e adaptação rápida, permitindo que a equipe altere sua forma de agir ou de pensar o mais breve possível, evitando que problemas ou erros causem danos maiores ao projeto.

Nota 2. XP

O eXtreme Programming ou XP é um modelo ágil de desenvolvimento de software criado em 1996 por Kent Bech no Departamento de Computação da montadora de carros Daimler Chrysler. Ele possui muitas diferenças em relação a outros modelos, podendo ser aplicado a projetos de alto risco e com requisitos dinâmicos (vagos ou em constante mudança), conduzidos por equipes de tamanho médio e pequeno.

Como todo método ágil, o XP procura responder com velocidade às mudanças nas especificações do projeto, com base em princípios, valores e práticas bem definidos. Este método enfatiza o desenvolvimento rápido garantindo a satisfação do cliente e cumprindo as estimativas do projeto. O XP baseia-se em cinco valores para guiar o desenvolvimento: Comunicação, Coragem, Feedback, Respeito e Simplicidade. Segundo Beck, o método oferece ainda 12 práticas, a saber: i) Jogo do planejamento; ii) Versões pequenas; iii) Metáfora; iv) Projeto simples; v) Teste; vi) Refatoração; vii) Programação em pares; viii) Propriedade coletiva do código; ix) Integração contínua; x) 40 horas de trabalho semanal; xi) Cliente presente; e xii) Padrões de codificação.

Nota 3. FDD

O FDD é uma metodologia que serve tanto para o gerenciamento de projetos quanto para a Engenharia de Software. Isto a torna mais complexa quando comparada com outras metodologias ágeis. Por exemplo, o RUP (Rational Unified Process) da IBM, uma metodologia considerada tradicional, trata o gerenciamento de projetos como uma disciplina dentro do seu framework, já que o seu foco está na Engenharia de Software em si. Já o SCRUM, tem no papel do Scrum Master, uma figura parecida com a de um Gerente de Projetos formal, mas que tem seu foco na facilitação dos trabalhos por parte da equipe técnica. O foco dessa metodologia está na auto-organização da equipe e, para isso, são necessários analistas seniores.

...
Quer ler esse conteúdo completo? Tenha acesso completo