Você está na página 1de 2

Estudo Dirigido 3 - Engenharia de Software 2019/1

Nikolas Dias Magalhães Fantoni - 2018019400


Vinicius Felicíssimo Campos - 2015035235

1. Explique como os princípios básicos do manifesto ágil levam ao desenvolvimento e


implantação de software acelerados.

O manifesto ágil surgiu em contrapartida dos processos de softwares que eram pesados e
baseados excessivamente em documentação. A valorização das pessoas e suas necessidades,
do software em funcionamento e da versatilidade do projeto é vista com uma alternativa mais
coerente se comparada à supervalorização do processo de criação de software em si. O
pensamento ágil fez com que a interação entre o cliente e desenvolvedor se estreitasse,
gerando softwares que melhor atendem às necessidades do cliente e diminuindo o tempo do
planejamento inicial, fazendo com que o cliente obtivesse uma versão primária, de testes ou
mesmo completa de forma mais rápida e compatível com o que antes foi requisitado.

2. Quando você não recomendaria o uso de método ágil para o desenvolvimento de um


sistema de software?

O método ágil não é recomendado em casos em que o software deve ser rigoroso e sem
defeitos por acarretar perdas financeiras muito grandes ou mesmo de vidas. Como exemplo,
um software de controle de uma usina nuclear deve ser feito pelo modelo baseado em planos,
em que todos os requisitos devem ser rigorosamente cumpridos e simulados antes de serem
testados em um ambiente real. Assim, como via de regra, não são recomendados softwares
desenvolvidos sob o modelo ágil para situações de alto risco.

3. Programação extrema expressa os requisitos dos usuários como estória, com cada
estória escrita em um cartão. Discuta as vantagens e desvantagens dessa abordagem
para a descrição de requisitos.

Devido à alta proximidade do cliente e a integração da equipe de programação, a XP permite


uma incerteza dos requisitos apresentados ao projeto, uma vez que o cliente pode mudar de
ideia ou pensar em novos requisitos ao longo do desenvolvimento. Além disso, os requisitos
podem ser testados separadamente e implementados de forma dinâmica para avaliação do
usuário. A desvantagem é a alta informalidade da abordagem, podendo gerar medo e
sensação de incompetência no cliente, uma vez que ele deve estar constantemente envolvido
no projeto especificando os requisitos a cada release, o que muitas vezes não é possível para
projetos de grande porte.
4. Sugira razões pelas quais a taxa de produtividade de programadores que trabalham
em pares pode ser mais que a metade da taxa de produtividade de dois programadores
que trabalham individualmente.

Ao programar em pares, o programador mais experiente pode auxiliar o programador menos


experiente nas tarefas, conduzindo e corrigindo o código ao longo do seu desenvolvimento.
Além disso, a programação em pares permite a revisão informal do código em tempo real,
reduzindo o gasto total para aquela parte do código e, consequentemente, aumentando a taxa
de produtividade se comparada à taxa de cada um dos programadores de forma separada.

5. Tem-se sugerido que um dos problemas de se ter um usuário participando de uma


equipe de desenvolvimento de software é que eles “se tornam nativos”, ou seja, adotam
a perspectiva da equipe de desenvolvimento e perdem de vista as necessidades de seus
colegas usuários. Sugira maneiras de evitar esse problema e discuta as vantagens e
desvantagens de cada abordagem.

Uma maneira de evitar é implementar um rodízio de usuários que receberão a versão


proposta para aquele ciclo de atividades até então. Assim, cada um verá o projeto de
maneiras diferentes e podem, depois, complementar as ideias na empresa. Outra ideia seria
trazer funcionários dos setores específicos que utilizarão o software futuramente para a
análise e teste do mesmo junto ao colega de empresa. A vantagem desta abordagem é a
personalização e correção constante do software pelo cliente, o engajamento que gera um
apego maior ao sistema e o maior entendimento final do produto desenvolvido, uma vez que
foram apresentadas várias partes do desenvolvimento ao invés dum produto final completo.
Como desvantagem, a instabilidade e incerteza do cliente pode gerar correções e mudanças
em partes anteriormente dadas como prontas pela equipe de desenvolvedores, podendo
atrasar a entrega da próxima versão e gerando desconforto da equipe, que a princípio não
deve trabalhar excessivamente no projeto para manter a produtividade alta.