Trabalho Qualidade de Softhwere
Trabalho Qualidade de Softhwere
Trabalho Qualidade de Softhwere
Introdução
Não adianta ter bons profissionais, com um bom planejamento e riscos calculados, se
não existir comunicação entre eles. De que adianta? Com a busca dessa ideia, o número
de softwares finalizados no prazo e dentro do orçamento previsto, teve aumento
considerável devido ao uso de métodos de desenvolvimento ágil, cujo objectivo é
rapidez na entrega, aliada a qualidade do processo e do produto, acabaremos por gerar
um cronograma e custos imprevisíveis.
XP deriva da ideia de se utilizar boas práticas em extremo, bem como ser um método de
desenvolvimento ágil que auxilia na produção do software e ter inúmeras vantagens, ele
também tem algumas desvantagens, que iremos apresentar neste trabalho.
Durante anos a produção de softwere foi feita com base em modelos antigos que
aparentemente funcionavam, pois no incio da decada de 80 foram desenvolvida algumas
metodologias de desenvolvimento de softwere, mas não vingaram devido a falta de
amadurecimento dos seus processos de desenvolvimento tais como desorganização do
ambiente produtivo, má qualidade dos processos de produção.
1.3 JUSTIFICATIVA
Escolhemos debruçar sobre este tema porque o modelo XP visa resolver enumeros
problemas comuns encontrados no desenvolvimento de softwere, ajudando assim a
garantir que o softwere produzido tenha qualidade, seja robusto, confiavel e facil de
manter.
1.4 Objectivos
A seguir serão apresentados os objectivos gerais e especificos do trabalho.
1.5 HIPOTESE
1.5.1 Hipotese
Promove um senso de propriedade colectiva e melhoria da qualidade de softwere,
permitindo que todos membros da equipe têm acesso e responsabilidade sobre código
fonte.
1.5.2 Hipotese
O cliente presente é envolvido no processo de desenvolvimento incluindo a definição de
requisitos e a priorização do trabalho, levará um softwere que melhor atendas suas
necessidades e espectativas.
CAPÍTULO I-FUNDAMENTAÇÃO TÉCNICO/CIENTIFICA
2. XP (Extreme Programming)
2.2 Valores da XP
Para guiar o desenvolvimento, o XP baseia-se em cinco valores:
Comunicação: tem como objetivo criar e manter o melhor relacionamento possível
entre a equipe desenvolvedora e o cliente, recomendando o contato direto (face-a-face),
para evitar qualquer tipo de ou mal-entendido entre os desenvolvedores e para que
possíveis dúvidas possam ser resolvidas de imediato. Além de sanar as dúvidas no
desenvolvimento, o cliente deverá estar disponível a equipa, ou mesmo presente no
ambiente de trabalho ou mesmo presente no ambiente de trabalho da empresa. Isto fará
com que o cliente entenda o sistema e enriquecerá os relacionamentos pessoais, criando
um elo de parceria e confiança mútua. Algumas equipes não se adaptam bem com isso.
Enquanto estiverem comesse problema a metodologia estará comprometida, portanto, a
equipe deve entrar em um acordo. É encorajada também a comunicação entre
desenvolvedores e gerente do projeto. Este se caracteriza como um dos fatores
principais no XP: conversar ao máximo pessoalmente, evitando o uso do telefone e
mensagens de e-mail.
Simplicidade:
Visa minimizar o código, descartando as funções consideradas desnecessárias ou não
essenciais. Ou seja, deve ser implementado o menor número de classes e métodos.
Deve-se também estar sempre procurando atender os requisitos emergenciais, evitando
adicionar funcionalidades ligadas à evolução do produto.
O importante é ter em mente que os requisitos são passíveis de mudanças. Sendo assim,
o interessante na prática do XP é implementar apenas o que implementado nas o que é
realmente necessário para que o cliente tenha seu pedido atendido.
Evita-se suposições, o futuro é incerto e por causa disso não necessita atenção. Os
requisitos evoluem gradativamente em conjunto com o sistema e arquitetura do projeto.
Algumas vezes, o que é necessário hoje será descartado amanhã, e outras vezes o que
seria necessário num futuro próximo nunca será utilizado. o menor número de classes e
métodos.
Deve-se também estar sempre procurando atender os requisitos emergenciais, evitando
adicionar funcionalidades ligadas à evolução do produto. O importante é ter em mente
que os requisitos são passíveis de mudanças. Sendo assim, o interessante na prática do
XP é implementar apenas o que é realmente necessário para que o cliente tenha seu
pedido atendido.
necessário num futuro próximo nunca será utilizado. descartado amanhã, e outras vezes
o que seria
Gerente de projeto
Pessoa responsável pelos assuntos administrativos do projeto, mantendo um forte
relacionamento com o cliente para que o mesmo participe das atividades do
desenvolvimento.
Os Maiores atributos do gerente são: coragem, confiança e insistência ocasional para
que façam o que dizem o que fazer.
Isto significa comunicação franca. O time quer colocar esta habilidade em prática
quando precisarem dela. E querem mantê-la distante quando não precisarem.
Coach
Analista de teste
Redator técnico
Pessoa responsável em documentar o sistema, permitindo uma maior dedicação ao
trabalho de codificação. Esta pessoa deve estar em plena sintonia com os
desenvolvedores e cliente para que a documentação reflita o código escrito e as regras
de negócio atendidas pelo sistema.
Desenvolvedor
Pessoa responsável em analisar, projetar e codificar o sistema. No XP não existe
diferença entre analista, projetista e programador uma vez que em vários momentos do
projeto o desenvolvedor estará exercendo alguma destas atividades.O principal membro
da XP, dentre suas habilidades devem ser destacadas a programação em pares e a
simplicidade, e acima de tudo coragem.
Existem níveis distintos de desenvolvedores dentro de uma equipe, mas com a prática
de programar em par, a tendência da equipe é se tornar uniforme em suas habilidades.
Rastreador
O rastreador faz estimativas de tempo e checa se se ajustou à realidade, isto é uma
questão de prática e feedback.
Ele é responsável pela visão global do andamento também, se durante uma iteração o
que foi previsto ser executado, ou se é preciso modificar algo. A maior habilidade aqui é
a capacidade de colectar informações de que precisa sem perturbar o processo.
Treinador
O responsável por chamar a atenção das pessoas quando estas estão se desviando do
processo do time. Todos no Time XP devem compreender a aplicação, mas o treinador
muito mais e profundamente. A necessidade deste papel diminui proporcionalmente
com o amadurecimento do time.
Para entender as formas que movem o projeto XP, é importante entender seus princípios
e suas práticas. Alguns desses princípios são apenas bom senso, outros se tornam a base
da maioria dos processos futuros de desenvolvimento de software conforme apresentado
a seguir:
O XP trabalha tem uma visão diferente em relação ao cliente. Este permanece o tempo
todo presente, a par do desenvolvimento do software, indicando e modificações e
esclarecendo dúvidas da equipe onde a sua ausência representa sérios riscos ao projecto.
Ao terminar uma estória, com a presença do cliente, a mesma poderá ser validada
rapidamente e a equipe receber o feedback necessário sobre a funcionalidade, criando
ciclos rápidos e precisos.
Planejamento
A XP utiliza o planejamento para assegurar que a equipe de desenvolvimento esteja
trabalhando naquilo que gere o máximo de valor para o cliente sempre determinando o
escopo da próxima versão, combinando prioridades de negócio e estimativas técnicas. O
consultor se reúne com as equipes duas vezes por semana. Nestas reuniões há uma
permanente negociação de requisitos e prazos. Este planejamento é feito várias vezes
durante o projeto. o momento onde o cliente solicita as funcionalidades desejadas
através de estórias, onde a equipe estima o custo de cada estória e planeja as relasses e
as iterações.
Uso de Metáforas
Simplicidade
O sistema deve ser projetado da forma mais simples possível. A complexidade extra é
removida assim que detectada. Deve-se implementar apenas a funcionalidade que foi
solicitada. Mas deve-se ter atenção para não confundir simplicidade com facilidade.
Umas das premissas do desenvolvimento conceitual é que o custo de uma alteração no
sistema cresce exponencialmente ao longo do projeto, com isto tenta-se criar soluções
genéricas preparando o sistema para futuras alterações.
Programação Pareada
O XP exige que todo e qualquer código implementado no projeto seja efetuado em
dupla, chamada de programação em par. É urna técnica onde dois desenvolvedores
trabalham no mesmo problema. Um deles é responsável pela digitação (condutor -
menos experiente) e outro acompanhando o trabalho do parceiro (navegador - mais
experiente).
Esta prática agrega diversas técnicas de programação, enquanto o condutor codifica o
problema o navegador permanentemente revisa o código digitado, onde pequenos erros
de programação que demoraria algumas horas para serem depurados, facilmente são
percebidos pelo navegador da dupla.
Um dos grandes benefícios da programação em par é a troca de experiências e ideias
entre os desenvolvedores. A solução para um problema geralmente é a soma das ideias
da dupla, tornando uma solução e codificação muito mais rápida e fácil. com esta
prática que o XP uniformiza o mv desenvolvedores da equipe, através da troca de
experiências. Após alguns meses trabalhando em duplas todos os desenvolvedores
conhecerão todas rotinas do sistema, prontos para qualquer modificação ou para auxiliar
algum iniciante.
Padronização do Código
Um dos valores do XP é a comunicação, e o código também é uma forma da equipe se
comunicar. Uma forma clara de se comunicar através do código, é manter um padrão no
projeto para que qualquer um possa rapidamente entender o código lido.
Propriedade Coletiva
Fases Pequenas
Impõe que a equipe não trabalhe mais que 40 horas por semana / 8 horas por dia. Mas se
necessário que não faça hora-extra duas semanas seguidas.
Trabalhar com qualidade, buscando ter ritmo de trabalho saudável.
Stand up meeting
O stand up meeting é uma reunião rápida (em torno de 15 minutos) realizada no início
de cada dia, onde os participantes normalmente ficam em pé (dai a origem do nome),
cujo objetivo é atualizar todos os membros da equipe a
respeito do que ocorreu no dia anterior e priorizar as atividades do dia que se inicia. Ela
é uma forma simples de assegurar que as pessoas obtenham feedback rápido sobre
qualquer aspecto do projeto, bem como um mecanismo para planejar o que precisa ser
feito primeiros fazendo com que todos relembrem e reavaliem frequentemente o que é
mais importante de se fazer a cada dia.
2.5.1 Vantagens
As práticas da XP são usadas pelos integrantes da equipe, para facilitar no
desenvolvimento e agregar qualidade no projeto, com isso todos do time devem estar
cientes de todas as fases do sistema. Um dos benefícios que a mesma oferece é tornar o
processo mais ágil e flexível. Conforme Astels, as práticas do XP são criadas para
funcionarem juntas e fornecer mais valor como:
Análise prévia de tudo que pode acontecer durante o desenvolvimento do projeto,
oferecendo qualidade, confiança, data de entregas e custos promissores.
O XP é ideal para ser usada em projetos em que o cliente não sabe exatamente o que
deseja e pode mudar muito de opinião durante o desenvolvimento do projeto.
Feedback constante, é possível adaptar rapidamente eventuais mudanças nos
requisitos.
Estas alterações nos requisitos são muitas vezes criticas nas metodologias
tradicionais, que não apresentam meios de se adaptar rapidamente às mudanças.
Outro ponto positivo do XP são as entregas constantes de partes operacionais do
software. Desta forma, o cliente não precisa esperar muito para ver o software funcionar
como nas metodologias tradicionais.
2.5.2 Desvantagens
Outra cultura que não contribui para o XP é aquela na qual você é requisitado a
trabalhar horas e mais horas para provar "comprometimento com a empresa".
Você não consegue executar o XP se estiver cansado. Se aquilo que o seu time
produz trabalhando em velocidade máxima não é suficiente para a sua empresa
então o XP não é a solução.
A falta de documentação é característica do processo XP, pois, o mesmo não dá
muita ênfase em burocracias (documentos, formulários, processos, controles
rígidos, etc.).
Outra cultura que não contribui para o XP é aquela na qual você é requisitado a
trabalhar horas e mais horas para provar "comprometimento com a empresa". Você não
consegue executar o XP se estiver cansado. Se aquilo que o seu time produz trabalhando
em velocidade máxima não é suficiente para a sua empresa então o XP não é a solução.
E existe também uma barreira tecnológica para o XP é um ambiente no qual é
necessário um longo tempo para se obter feedback. Por exemplo, se o seu
sistema leva 24 horas para compilar e linkar, será difícil integrar, compilar e
testar várias vezes ao dia.
Conclusão