Olá pessoal,
O assunto de hoje é qualidade de software! :)
A discussão foi baseada na apostila do Ricardo Falbo¹ e o podcast Qualidade de Software do dotnet Architecs Cast.
A discussão foi baseada na apostila do Ricardo Falbo¹ e o podcast Qualidade de Software do dotnet Architecs Cast.
Qualidade é algo bem subjetivo - concordando com a fala do Alexandre. O que tem qualidade para mim, pode não ter para você e vice-versa, ainda mais quando se trata de software, algo que costuma ser bem abstrato na sua construção. O que é, afinal, qualidade de software ?
De acordo com a apostila do Ricardo Falbo¹, qualidade de software está fortemente relacionada à conformidade com os requisitos e o ponto principal, qualidade diz respeito à satisfação do cliente.
Vamos ter como exemplo base para toda essa postagem o WhatsApp², um aplicativo de troca de mensagens instantâneas.
Recentemente, o WhatsApp realizou uma atualização³ no qual, ao invés de escrever alguma mensagem no status, as pessoas postavam fotos. Isso gerou uma grande insatisfação entre a maioria dos usuários e fez com que ele voltasse atrás, trazendo de volta o status⁴ mensagem, mas mantendo também, o status foto.
Essa nova atualização, considerando o conceito de qualidade de software, pode ser considerada de qualidade ? Como já foi dito, qualidade está relacionada diretamente com satisfação do cliente, não foi uma boa mira, embora depois de um tempo as pessoas possam se acostumar e isso ser considerado algo bom, mas por hora, não foi.
Segundo ponto que podemos abordar: qual a importância da qualidade de software ? Se está ligado a satisfação do cliente, se o software não tem qualidade, isto é, não satisfaz o cliente, ele não vai querer e o projeto não vai para frente. Então, é extremamente importante para a sobrevivência do software e ambos perdem,caso não haja, tanto quem compra quanto quem desenvolve.
Já que é tão importante assim, como podemos especificá-la ? podemos especificar com documentação, tais como documento de requisitos, documento de projeto; assegurando que o software está sendo construído corretamente e que o software é o que o cliente quer (verificação e validação); com técnicas de medição da qualidade e etc.
Agora que sabemos tudo isso sobre qualidade de software, a questão agora é: como encontrar os atributos de qualidade ? bom, esses atributos variam bastante dependendo do software desenvolvido e o contexto no qual ele está inserido, mas podemos usar técnicas, tipo entrevista, para identificá-los, isto é, elaborar perguntas que deixem implícito algum atributo. Por exemplo, se perguntássemos ao criador do WhatsApp, visando construir o aplicativo que se tem hoje, se ele gostaria de registrar as ações dos usuários ou saber qual usuário usou tal coisa em um dado momento, ele diria que sim e nós conseguiríamos identificar que o atributo de qualidade segurança é importante para ele. No geral, as considerações de negócio determinam as características de qualidade que devem ser acomodadas em um sistema. Essas características de qualidade vão além das funcionalidades, ainda que estejam fortemente relacionadas a elas.
Para finalizar a nossa discussão, antes de começar a tentar identificar os atributos de qualidade com o cliente, é necessário conhecer o melhor possível sobre o escopo do problema, fazer toda uma análise prévia para que a negociação com ele não se torne algo muito subjetivo e ele não consiga nos ajudar nessa fase, na qual é essencial para construir um software de qualidade.
Ps: Apenas para fazer um link, na postagem anterior sobre Arquiteto de Software foi citado um podcast do dotnet Architecs Cast, durante a discussão foi falado sobre a importância de um arquiteto de software num time; e por que ele é importante? porque ele vai direcionar para o melhor caminho e esse melhor caminho significa qualidade de software.
¹ Ricardo Falbo, Projeto de Sistemas.
Comentários
Postar um comentário