¿Cuál es la característica más importante del software de calidad? [cerrado]

8

Esta pregunta está en la misma línea que esta , pero en lugar de hablar de la calidad del código, estoy hablando del producto final desde la perspectiva de los usuarios. Si tuviera un tiempo / presupuesto limitado y solo pudiera garantizar un atributo del software (que no sean los requisitos básicos) que lo lleve de software decente a software de buena calidad, ¿qué consideraría más importante?

¿Tiene la menor cantidad de errores posible? ¿Una interfaz intuitiva? ¿Mensajes de error útiles? ¿Buen soporte técnico y documentación? Si no queremos que nuestro software se vea como basura barata para nuestros usuarios, ¿qué debemos recordar siempre incluir?

Tesserex
fuente
Por supuesto que depende. Lo que es importante para Photoshop (facilidad de uso / estética / potencia) es muy diferente de lo que es importante para el software Mars Rover (sólido como una roca / matemáticamente correcto). Pero algún software puede esforzarse por ambos (¿depura a alguien?)
Thomas Eding

Respuestas:

16

Interfaz de usuario intuitiva y atractiva . Puede parecer cliché, pero hay algo de verdad en la afirmación "las cosas bellas funcionan mejor".


Editar 18/09/2013:

Han pasado años, pero la pregunta de Morten a continuación se ha quedado atrapada en mi cabeza todo este tiempo. Sí, juzgo los servidores SQL por su interfaz de usuario. Todo tiene una interfaz de usuario. Bueno, casi todo de todos modos. Shells, archivos de configuración, comandos, archivos de registro, todos son una interfaz para los usuarios. Incluso la mayoría de los módulos del kernel de Linux tienen alguna interfaz de usuario expuesta como archivos en / sys y / proc. Sí, esas son las interfaces de usuario. El hecho de que no sea gráfico no lo hace menos importante.

Ejemplo: Sé que Postgres es una excelente base de datos. A veces estoy triste, no lo uso más. Yo uso MySQL más. ¿Por qué? Parte de esto es que los comandos de shell son más fáciles de usar. show databases;dice lo que hace y hace lo que dice. Lo busqué una vez, la primera vez. Nunca lo volví a hacer. Cuando uso psql, rara vez puedo recordar. ¿Es \dlo solo \l? No, espera, ¿no es \dlotra cosa? ¿Eh, realmente quiero \dn? Dispara, ok, ¿cuál es el comando de ayuda? \help? No, esa es una lista de comandos SQL. ¿Dónde está la lista de comandos de shell? Ah \?tiene la lista ¿POR QUÉ es \?diferente de \help?

Sí, si lo usara todo el tiempo, me acostumbraría. Ese no es el punto. El punto es que un software bien diseñado no debería requerir "acostumbrarse".

Sé que parece un ejemplo tonto, pero tiene un efecto.

Jeff Snider
fuente
1
+1 exactamente, si el iPhone original demostró algo es que tener un producto funcional, intuitivo y atractivo tiene tasas más altas que una larga lista de características
Thomas James
No todo el software tiene una interfaz de usuario. ¿Usted juzga los servidores SQL por su atractiva interfaz de usuario? Sin embargo, hay varios servidores SQL que se consideran de alta calidad.
Morten
66
A veces, lo más hermoso que puede hacer una pieza de software es dejar al usuario completamente inconsciente de que cualquier software, o cualquier otra cosa, estuvo involucrado en lo que sucedió.
flamingpenguin
1
El comentario anterior es material de cita. flamingpenguin ¿te importa si te lo cuento?
Morten
5

Usabilidad

Cualquier otra característica esencial es solo un atributo o contribuye a la usabilidad (libre de errores, funcionalidad, atractivo, etc.)

Esta es la característica más importante # 1 porque es lo que demuestra que su software tiene valor. Si tiene valor, gana dinero.

Nicole
fuente
2

tiene que hacer lo que el usuario necesita que haga de manera fácil y rápida. Tiene que ser fácil de usar.

Muad'Dib
fuente
2

Haciéndolo fácil de mejorar. El software de alta calidad se construye cuando lo construyes para que puedas ocuparte de los defectos de forma económica (UI / Rendimiento / Bloqueos / etc.).

Cualquier software tendrá defectos, por lo tanto, compile de manera que mejorar la calidad sea fácil y de bajo costo.

Todo lo demás se seguirá de esto.

Morten
fuente
2

La característica más importante es que el cliente puede hacer lo que le pidió. Eso significa que no solo cumple los requisitos básicos, sino que lo hace de una manera que el cliente pueda entender.

Supongo que llamaríamos a eso "Usabilidad", que luego se convierte en la respuesta.

El resto, como el aspecto y las características, y los errores (con razón) se pueden mejorar después. Si el cliente puede hacer lo que le pidió, también estará contento y probablemente le pedirá que realice estas mejoras.

Un bonito software que no ayuda al cliente a hacer su trabajo no le dará más trabajo, en mi experiencia.

Lennart Regebro
fuente
2

Previsibilidad

El software debe hacer el trabajo que se le pide, cuando el usuario se lo pide, de la manera que el usuario espera que lo haga. No debe presentar sorpresas en el camino (ya sean comportamientos impredecibles o no obvios, largas demoras sin comentarios claros o accidentes simples), simplemente debe ser eficaz y confiable en su trabajo.

El software que hace una cosa bien es mucho más útil que el software que ofrece muchas opciones de interfaz pero se comporta de manera impredecible o se bloquea. Siempre puede crear nuevas funciones como lo muestra la demanda, pero a menos que su software haga el trabajo que se espera de él de una manera que se ajuste a las expectativas del usuario, no tiene la base para introducir mejoras adicionales.

glenatron
fuente
1

OMI, proporcionar una plataforma para evolucionar el programa es la mejor característica que un programa puede tener. Firefox es un buen ejemplo de esto. Ofrecen un producto decente y, cuando los errores se corrigen, el software se actualiza automáticamente. Esto es muy útil para el usuario final, ya que siempre tiene la última versión. Esto también ayudará en su caso porque cuando obtiene más presupuesto y tiempo, puede impulsar nuevas funciones fácilmente.

Creo que la otra mejor calidad de un producto de software es cómo maneja las excepciones y responde a escenarios excepcionales. La mayoría de los programas no logra manejar esto con gracia. O los matan las excitaciones no manejadas o producen mensajes de error sin sentido que confunden al usuario.

Crear software libre de errores no es un trabajo simple. Eventualmente sucederá a medida que el programa evolucione. Pero es deber de los programadores asegurarse de que haya suficiente información disponible para depurar el problema. Un buen ejemplo de cómo generar excelentes mensajes de error para el usuario es VirtualBox . En caso de errores inesperados, informa al usuario qué podría haber salido mal con la opción de contactar a los desarrolladores con el archivo de registro detallado para obtener más ayuda.

Navaneeth KN
fuente
1

Si habla de software empresarial, se trata de facilidad de administración . En mi empresa trabajamos duro para deshacernos de cualquier software que requiera demasiados administradores.

Para el software de escritorio para mí, todo se trata de Estabilidad . Odio el software que me falla.

dietbuddha
fuente
1

Creo que la calidad de mi mente es una medida de la cantidad de preocupaciones de las partes interesadas a las que se dirige el software.

En general, mi definición se mapea bien con la definición RUP.

RUP define la calidad como:

  • cumple o excede un conjunto acordado de requisitos
  • Evaluado utilizando medidas y criterios acordados
  • producido utilizando un proceso acordado.
KeesDijk
fuente