unidad i. concepto de calidad

44
Unidad I. Concepto de Calidad Ing. Alejandra Colina MsC. Septiembre, 2015

Upload: others

Post on 26-Jul-2022

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Unidad I. Concepto de Calidad

Unidad I. Concepto de CalidadIng. Alejandra Colina MsC.

Septiembre, 2015

Page 2: Unidad I. Concepto de Calidad

Contenidos

¿Qué es Calidad?

Calidad del Software

El dilema de la calidad del Software

Lograr la calidad del Software

Page 3: Unidad I. Concepto de Calidad

Donde estamos hoy…

Page 4: Unidad I. Concepto de Calidad

Crisis del Software.

Muchos proyectos software presentan deficiencias:

Retraso en la entrega

Falta de fiabilidad

Coste excesivo

Ineficiencia

Mantenimiento problemático

Falta de adaptabilidad

Escasa portabilidad

Carencia de documentación

Page 5: Unidad I. Concepto de Calidad

Qué nos dice esta imagen?

Page 6: Unidad I. Concepto de Calidad

Conceptualizando…

Software:

Es el conjunto de programas de cómputo, documentos asociados y

esquemas de configuración necesarios para que estos programas operen.

[Sommerville, 2001]

Sistemas:

Conjunto de cosas que ordenadamente relacionadas entre sí contribuyen

a un determinado objeto.

Sistemas:Colección de componentes interrelacionados que trabajan conjuntamente

para cumplir algún objetivo.

Page 7: Unidad I. Concepto de Calidad

Conceptualizando…

¿Qué es calidad?

El grado en que un sistema, componente, o proceso cumple con los

requerimientos especificados, y las necesidades y/o expectativas del

cliente o usuario.

Page 8: Unidad I. Concepto de Calidad

ISO 9000: “Calidad: grado en el que un conjunto de características inherentes cumple con los

requisitos”

Real Academia de la Lengua Española: “Propiedad o conjunto de propiedades inherentes a

una cosa que permiten apreciarla como igual, mejor o peor que las restantes de su especie”

Philip Crosby: ”Calidad es cumplimiento de requisitos”

Armand V. Feigenbaum: “Satisfacción de las expectativas del cliente”.

Genichi Taguchi: “Calidad es la menor pérdida posible para la sociedad”.

William Edwards Deming: “Calidad es satisfacción del cliente”.

Walter A. Shewhart: ”La calidad como resultado de la interacción de dos dimensiones:

dimensión subjetiva (lo que el cliente quiere) y dimensión objetiva (lo que se ofrece)

Conceptualizando…

Page 9: Unidad I. Concepto de Calidad

Software de Alta Calidad

¿Qué es calidad de software?

Pressman (2002) se refiere a la calidad del software

como

“La concordancia con los requisitos funcionales y de

rendimiento explícitamente establecidos, con los

estándares de desarrollo explícitamente

documentados, y con las características implícitas que

se espera de todo software desarrollado

profesionalmente”.

Page 10: Unidad I. Concepto de Calidad

Conceptualizando…

Los requisitos del software son la base de las medidas de calidad. Lafalta de concordancia con los requisitos es una falta de calidad.

Los estándares especificados definen un conjunto de criterios de

desarrollo que guían la forma en que se aplica la ingeniería del

software. Si no se siguen esos criterios, casi siempre habrá falta de

calidad.

Existe un conjunto de requisitos implícitos que a menudo no se

mencionan. Si el software se ajusta a sus requisitos explícitos pero

falla en alcanzar los requisitos implícitos, la calidad del software

queda en entredicho.

Page 11: Unidad I. Concepto de Calidad

Conceptualizando…

Control de Calidad

El control de calidad es una serie de inspecciones, revisiones

y pruebas utilizadas a lo largo del proceso del software

para asegurar que cada producto cumpla con los

requisitos que le han sido asignados.

Page 12: Unidad I. Concepto de Calidad

Garantía de Calidad

La garantía de calidad consiste en la auditoria y las funciones de

información de la gestión.

El objetivo de la garantía de calidad es proporcionar la gestión para

informar de los datos necesarios sobre la calidad del producto, por lo

que se va adquiriendo una visión más profunda y segura de que la

calidad del producto esta cumpliendo sus objetivos.

Page 13: Unidad I. Concepto de Calidad

Costos de Calidad

El costo de la calidad incluye todos los costos acarreados en

la búsqueda de la calidad o en búsqueda de las actividades

relacionadas en la obtención de la calidad.

El costo de calidad se puede dividir en:

Costos de prevención

Costos de evaluación

Costos de fallos.

Page 14: Unidad I. Concepto de Calidad

Costos de Prevención

En el costo de prevención se incluye:

Planificación de calidad,

Revisiones de técnicas formales,

Equipo de pruebas,

Formación.

Page 15: Unidad I. Concepto de Calidad

Costos de Evaluación

En el costo de evaluación se incluyen actividades para tener una

visión mas profunda de la condición del producto la primera vez

a través de cada proceso.

Algunos ejemplos de costos de evaluación:

Inspección en el proceso y entre procesos,

Calibrado y mantenimiento del equipo,

Pruebas.

Page 16: Unidad I. Concepto de Calidad

Costos de Fallo

Los costos de fallo son los costos que desaparecerían si no surgieran

defectos antes del envió de un producto a los clientes.

Estos costos se pueden subdividir en costos de fallo interno y costos

de fallo externo.

Los internos se producen cuando se detecta un error en el producto

antes de su envió.

Entre estos se incluyen:

Revisión,

Reparación,

Análisis de las modalidades de fallos.

Page 17: Unidad I. Concepto de Calidad

Costos de Fallo

Los costos de fallo externo son los que se asocian a los

defectos encontrados una vez enviado el producto al

cliente.

Algunos ejemplos de costos de fallo externo:

Resolución de quejas,

Devolución y sustitución de productos,

Soporte de línea de ayuda,

Trabajo de garantía.

Page 18: Unidad I. Concepto de Calidad
Page 19: Unidad I. Concepto de Calidad

FACTORES DE CALIDAD Y PRODUCTIVIDAD (McCall)

Los factores que afectan la calidad del software se pueden

categorizar en dos amplios grupos:

Factores que se pueden medir directamente (por

ejemplo, defectos por punto de función) y

Factores que se pueden medir solo indirectamente (por

ejemplo, facilidad de uso o de mantenimiento).

Page 20: Unidad I. Concepto de Calidad

FACTORES DE CALIDAD Y PRODUCTIVIDAD

(McCall)

Facilidad de Mantenimiento

Flexibilidad

Facilidad de Prueba

Transición del ProductoRevisión del Producto

Operación del Producto

Portabilidad

Reusabilidad

Interoperatividad

Corrección Fiabilidad Usabilidad Integridad Eficiencia

Page 21: Unidad I. Concepto de Calidad

Factores de calidad de McCall

Corrección. Hasta dónde satisface un programa su

especificación y logra los objetivos propuestos por el cliente.

¿Hace lo que quiero?. Dicho de otra forma, es la capacidad

de los productos de software para realizar con exactitud sus

tareas, tal y como se definen en las especificaciones.

La corrección es la cualidad principal. Si un sistema no hace lo

que se supone que debe hacer, poco importan el resto de

consideraciones que hagamos sobre él si es rápido, si tiene una

bonita interfaz de usuario, etc.

Page 22: Unidad I. Concepto de Calidad

Factores de calidad de McCall

Fiabilidad. Hasta donde se puede esperar que un programa

lleve a cabo su función con la exactitud requerida.

¿Lo hace de forma fiable todo el tiempo?.

Eficiencia. Es la capacidad de un sistema de software para

exigir la menor cantidad posible de recursos hardware, tales

como tiempo del procesador, espacio ocupando memoria

interna y externa o ancho de banda utilizado en los

dispositivos de comunicación.

¿Se ejecutara en mi hardware lo mejor que pueda?

Page 23: Unidad I. Concepto de Calidad

Factores de calidad de McCall

Integridad. Es la capacidad de los sistemas software de

proteger sus diversos componentes (programas, datos, etc.)

contra modificaciones y accesos no autorizados. Hasta

donde se puede controlar el acceso al software o a los datos

por personas no autorizadas. ¿Es Seguro?

Usabilidad (facilidad de manejo). Es la facilidad con la cual

personas con diferentes formaciones y aptitudes pueden

aprender a usar los productos de software y aplicarlos a la

resolución de problemas. También cubre la facilidad de

instalación, de operación y de supervisión.

Page 24: Unidad I. Concepto de Calidad

Atributos del Software

Mantenibilidad: El software debe poder evolucionar para cumplir con

las necesidades de cambio de los clientes.

Confiabilidad: El software debe ser fiable, seguro, no debe causar

daños físicos o económicos en el caso de una falla del sistema.

Eficiencia: El software debe aprovechar al máximo los recursos del

sistema.

Usabilidad: El software debe ser fácil de utilizar

Page 25: Unidad I. Concepto de Calidad

Capas del Software

La Ingeniería del Software es una tecnología estratificada, y debe estar

sustentada en un compromiso con la calidad.

Page 26: Unidad I. Concepto de Calidad

Capa del Proceso

Las áreas claves del Proceso forman la base del control de gestión de

proyectos del software y establecen contexto en el que se aplican losmétodos técnicos, se obtienen productos del trabajo (modelos,

documentos, datos, informes, formularios, etc.), se establecen hitos, se

segura la calidad y el cambio se gestiona adecuadamente.

Page 27: Unidad I. Concepto de Calidad

Capa de los Métodos

Los métodos de la Ingeniería del Software indican “como” construirtécnicamente el software. Los métodos abarcan una gran gama

de tareas que incluyen análisis de requisitos, diseño, construcción

de programas, pruebas y mantenimiento.

Page 28: Unidad I. Concepto de Calidad

Capa de Herramientas

Las herramientas de la Ingeniería de Software proporcionan un enfoque

automático o semi-automático para el proceso y para los métodos.

Cuando se integran herramientas para que la información creada por

una herramienta la pueda utilizar otra, se establece un sistema de

soporte para el desarrollo del software llamado Ingeniería del Software

Asistida por Computadora (CASE).

Page 29: Unidad I. Concepto de Calidad

Dimensiones de la calidad de Garvin

La calidad debe tomarse en cuenta, adoptando un punto de vista

multidimensional que comience con la evaluación de la conformidad y

termine con una visión trascendental (estética).

Calidad del desempeño. ¿El software entrega todo el contenido, las

funciones y las características especificadas como parte del modelo de

requerimientos, de manera que da valor al usuario final?

Confiabilidad. ¿El software proporciona todas las características y

capacidades sin fallar? ¿Está disponible cuando se necesita? ¿Entrega

funcionalidad libre de errores?

Conformidad. ¿El software concuerda con los estándares locales y externos

que son relevantes para la aplicación? ¿Concuerda con el diseño de facto

y las convenciones de código? Por ejemplo, ¿la interfaz de usuario está de

acuerdo con las reglas aceptadas del diseño para la selección de menú o

para la entrada de datos?

Page 30: Unidad I. Concepto de Calidad

Dimensiones de la calidad de Garvin

Calidad de las características. ¿El software tiene características que

sorprenden y agradan la primera vez que lo emplean los usuarios

finales?

Durabilidad. ¿El software puede recibir mantenimiento (cambiar) o

corregirse (depurarse) sin la generación inadvertida de eventos

colaterales? ¿Los cambios ocasionarán que la tasa de errores o la

confiabilidad disminuyan con el tiempo?

Servicio. ¿Existe la posibilidad de que el software reciba mantenimiento

(cambios) o correcciones (depuración) en un periodo de tiempo

aceptablemente breve? ¿El equipo de apoyo puede adquirir toda la

información necesaria para hacer cambios o corregir defectos?

Page 31: Unidad I. Concepto de Calidad

Dimensiones de la calidad de Garvin

Estética. No hay duda de que todos tenemos una visión diferente y

muy subjetiva de lo que es estético. Aun así, la mayoría de nosotros

estaría de acuerdo en que una entidad estética posee cierta

elegancia, un flujo único y una “presencia” obvia que es difícil de

cuantificar y que, no obstante, resulta evidente.

Percepción. Constituyen los prejuicios que influirán en la percepción

de la calidad por parte del usuario. Por ejemplo, si se introduce un

producto de software elaborado por un proveedor que en el pasado

ha demostrado mala calidad, se estará receloso y la percepción de la

calidad del producto tendrá influencia negativa. De manera similar, si

un vendedor tiene una reputación excelente se percibirá buena

calidad, aun si ésta en realidad no existe.

Page 32: Unidad I. Concepto de Calidad

Factores de la calidad ISO 9126

El estándar ISO 9126 se desarrolló con la intención de identificar los

atributos clave del software de cómputo.

Este sistema identifica seis atributos clave de la calidad:

Funcionalidad. Grado en el que el software satisface las

necesidades planteadas según las establecen los atributos

siguientes: adaptabilidad, exactitud, interoperabilidad,

cumplimiento y seguridad. Confiabilidad. Cantidad de tiempo que el software se encuentra

disponible para su uso, según lo indican los siguientes atributos:

madurez, tolerancia a fallas y recuperación.

Usabilidad. Grado en el que el software es fácil de usar, según loindican los siguientes subatributos: entendible, aprendible y

operable.

Page 33: Unidad I. Concepto de Calidad

Factores de la calidad ISO 9126

Eficiencia. Grado en el que el software emplea óptimamente los

recursos del sistema, según lo indican los subatributos siguientes:

comportamiento del tiempo y de los recursos.

Facilidad de recibir mantenimiento. Facilidad con la que puedenefectuarse reparaciones al software, según lo indican los atributos

que siguen: analizable, cambiable, estable, susceptible de

someterse a pruebas.

Portabilidad. Facilidad con la que el software puede llevarse de un

ambiente a otro según lo indican los siguientes atributos:

adaptable, instalable, conformidad y sustituible.

Los factores ISO 9126 no necesariamente conducen a una medición

directa. Sin embargo, proporcionan una base útil para hacermediciones indirectas y una lista de comprobación excelente para

evaluar la calidad del sistema.

Page 34: Unidad I. Concepto de Calidad

Factores de calidad que se persiguen

Intuitiva. Grado en el que la interfaz sigue patrones esperados de uso, de modo

que hasta un novato la pueda utilizar sin mucha capacitación.

¿La interfaz lleva hacia una comprensión fácil?

¿Todas las operaciones son fáciles de localizar e iniciar?

¿La interfaz usa una metáfora reconocible?

¿La entrada está especificada de modo que economiza el uso del teclado o

del ratón?

Eficiencia. Grado en el que es posible localizar o iniciar las operaciones y la

información.

¿La distribución y estilo de la interfaz permite que un usuario introduzca con

eficiencia las operaciones y la información?

¿Una secuencia de operaciones (o entrada de datos) puede realizarse con

economía de movimientos?

¿Los datos desorganizadas de manera que minimizan la profundidad con la

que debe navegar el usuario para hacer que alguna se ejecute?

Page 35: Unidad I. Concepto de Calidad

Factores de calidad que se persiguen

Robustez. Grado en el que el software maneja entradas erróneas de datos o

en el que se presenta interacción inapropiada por parte del usuario.

• ¿El software reconocerá el error si entran datos en el límite de lo

permitido o más allá y, lo que es más importante, continuará operando sin

fallar ni degradarse? • ¿La interfaz reconocerá los errores cognitivos o de

manipulación y guiará en forma explícita al usuario de vuelta al camino

correcto? • ¿La interfaz da un diagnóstico y guía útiles cuando se

descubre una condición de error (asociada con la funcionalidad del

software)?

Riqueza. Grado en el que la interfaz provee un conjunto abundante de

características.

• ¿Puede personalizarse lida o el contenido están presentados de modo

que se entienden de inmediato? • ¿Las operaciones jerárquicas están la

interfaz según las necesidades específicas del usuario? • ¿La interfaz tiene

gran capacidad para permitir al usuario identificar una secuencia de

operaciones comunes con una sola acción o comando?

Page 36: Unidad I. Concepto de Calidad

El dilema de la calidad del Software

Bertrand Meyer analiza lo que se denomina el dilema de la calidad:

Si produce un sistema de software de mala calidad, usted pierde porque

nadie lo querrá comprar. Por otro lado, si dedica un tiempo infinito,

demasiado esfuerzo y enormes sumas de dinero para obtener un elemento

perfecto de software, entonces tomará tanto tiempo terminarlo y será tan

caro de producir que de todos modos quedará fuera del negocio.

En cualquier caso, habrá perdido la ventana de mercado, o simplemente

habrá agotado sus recursos. De modo que las personas de la industria

tratan de situarse en ese punto medio mágico donde el producto es

suficientemente bueno para no ser rechazado de inmediato, no en la

evaluación, pero tampoco es un objeto perfeccionista ni con demasiado

trabajo que lo convierta en algo que requiera demasiado tiempo o dinero

para ser terminado.

Page 37: Unidad I. Concepto de Calidad

El dilema de la calidad del Software

Es correcto afirmar que los ingenieros de software deben tratar de producir

sistemas de alta calidad. Es mejor aplicar buenas prácticas al intento de

lograrlo. Pero la situación descrita por Meyer proviene de la vida real y

representa un dilema incluso para las mejores organizaciones de ingeniería

de software.

Software “suficientemente bueno”

En palabras sencillas, si damos por válido el argumento de Meyer, ¿es

aceptable producir software “suficientemente bueno”? La respuesta a

esta pregunta debe ser “sí”, porque las principales compañías de software

lo hacen a diario.

Crean software con errores detectados y lo distribuyen a una gran

población de usuarios finales. Reconocen que algunas de las funciones y

características de la versión 1.0 tal vez no sean de la calidad más alta y

planean hacer mejoras en la versión 2.0.

Page 38: Unidad I. Concepto de Calidad

El dilema de la calidad del Software

En una entrevista [Ven03] publicada en la web, Bertrand Meyer analiza lo que se denomina el dilema de la calidad:

Si produce un sistema de software de mala calidad, usted pierde porque nadie lo querrá comprar. Por otro lado, si dedica un tiempo infinito, demasiado esfuerzo y enormes sumas de dinero para obtener un elemento perfecto de software, entonces tomará tanto tiempo terminarlo y será tan caro de produ- cir que de todos modos quedará fuera del negocio. En cualquier caso, habrá perdido la ventana de mercado, o simplemente habrá agotado sus recursos. De modo que las personas de la industria tratan de situarse en ese punto medio mágico donde el producto es suficientemente bueno para no ser re- chazado de inmediato, no en la evaluación, pero tampoco es un objeto perfeccionista ni con dema- siado trabajo que lo convierta en algo que requiera demasiado tiempo o dinero para ser terminado.

Es correcto afirmar que los ingenieros de software deben tratar de producir sistemas de alta calidad. Es mejor aplicar buenas prácticas al intento de lograrlo. Pero la situación descrita por Meyer proviene de la vida real y representa un dilema incluso para las mejores organizaciones de ingeniería de software.

14.3.1 Software “suficientemente bueno”

En palabras sencillas, si damos por válido el argumento de Meyer, ¿es aceptable producir soft- ware “suficientemente bueno”? La respuesta a esta pregunta debe ser “sí”, porque las principa- les compañías de software lo hacen a diario. Crean software con errores detectados y lo distri- buyen a una gran población de usuarios finales. Reconocen que algunas de las funciones y características de la versión 1.0 tal vez no sean de la calidad más alta y planean hacer mejoras en la versión 2.0. Hacen esto, sabiendo que algunos clientes se quejarán; reconocen que el tiempo para llegar al mercado actúa contra la mejor calidad, y liberan el software, siempre y cuando el producto entregado sea “suficientemente bueno”. Exactamente, ¿qué significa “suficientemente bueno”? El software suficientemente bueno contiene las funciones y características de alta ca lidad que desean los usuarios, pero al mismo tiempo tiene otras más oscuras y especializadas que contienen errores conocidos. El vendedor de software espera que la gran mayoría de usuarios finales perdone los errores gracias a que estén muy contentos con la funcionalidad de la aplicación. Esta idea resulta familiar para muchos lectores. Si usted es uno de ellos, le pido que considere algunos de los argumentos contra lo “suficientemente bueno”. Es verdad que lo “suficientemente bueno” puede funcionar en ciertos dominios de aplicación y para unas cuantas compañías grandes de software. Después de todo, si una empresa tiene un presupuesto enorme para mercadotecnia y convence a suficientes personas de que compren la versión 1.0, habrá tenido éxito en capturarlos. Como ya se dijo, puede sostener que en las ver- siones posteriores mejorará la calidad. Al entregar la versión 1.0 suficientemente buena, habrá capturado al mercado.

Cuando se enfrente al dilema de la calidad (y todos lo hacen en un momento u otro), trate de alcanzar el balance: suficiente esfuerzo para producir una calidad aceptable sin que sepulte al proyecto.

Page 39: Unidad I. Concepto de Calidad

El dilema de la calidad del Software

Es verdad que lo “suficientemente bueno” puede funcionar en ciertos

dominios de aplicación y para unas cuantas compañías grandes de

software. Después de todo, si una empresa tiene un presupuesto

enorme para mercadotecnia y convence a suficientes personas de

que compren la versión 1.0, habrá tenido éxito en capturarlos. Como

ya se dijo, puede sostener que en las versiones posteriores mejorará la

calidad. Al entregar la versión 1.0 suficientemente buena, habrá

capturado al mercado.

Cuando se enfrente al dilema de la calidad (y todos lo hacen en un

momento u otro), trate de alcanzar el balance: suficiente esfuerzo

para producir una calidad aceptable sin que sepulte al proyecto.

Page 40: Unidad I. Concepto de Calidad

Lograr la calidad del Software

La calidad del software no sólo se ve.

Es el resultado de la buena administración del proyecto y de una correcta

práctica de la ingeniería de software.

La administración y práctica se aplican en el contexto de cuatro

actividades principales que ayudan al equipo de software a lograr una

alta calidad en éste: métodos de la ingeniería de software, técnicas de

administración de proyectos, acciones de control de calidad y

aseguramiento de la calidad del software.

Page 41: Unidad I. Concepto de Calidad

Lograr la calidad del Software

Métodos de la ingeniería de software

Si espera construir software de alta calidad, debe entender el

problema que se quiere resolver.

También debe ser capaz de crear un diseño que esté de acuerdo con

el problema y que al mismo tiempo tenga características que lleven al

software a las dimensiones y factores de calidad que se estudiaron en

la sección 14.2. En la parte 2 de este libro se presentó una amplia

variedad de conceptos y métodos que conducen a una comprensión

razonablemente completa del problema y al diseño exhaustivo que

establece un fundamento sólido para la actividad de construcción. Si

el lector aplica estos conceptos y adopta métodos apropiados de

análisis y diseño, se eleva sustancialmente la probabilidad de crear

software de alta calidad.

Page 42: Unidad I. Concepto de Calidad

Lograr la calidad del Software

Técnicas de administración de proyectos

El efecto de las malas decisiones de administración sobre la calidad del

software comprende las implicaciones son claras:

1) un gerente de proyecto usa estimaciones para verificar que las fechas

pueden cumplirse,

2) se comprenden las dependencias de las actividades programadas y el

equipo resiste la tentación de usar atajos,

3) la planeación del riesgo se lleva a cabo de manera que los problemas no

alienten el caos, entonces la calidad del software se verá influida de manera

positiva.

Además, el plan del proyecto debe incluir técnicas explícitas para la

administración de la calidad y el cambio.

Page 43: Unidad I. Concepto de Calidad

Lograr la calidad del Software

Control de calidad

Comprende un conjunto de acciones de ingeniería de software que ayudan

a asegurar que todo producto del trabajo cumpla sus metas de calidad.

Los modelos se revisan para garantizar que están completos y que son

consistentes.

El código se inspecciona con objeto de descubrir y corregir errores antes de

que comiencen las pruebas.

Se aplica una serie de etapas de prueba para detectar los errores en

procesamiento lógico, manipulación de datos y comunicación con la

interfaz.

La combinación de mediciones con retroalimentación permite que el equipo

del software sintonice el proceso cuando cualquiera de estos productos del

trabajo falla en el cumplimiento de las metas de calidad.

Page 44: Unidad I. Concepto de Calidad

Taller Nº 2

Una vez completada la Unidad I proceda a responder a los siguientes planteamientos de

forma individual.

Describa cómo evaluaría la calidad de una universidad antes de inscribirse. ¿Cuáles

factores serían importantes? ¿Cuáles tendrían importancia crítica?

Garvin describe cinco puntos de vista distintos sobre la calidad. Dé un ejemplo de cada

uno con el uso de uno o más productos electrónicos conocidos con los que esté

familiarizado.

Con el uso de la definición de calidad del software propuesta en clase, diga si cree posible

crear un producto útil que genere valor medible sin el uso de un proceso eficaz. Explique su

respuesta.

Los factores de calidad de McCall se desarrollaron en la década de 1970. Casi todos los

aspectos de la computación han cambiado mucho desde entonces, no obstante lo cual

aún se aplican al software moderno. ¿Qué conclusiones saca con base en ello?

¿Qué es un software “suficientemente bueno”? Mencione una compañía dada y

productos específicos que crea que fueron desarrollados con el uso de la filosofía de lo

suficientemente bueno.