Buscar

Prévia do material em texto

ENG DE SOFTWARE 
GUSTAVO OLIVEIRA PAULISTA 
110096 
RESUMO: Levantamento de requisitos no desenvolvimento ágil de software 
Em um sistema de informação de desenvolvimento de software, iniciamos pelo levantamento 
de requisitos, onde são feitas as primeiras reuniões com os clientes e usuários para conhecer 
as funcionalidades do sistema que será desenvolvido. Nessa etapa, é necessário analisar com 
clareza e utilizando as técnicas adequadas para que as dores do cliente possam ser 
compreendidas da melhor maneira possível. 
Começando o levantamento de requisitos pelas entrevistas, temos que, o entrevistador da 
margem para o entrevistado expor algumas ideias, no qual também é preciso seguir um 
método para que as perguntas da entrevista sejam organizadas e de uma maneira que não 
haja dispersão de ideias. Existindo assim, dois tipos de entrevista, a fechada, engenheiro de 
requisitos tem um conjunto pré-definido de perguntas e está a procura de respostas. E a 
Aberta, onde não possuem perguntas pré-definidas do engenheiro de requisitos. 
Em seguida, os questionários, que são indicados quando possuem vários grupos de usuários 
que estão em locais diferentes. Para evitar uma pesquisa individual com cada um, 
economizando tempo. Da mesma forma que as entrevistas, o questionário precisa ser 
preparado com atenção e com um controle de identificação de usuário. Junto ao questionário, 
deve ser enviado uma carta explicativa sobre o mesmo. 
O Brainstorming é uma técnica para geração de ideias. Com uma ou várias reuniões que 
permitem a exploração de ideias. Contendo duas fases, a de geração, ou seja, onde as ideias 
são coletadas e a fase de avaliação, onde as mesmas são discutidas. 
No método JAD (Join Application Design), conseguimos acelerar o desenvolvimento de 
sistemas de informação embasado em dinâmicas de grupo, planejamento, estruturação e 
sistematização de reuniões. Facilitando a visão do produto entre todos do projeto. No JAD, são 
estabelecidos 4 princípios básicos, sendo eles, Dinâmica em grupo, Uso de técnicas visuais, 
Manutenção do processo organizado e racional e Utilização de documentação padrão. O 
mesmo, também é dividido em duas etapas, o planejamento (especificar os requisitos) e o 
projeto (software). Cada uma dessas etapas passa pela adaptação, sessão e finalização. 
Embora todos participem de todas as etapas, dividimos as funções em Líder da sessão, 
Engenheiro de requisitos, Executor, Representante dos usuários, Representante de produtos 
de Software e Especialista. O JAD, funciona para projetos pequenos ou médios. 
Na prototipagem, são feitos para ajudar a obter e validar os requisitos do sistema, onde é 
indicado para estudar algumas alternativas de interface do usuário, problemas de 
comunicação e a viabilidade de atendimento dos requisitos de desempenho. As técnicas para 
isso são, interface de usuário, relatórios textuais, relatórios gráficos, entre outros. Com os 
protótipos dentro do ambiente certo e com entendimento total da equipe, conseguimos 
reduzir os riscos do sistema. 
Já para o desenvolvimento ágil, onde são aplicadas praticas guiadas por princípios e valores e 
que são facilmente adaptadas ao longo do projeto. Logo, podemos dizer que os métodos ágeis, 
foram desenvolvidos para se adaptar a mudanças, onde orientamos os métodos para as 
pessoas e não para os processos. Conseguimos exemplificar o mesmo com alguns de seus 
métodos mais comuns: 
Extreme Programming (XP), enfatiza o desenvolvimento rápido do projeto e visa garantir a 
satisfação do cliente, favorecendo o cumprimento das estimativas. Proporcionando assim, um 
agradável ambiente de desenvolvimento de software, que são conduzidos por quatro valores: 
comunicação, simplicidade, feedback e coragem. Logo, temos uma melhoria significativa na 
comunicação entre todas as partes do projeto, encorajando todos a ter poder de fala (opinião). 
Portanto, a aposta do método XP, é fazer algo simples hoje que possa ser alterado amanhã ao 
invés de fazer algo complicado hoje que não seja possível implementar no futuro. 
Durante o planejamento, são usadas as entrevistas, brainstorming e priorização das técnicas 
de requisitos. No qual, a principal ferramenta, é a escrita de uma história (descrição) de um 
recurso que fornece valor de negócio para o cliente. Assim, com uma espécie de 
Brainstorming, eles pensam sobre o que eles esperam do sistema e suas funcionalidades. 
Scrum, é um processo de desenvolvimento iterativo e incremental para gerenciamento de 
projetos e desenvolvimento ágil de software. Ele se concentra em como uma equipe deve 
trabalhar em conjunto paras produzir um trabalho de qualidade em um ambiente de mudança. 
Sendo dividido em três fases, Pré-planejamento (requisitos são descritos em um documento 
Backlog), Desenvolvimento (os riscos identificados são mapeados e acompanhados) e pós-
planejamento (integração do software com os testes finais e documentação). 
Todos os requisitos necessários ou uteis para o produto estão listados no product backlog. 
Onde são ordenados por lista de funcionalidades, melhorias e bugs. Cada iteração com 30 dias 
de desenvolvimento (sprint) está prevista no product backlog. Logo, temos flexibilidade de 
alteração somente no próximo sprint. 
Feature Driven Development (FDD) é um processo de curta iteração para desenvolvimento de 
software com foco no projeto e na fase de desenvolvimento. Ele é composto com cinco 
processos sequenciais, Desenvolvimento de um modelo geral, Construção de uma lista de 
funcionalidades, Planejamento por funcionalidades, Projeto por funcionalidade e 
Desenvolvimento por funcionalidade. Os dois papeis mais importantes do processo são, 
programador-chefe e o proprietário da classe. Na primeira fase, um modelo geral é 
desenvolvido por membros do domínio e pelos desenvolvedores. Já na segunda fase, é 
construído um modelo global com a lista de funcionalidades. O FDD, possui um encontro 
semanal de 30 minutos para discussão das funcionalidades que são anotadas em um relatório 
da reunião. 
Adaptive Software Development (ASD), fornece uma estrutura para o desenvolvimento de 
sistemas grandes e complexos com orientações suficientes para impedir o projeto de cair no 
caos. Estimulando o desenvolvimento iterativo e incremental com a prototipagem. Com três 
fases, Especulação, Colaboração e Aprendizagem. Nesse método, os desvios não são uma 
falha, mas levarão para uma solução correta. Ele também diz que é importante ser capaz de 
reagir a mudanças e utilizar o método de tolerância às mudanças. 
Portanto, concluímos que, o desenvolvimento ágil pode ser considerado novo, porem vem 
acompanhado de necessidades de desenvolver softwares com qualidade, menor tempo e que 
atendam as necessidades. Focando no forte envolvimento do cliente durante todo o processo. 
Contudo, sabemos que, uma empresa ao utilizar esses métodos estará agregando valor ao seu 
negócio e melhorando o ambiente de comunicação entre as pessoas. Trazendo assim, o bem 
estar de seus colaboradores e confiança entre fornecedor e cliente.

Mais conteúdos dessa disciplina