Qual é a característica mais importante do software de qualidade? [fechadas]


8

Essa pergunta segue a mesma linha que esta , mas em vez de falar sobre qualidade de código, estou falando sobre o produto final da perspectiva dos usuários. Se você tivesse tempo / orçamento limitado e pudesse garantir apenas um atributo do software (além dos requisitos básicos) que o leva de um software decente a um software de boa qualidade, o que você consideraria mais importante?

Está tendo o mínimo de erros possível? Uma interface intuitiva? Mensagens de erro úteis? Bom suporte técnico e documentação? Se não queremos que nosso software pareça uma porcaria barata para nossos usuários, o que devemos sempre lembrar de incluir?


Claro que depende. O que é importante para o Photoshop (facilidade de uso / estética / energia) é muito diferente do que é importante para o software Mars Rover (sólido / matematicamente correto). Mas alguns software pode lutar por ambos (depuradores alguém?)
Thomas Eding

Respostas:


16

Interface de usuário intuitiva e atraente . Pode parecer clichê, mas há alguma verdade na afirmação de que "coisas bonitas funcionam melhor".


Editar 18/09/2013:

Já faz anos, mas a pergunta de Morten abaixo ficou presa na minha cabeça esse tempo todo. Sim, julgo os servidores SQL por sua interface de usuário. Tudo tem uma interface de usuário. Bem, quase tudo de qualquer maneira. Conchas, arquivos de configuração, comandos, arquivos de log, todos eles são uma interface para os usuários. Até a maioria dos módulos do kernel do linux tem alguma interface do usuário exposta como arquivos em / sys e / proc. Sim, essas são interfaces de usuário. Só porque não é gráfico , não o torna menos importante.

Exemplo: Eu sei que o Postgres é um excelente banco de dados. Fico triste às vezes não uso mais. Eu uso mais o MySQL. Por quê? Parte disso é que os comandos do shell são mais fáceis de usar. show databases;diz o que faz e faz o que diz. Pesquisei isso uma vez, pela primeira vez. Nunca fiz de novo. Quando uso psql, raramente me lembro. É \dlou apenas \l? Não, espere, não há \dloutra coisa? Huh, eu realmente quero \dn? Atire, ok, qual é o comando para obter ajuda? \help? Não, isso é uma lista de comandos SQL. Onde está a lista de comandos do shell? Ah \?tem a lista. POR QUE é \?diferente \help?

Sim, se eu usasse o tempo todo, me acostumaria. Essa não é a questão. O ponto é que um software bem projetado não deve exigir "se acostumar".

Eu sei que parece um exemplo bobo, mas tem um efeito.


1
+1 exatamente, se o iPhone original provado alguma coisa é que ter um funcionais, intuitivos e atraentes taxas de produtos mais elevados do que uma longa lista de recursos
Thomas James

Nem todo software possui uma interface de usuário. Você julga os servidores SQL por sua atraente interface de usuário? No entanto, existem vários servidores SQL que são considerados de alta qualidade.
Morten

6
Às vezes, a coisa mais bonita que um software pode fazer é deixar o usuário completamente inconsciente do que qualquer software, ou qualquer outra coisa, estava envolvido no que aconteceu.
Flamingpenguin

1
O comentário anterior é um material de cotação. flamingpenguin, você se importa se eu te citar?
Morten

5

Usabilidade

Qualquer outro recurso essencial é apenas um atributo ou contribui para a usabilidade (livre de erros, funcionalidade, atratividade etc.)

Esse é o recurso nº 1 mais importante porque é o que prova que o seu software tem valor. Se tem valor, ganha dinheiro.


2

ele precisa fazer o que o usuário precisa fazer de maneira fácil e rápida. tem que ser fácil de usar.


2

Facilitando a melhoria. Um software de alta qualidade é criado quando você o cria para permitir que você cuide de defeitos de maneira barata (UI / Desempenho / Falhas / etc).

Qualquer software terá defeitos, então crie para que a melhoria da qualidade seja fácil e de baixo custo.

Tudo o resto seguirá disso.


2

A característica mais importante é que o cliente pode fazer o que ele pediu. Isso significa que não apenas cumpre os requisitos básicos, mas o faz de uma maneira que o cliente possa entender.

Acho que chamaríamos isso de "Usabilidade", que se torna a resposta.

O restante, como aparência e recursos, e os erros (dentro do motivo) podem ser aprimorados posteriormente. Se o cliente puder fazer o que pediu, ele também ficará feliz e provavelmente pedirá que você faça essas melhorias.

Um software bonito que não ajude o cliente a fazer seu trabalho não vai lhe dar mais trabalho, na minha experiência.


2

Previsibilidade

O software deve fazer o trabalho solicitado, quando o usuário solicitar, da maneira que o usuário espera. Não deve apresentar surpresas ao longo do caminho (sejam comportamentos imprevisíveis ou não óbvios, atrasos longos sem feedback claro ou falhas simples); deve ser simplesmente eficaz e confiável em seu trabalho.

O software que faz uma coisa bem é muito mais útil do que o software que oferece muitas opções de interface, mas se comporta de maneira imprevisível ou trava. Você sempre pode criar novos recursos conforme a demanda se mostrar, mas, a menos que seu software faça o trabalho esperado de uma maneira que atenda às expectativas do usuário, você não terá a base para trazer mais melhorias.


1

Na IMO, fornecer uma plataforma para evoluir o programa é a melhor característica que um programa pode ter. O Firefox é um bom exemplo disso. Eles oferecem um produto de trabalho decente e, quando os bugs são corrigidos, o software é atualizado automaticamente. Isso é muito útil para o usuário final, pois ele tem a versão mais recente sempre. Isso também ajudará no seu caso, porque quando você obtém mais orçamento e tempo, pode empurrar novos recursos facilmente.

Acho que a outra melhor qualidade de um produto de software é como ele lida com exceções e responde a cenários excepcionais. A maioria dos programas falha ao lidar com isso normalmente. Eles são mortos por exceções não tratadas ou produzem mensagens de erro sem sentido que confundem o usuário.

Criar software livre de erros não é uma tarefa simples. Acontecerá eventualmente como e quando o programa evoluir. Mas é dever dos programadores garantir que informações suficientes estejam disponíveis para depurar o problema. Um bom exemplo de como produzir excelentes mensagens de erro para o usuário é o VirtualBox . Em caso de erros inesperados, ele informa ao usuário o que poderia ter dado errado com uma opção de entrar em contato com os desenvolvedores com o arquivo de log detalhado para obter mais ajuda.


1

Se você está falando sobre software de negócios, é tudo sobre Facilidade de Gerenciamento . Na minha empresa, trabalhamos duro para nos livrar de qualquer software que exija muitos administradores.

Para o software de desktop, para mim, tudo tem a ver com estabilidade . Eu odeio software que trava em mim.


1

Em minha opinião, a qualidade é uma medida da quantidade de preocupações das partes interessadas abordadas pelo software.

Em geral, meus mapas de definição se adaptam bem à definição do RUP.

O RUP define qualidade como:

  • satisfaz ou excede um conjunto de requisitos acordado
  • Avaliada usando medidas e critérios acordados
  • produzido usando um processo acordado.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.