[Música] olá essa aula quatro da disciplina de gerência e qualidade de software ea gente vai falar sobre garantia da qualidade que é um processo fundamental da gestão da qualidade então quando a gente fala de gestão da qualidade a gente tem dois processos conjunto de processos básicos têm a garantia da qualidade que tenta garantir que os produtos do processo seguem os que foi definido nem os padrões definidos então as cláusulas e os planos que foram estabelecidos por pelos stakeholders e tem o controle da qualidade que é classicamente dividido em verificação e validação que é um tópico
para uma outra aula o controle da qualidade ela trata aí sim dos requisitos então aí sim a gente vai analisar se os requisitos e as necessidades estão sendo atendidas a garantia da qualidade não garantia da qualidade que a gente vai analisar é se os padrões estão sendo atendidos então aula de hoje a gente vai falar só de garantia da qualidade então ou a idéia é que a garantia da qualidade ela pode trabalhar tanto com o produto quanto é com o processo então a gente tem a garantia da qualidade do processo que vai analisar se as
atividades definidas planejadas estão sendo atendidas conforme foi definido e tenta garantir a qualidade do produto que vai analisar se o produto tá seguindo o que os padrões que foram definidos eo interessante é que ela não vai analisar o mérito então quando você analisa quando você faz garantia da qualidade do produto você não sabe dizer se o produto está atendendo à necessidade não é esse o ponto o ponto é se ele está atendendo o que foi padronizado padrão que foi definido então um exemplo de garantia da qualidade do produto é você analisar o padrão do código
então o código está seguindo os padrões definidos então está usando espaçamento ao invés de tabulação a a gente não tá olhando o código ao fazer isso analisar o padrão a gente não olha o código para saber se ele está correto se tem algum defeito no algoritmo tanto faz o importante é o pai perseguido ou não um outro exemplo de garantia da qualidade do produto é você ver a cobertura de teste você pode falar poxa eu tenho aqui 80% de cobertura do meu site unidade então a gente não vai analisar se esses 80% de cobertura significa
que a gente está fazendo bons testes gente só vê que é 80% sendo coberto então a garantia da qualidade o grande uso dela é ser um representante do cliente então ela vai divulgar para os stakeholders especialmente pensando no cliente está pagando a se a empresa está desenvolvendo software tá seguindo as convenções de qualidade que foram definidas então é o papel da garantia da qualidade é avisar caso haja não conformidades havendo não conformidade ela precisa escalar tão pessoal de garantia da qualidade precisa muitas vezes falar com um dos gestores para avisar que algo não está sendo
feito a contento então esse aviso é precisa ter força então por isso é importante que o pessoal de garantia da qualidade seja independente então ele não pode ser alguém que seja subalterno um gerente de projetos por exemplo porque o gerente de projetos dependendo da pressão que ele tem de prazo de custo ou mesmo das atividades que estão sendo feitas ele pode chegar e falar poxa melhor não fazer isso preferi preferia que isso não fosse feito se a equipe de garantia da qualidade for subalterno ela tem que aceitar mas se a garantia da qualidade não for
subalterno for independente ela pode avisar e ela deve avisar que a uma não conformidade ea equipe tem que de alguma forma lidar com isso o gerente tem que lidar com isso porque é a qualidade é mais importante pra isso o pessoal da garantia da qualidade até um canal com alta gerência é claro que quando você está numa empresa pequena está no startup uma empresa com poucos funcionários da equipe de desenvolvimento uma empresa que tem uma equipe de desenvolvimento muito pequena é pode ser difícil ter essa independência então tem uma startup tem cinco pessoas só o
dono da empresa é desenvolvedor a dor e faz outras atividades poxa não dá pra ter uma certa independência mas como a gente lida com essas situações a idéia é garantir a qualidade mesmo quando eu tiver uma empresa muito pequena a garantia da qualidade ela deve de alguma forma embutida nos processos então as atividades que as pessoas executam tem que se preocupar com grande qualidade e a equipe de alguma forma tem que fazer isso sem ter necessariamente uma equipe separada para garantia da qualidade então nem sempre isso é possível não tem problema contanto que faça se
preocupe com a qualidade é o importante e quais são as atividades da garantia da qualidade de software então pra mim a atividade é fazer um planejamento como que a gente vai executar o quanto a gente vai executar nossas revisões das nossas análises a de garantia da qualidade tem também as atividades de avaliação do produto que vai analisar os produtos seguindo os critérios está seguindo o contrato os padrões regulamentações que existam que são seguidas atentamente a atividade a avaliação do processo para ver se o processo está sendo executado está sendo executado no momento adequado e está
executando sendo executado com as ferramentas adequadas e do jeito que estava sendo esperado estão usando a seguindo o que foi acordado anteriormente e também caso de fornecedor o papel da garantia da qualidade também vê o fornecedor do fornecedor está fazendo o que quero é esperado dele não garante a localidade tem que ver e uma outra atividade é gerenciar os registros e os relatórios estão a equipe tem que de alguma forma colocar todas as informações que obteve sobre a avaliação do processo do produto e divulgar as pessoas apropriadas que uma outra atividade importante do pessoal da
garantia da qualidade uma outra atividade interessante é o treinamento então ao pessoal de garantia da qualidade só está preparado para fazer essas atividades mas mais que isso é responsabilidade do pessoal de garantia da qualidade a ajudar os outros desenvolvedores a estarem preparados para fazer as atividades dele para que eles consigam fazer a seguir os padrões das convenções definidas então o pessoal de garantia da qualidade também trata do treinamento a do pessoal de desenvolvimento normal então não é só o treinamento deles é o treinamento de todos os desenvolvedores sobre o planejamento é o planejamento é uma
das atividades mais importantes da pessoa de garantia da qualidade então você precisa planejar para que você consiga fazer essas as atividades adequadamente estão no planejamento você tem que definir quais são os padrões que possam ser seguidos quais são as regulamentações necessárias que a gente precisa seguir e claro vai ter que definir quais atividades quando isso vai ser feito em que momento do processo de desenvolvimento de software agente pessoal da garantia da qualidade vai avaliar aquele produto como que isso vai ser feito e o detalhe sobre o planejamento é que não dá para você usar o
mesmo planejamento sempre não é sempre igual para qualquer produto para qualquer processo mesmo dentro de uma empresa cada empresa tem seus detalhes cada projeto tem seus detalhes então e na verdade cada cliente do projeto tem os detalhes tudo isso precisa ser considerado então se tiver é desenvolvendo um software crítico em algumas regulamentações muito pesadas muitas normas que você vai ter que seguir que num projeto por exemplo de um site na internet não vai ter e você não precisa considerar e mais que isso dependendo do seu cliente ele pode exigir algumas coisas seu cliente pode exigir
que algumas atividades sejam feitas de uma determinada forma então pra executar suas atividades vai ter que fazê las conforme o cliente definiu eo pessoal da garantia da qualidade vai analisar se elas realmente foram feitas para atender o que o cliente pediu e no caso do planejamento existe uma norma que aí 3 730 que define como fazer esse planejamento qual o conteúdo desse plano é bom quando a gente fala de garantia da qualidade pessoal costuma pensar poxa garantia da qualidade o negócio muito burocrático é padrão seguir padrão tem que ver caso o cara tá fazendo certo
isso é muita burocracia hoje em dia com métodos ágeis garantia da qualidade não faz mais sentido na verdade isso é não não não é realidade na prática a garantia da qualidade é feita em métodos ágeis também o detalhe é fazer com que as atividades de garantia da qualidade não sejam feitas de uma forma burocrática não levem a muita documentação não levem a atividades necessárias que algo essencial para a agilidade mas a garantia da qualidade é feita de algum jeito então dá pra fazer as atividades de garantia da qualidade serem ágeis ela não precisa as atividades
não precisam ser burocráticas depende de você um exemplo típico de atividade de garantia da qualidade é é a definição de pronto o scan é um scan aumento do aço bastante usado talvez o mais usado atualmente e os no scream você tem a idéia de que algo para ser definido como pronto você seguir alguns critérios das pessoas a equipe de desenvolvimento define quais são esses critérios por exemplo o critério pode ser que os testes foram executados passaram e você tem cobertura de 80% dos testes 1 a 1 um outro motivo é da documentação tem sido atualizada
há uma outra razão é você ter colocado no controle de versão tão tudo isso é que faz parte do critério então essa definição é feita pela equipe ea garantia da qualidade você não está analisando se o produto é adequado você não tá vendo se os testes são adequados ou se o software que foi feito por um desenvolvedor para implementar uma determinada tarefa é adequado você está vendo esse ele seguiu os padrões que a empresa definiu esses padrões são definidos como um check list desenvolvedor vai falar eu fiz isso fiz isso então tá bom tá feito
eu posso entregar então a definição de pronto é uma atividade garantia da qualidade e têm outras atividades de garantia da qualidade dentro de processos hagens não necessariamente elas são tão explícitas como a definição de pronto dois campo mas elas aparecem de alguma outra forma nas outras atividades desenvolvimento então a caso por exemplo de programação em paris acaba sendo uma atividade também de garantia da qualidade ao o desenvolvedor acompanhando quem tá com teclado desenvolvendo tá vendo a qualidade está vendo se as convenções definidas pelo pela equipe de desenvolvimento estão sendo seguidas se essas convenções não foram
seguidas o par vai comentar então é o interessante disso daí é que como que a gente consegue embutir a garantia da qualidade em atividades ágeis de alguma forma colocando a responsabilidade no desenvolvedor ou meio até mesmo no cliente de fazer a atividade de garantia da qualidade então se distribuiu isso pela equipe de desenvolvimento para que você faça de alguma forma essas atividades então como conclusão que a garantia da qualidade a garantia da qualidade ela não trata do mérito ela não vai analisar se o produto faz o que se espera dele se ele atende às necessidades
dos stakeholders ou se ele atende os requisitos que a gente vai analisar se ele trata do dos planos do contrato dos regulamentos que foram definidos para aquele projeto então é bem diferente do controle da qualidade o controle da qualidade aí sim trata dos requisitos das necessidades garantindo a qualidade não é padrão plano e contrato e claro essas atividades de gestão da qualidade precisam ser organizadas estão sós o a garantia da qualidade e o controle da qualidade santos e de alguma forma organizada para que o processo de desenvolvimento flua bem então se você tiver um método
ágil você organizar isso aqui você precisa fazer com que a garantia da qualidade seja é seja feita junto com o controle da qualidade sem ter repetição sem burocracia e ainda assim atendendo ao que atendendo o que foi definido pelas pelas partes e cada empresa tem que definir a sua forma de fazer garantia da qualidade não existe uma forma única perfeito ideal muitos detalhes a serem considerados então cada empresa cada projeto de encontrar sua forma de fazer então por causa disso agentes a planejar a engenharia não tem jeito você possa planejar para conseguir executar adequadamente e
claro a atividade não precisa ser burocrática garantia da qualidade só é burocrática se você quiser que ela seja ela pode ser extremamente ágil então claro que em alguns momentos a gente passa de formalidade você precisa em algumas empresas alguns projetos você vai precisar de uma equipe de garantia da qualidade independente bem definida e formal então se tiver um projeto de um sistema crítico não tem como escapar então o sistema crítico a gente se preocupar com muita coisa imagine um sistema que controla a controla a saúde de uma pessoa numa uti então esse sistema tem muitas
muitas características de qualidade importante que a gente precisa de garantir muito bem então a garantia da qualidade vai ter um papel forte nesses casos vai ter que ser bastante formal o interessante também sobre a garantia da qualidade é que a gente usa bastante padrão acaba padronizando bastante coisa na garantia da qualidade ea organização a não necessariamente precisa ser algo burocrático a gente não precisa usar normas que existem que são padrões de fato a gente pode usar padrões de mercado também é um mercado a definir algumas questões e a gente pode usar dentro dessa nossa empresa
contanto que seja consenso não é papel da garantia da qualidade define esses padrões junto com a equipe de desenvolvimento então não dá para impor não faz sentido alguém de garantia da qualidade falar que o desenvolvedor tem que fazer é escrever o código dessa forma sem consultar o desenvolvedor tem um consenso conversar é mesmo outros padrões sejam definidos na garantia da qualidade precisa ter consenso as pessoas precisam concordar com aquilo pra que isso flua para que as pessoas realmente se não se não concordar tem grande chance de a pessoa não seguir e pode dar problema outros
padrões importantes ferramentas a artefatos como os artefatos têm que ser preenchidos tudo isso precisa ser acordado e um algo interessante da garantia da qualidade aqui só padronização não é suficiente então definir padrão não resolve tudo o fato de você ter é padrão te ajuda a atender uma meta de qualidade mas o padrão por si só não diz se aquilo é bom tão e seguiu o padrão a ferro e fogo às vezes pode levar a problemas porque a qualidade não está no padrão o padrão é uma forma da gente tentar restringir alguns problemas que a gente
conhece mas até algumas situações que a gente pode ter que não seguiu o padrão 1 por exemplo cobertura de códigos e define que é algo que você tem 80% de cobertura dependendo do caso a fazer 80 por cento é desnecessário tem muito método jet set para que você precisa disso é desnecessário é inútil e vai atrapalhar o desenvolvimento depois alguém vai ter que manter esses testes então a gente pode não seguir e o fato de você ter 80% de cobertura uma determinada cobertura também não significa que os testes são bons cobrir 80% mas estas são
horríveis do que adianta então a gente precisa se preocupar com a garantia da qualidade com o conteúdo também por isso que existe a verificação e validação que são os processos de controle de qualidade e outro exemplo a questão da simplicidade da solução você pega um código que é simples mas não atende não você não consegue colocar o padrão ali funcionando bem ah não dá pra você considerar isso e se a gestão de projecto ea equipe de gestão de projetos ficar só preocupado com o padrão pode deixar de considerar algumas coisas são muito importantes e desenvolvimento
liberdade para pensar em alguma solução que seja bem diferente então padrão importante mas a gente tem que tomar cuidado com os padrões não ficar só pensando neles padrão tem que trazer valor como tudo no desenvolvimento tem que ter algum valor para a equipe se não traz valor seguiu o padrão pra que fazer isso é bom obviamente só isso daí vai ter que fazer se você seguir se o cliente pedir se tiver um requisito claro sobre isso mas nem de sua equipe não tem do valor não tem um requisito para isso analisa então essa foi à
aula de garantia da qualidade de software até a próxima aula [Música] o [Música] [Música]