38
SQA PRESENTATION

SQA versión 2: la calidad en el proceso y el producto

Embed Size (px)

Citation preview

Page 1: SQA versión 2: la calidad en el proceso y el producto

SQAPRESENTATION

Page 2: SQA versión 2: la calidad en el proceso y el producto

2

[email protected]© 2017 UCP. Presentación preparada para la Facultad de Ciencias Básicas e Ingeniería, Especialización en Desarrollo de

Software.

Intuitively, when thinking about software, we imagine

an accumulation of programming language instructions

and statements or development tool instructions, that

together form a program or software package. This

program or software package is usually referred to as

the “code”.

SoftwareDefiniciones y acepciones

¿Is it enough to take care of the code in

order to assure the quality of the services

provided by the software program? Are

additional elements necessary to assure

their quality and thus assure the operational

success of the software system?

Page 3: SQA versión 2: la calidad en el proceso y el producto

3

[email protected]© 2017 UCP. Presentación preparada para la Facultad de Ciencias Básicas e Ingeniería, Especialización en Desarrollo de

Software.

SOFTWARE SISTEMAS DE INFORMACIÓN

PROGRAMACIÓN, DESARROLLO, PRODUCCIÓN

Como anglicismo

Voz ingl.

1. m. Inform. Conjunto de programas, instruccion

es y reglas informáticas para

ejecutar ciertas tareas en una computadora.

Origen

Préstamo del inglés software, compuesto

por soft ‘blando’ y ware ‘utensilios, objetos’. Término

creado por los ingenieros informáticos americanos

por analogía a hardware (V.).

Se considera que el software

es el equipamiento lógico e

intangible de un ordenador.

En otras palabras, el concepto

de software abarca a todas

las aplicaciones

informáticas, como los

procesadores de textos, las

planillas de cálculo y los

editores de imágenes.

Page 4: SQA versión 2: la calidad en el proceso y el producto

4

[email protected]© 2017 UCP. Presentación preparada para la Facultad de Ciencias Básicas e Ingeniería, Especialización en Desarrollo de

Software.

¿Qué nos

diferencia de los

que van

adelante?

Mientras ellos prueban para

que falle, nosotros probamos

para que funcione

Page 5: SQA versión 2: la calidad en el proceso y el producto

5

[email protected]© 2017 UCP. Presentación preparada para la Facultad de Ciencias Básicas e Ingeniería, Especialización en Desarrollo de

Software.

Page 6: SQA versión 2: la calidad en el proceso y el producto

6

[email protected]© 2017 UCP. Presentación preparada para la Facultad de Ciencias Básicas e Ingeniería, Especialización en Desarrollo de

Software.

Ingeniería de SoftwarePensando la diferencia entre disciplina y metodología

La concepción y aplicación

I+D+i al proceso de

producción de software.

La formulación y aplicación de buenas prácticas al proceso de

Desarrollo validadas en la

calidad y funcionamiento del

producto

SEI, 2000

establecimiento de los

principios y métodos de la

ingeniería a fin de obtener

software de modo

rentable.

que sea funcional y

trabaje en máquinas

reales

Bauer, 1972

es el estudio de los

principios y metodologías

para desarrollo y

mantenimiento de sistemas

de software.

Su resultado es el

comportamiento no el

producto software

Zelkovitz, 1978

La aplicación de un enfoque

sistemático, disciplinado y

cuantificable al desarrollo,

funcionamiento y

mantenimiento del software.

Es decir, la aplicación de

ingeniería al software.

IEEE, 1993

aplicación práctica del

conocimiento científico en el

diseño y construcción de

programas de computadora y la

documentación asociada

requerida para desarrollar,

operar (funcionar) y

mantenerlos.

Se conoce también como

desarrollo de software o

producción de software

Bohem, 1976

The engineering field has taken on many new disciplines as our scientific knowledge has grown. The latest discipline is software engineering. According to the Institute of Electrical and Electronics Engineers

(IEEE), software engineering means applying the principles of engineering to the software development field. Software engineering differs from other branches of engineering in that professionals are building

an intangible structure and not a tangible one. Since software is embedded in the machines used in various industries, though, malfunctioning software can actually have tangible effects. With software used

in everything from medical equipment to airplanes, the end result of faulty software can indeed be loss of life.

The Software Engineering Process

When software projects require engineering, the process begins long before the product is designed – and it continues long afterward. It begins with a thorough study of the software

requirements. Some requirements involve the functions the program needs to carry out. The program may, for example, need to verify that a user is authorized to access it. Other

requirements involve constraints, for example, systems already in place.

Page 7: SQA versión 2: la calidad en el proceso y el producto

“As a discipline, software

engineering is a way to do, not

do…”

Page 8: SQA versión 2: la calidad en el proceso y el producto

¿What is Software

Quality?In the User’s eyesight quality software

The degree to which a system, component or process meets the

requirements and expectations of the team in charge of its

development

Software quality is the degree of conformance to explicit or implicit

requirements and expectations.

Conformance to explicitly stated functional and performance requirements

explicitly documented development standards, and implicit characteristics

that are expected of all professionally developed software. Pressman’s

definition

The degree to which a system, component, or process meets specified

requirements. The degree to which a system, component, or process

meets customer or user needs or expectations. IEEE definition

The totality of functionality and features of a software product that bear on its ability to satisfy stated or implied

needs. As with any definition, the definition of ‘software quality’ is also varied and debatable. Some even say that

‘quality’ cannot be defined and some say that it can be defined but only in a particular context. Some even state

confidently that ‘quality is lack of bugs’. Whatever the definition, it is true that quality is something we all aspire to.

Software quality has many dimensions.

Explanation:

•Explicit: clearly defined and documented

•Implicit: not clearly defined and

documented but indirectly suggested

•Requirements: business/product/software

requirements

•Expectations: mainly end-user expectations

Note: Some people tend to accept quality as

compliance to only explicit requirements and

not implicit requirements. We tend to think

of such people as lazy.

www.companyname.com© 2016 Motagua PowerPoint Multipurpose Theme. All Rights Reserved.

La totalidad de funcionalidades y características

de un producto de software que soportan su

capacidad para satisfacer necesidades

declaradas o implícitas. Como con cualquier

definición, la definición de "calidad del software"

también es variada y discutible. Algunos incluso

dicen que la "calidad" no se puede definir y

algunos dicen que se puede definir, pero sólo en

un contexto particular. Algunos incluso estado

con confianza que "la calidad es la falta de

errores". Sea cual sea la definición, es cierto que

la calidad es algo a lo que todos aspiramos. La

calidad del software tiene muchas dimensiones

Page 9: SQA versión 2: la calidad en el proceso y el producto

¿What is Software Quality?

En la industria del software se pueden evidenciar necesidades de satisfacción del cliente de productos o servicios de

software, de reducción de recursos invertidos en proyectos de software y de la efectiva asignación de recursos

humanos. Si hablamos de la calidad del software, una de las primeras definiciones aseguraba que “la calidad de un

programa o sistema se evaluaba de acuerdo al número de defectos por cada mil líneas de código.

(KLOC: Kilo Lines Of Code)”. 5

Page 10: SQA versión 2: la calidad en el proceso y el producto

10

[email protected]© 2017 UCP. Presentación preparada para la Facultad de Ciencias Básicas e Ingeniería, Especialización en Desarrollo de

Software.

Page 11: SQA versión 2: la calidad en el proceso y el producto

IdeaEs una buena

oportunidad hacer que

mi proceso sea validado

por expertos

TiempoSe prefiere entregar el

software a tiempo antes

de revisar cada fase

para reducer errores

El buen usuario, mi tranquilidad

Esta entre el que acepta haber cometido

imprudencias para provocar fallos y el que

propone.

MitoPorque muchos hablan

de SQA, pero pocos

quieren tener tiempo

para ello

El aseguramiento de calidad del

software es el conjunto de

actividades planificadas y

sistemáticas necesarias para generar

un patrón de comportamiento en el

proceso de tal manera que se logre

aportar la confianza necesaria para

evidenciar que el producto logrará

satisfacer los requisitos y

requerimientos

SQA

Page 12: SQA versión 2: la calidad en el proceso y el producto

12

[email protected]© 2017 UCP. Presentación preparada para la Facultad de Ciencias Básicas e Ingeniería, Especialización en Desarrollo de

Software.

Page 13: SQA versión 2: la calidad en el proceso y el producto

SQA puede diseñarse para un proceso, para un proyecto, para un

producto o para una organización.

Page 14: SQA versión 2: la calidad en el proceso y el producto

14

[email protected]© 2017 UCP. Presentación preparada para la Facultad de Ciencias Básicas e Ingeniería, Especialización en Desarrollo de

Software.

SE

SQA

ANÁLISIS

DESARROLLODISEÑO PRUEBA

S

ENTREGA Y

MANTENIMIENTO

END

SQA como

subdisciplina¿Qué es una subdiscipline?

Algunos prefieren decir garantía de calidad en

vez de aseguramiento. En estos casos,

Garantía, puede confundir con garantía de

productos y entonces no sería una

subdisciplina; mientras que Aseguramiento

pretende dar confianza en que el producto

tiene calidad por la manera como sus

creadores se comportaron en su elaboración.

SQA se presenta formalmente como una subdisciplina

de la Ingeniería del software. La Ingeniería del

software ocurre desde antes del inicio del desarrollo

de software, por esto, SQA también se diseña antes.

SQA puede diseñarse para un proceso, para un

proyecto, para un producto o para una organización.

Page 15: SQA versión 2: la calidad en el proceso y el producto

15

La presencia SQA en el proyectoComo subdisciplina está presente en

Herramienta

sY métodos de análisis, diseño,

programación, pruebas, etc.

Mecanismos de medida

(métricas, fórmulas)

InspeccionesTécnicas formales en todos los

pasos del proceso de

desarrollo.

Registros de auditorías y

realización de informes

Documentació

nControl de la documentación

del software y de los cambios

realizados

EstándaresProcedimientos para ajustarse

a los estándares (y dejar claro

cuando se está fuera de ellos)

Page 16: SQA versión 2: la calidad en el proceso y el producto

16

Principios, procesos y estándaresQue comprenden o acompañan el aseguramiento de la calidad del software

Estándar Norma GuíaEvaluación

Metodología Librería de

buenas prácticas

La calidad del producto, junto con la calidad del proceso, es uno de los aspectos más importantes actualmente en el desarrollo de Software. Relacionada con la

calidad del producto, recientemente ha aparecido la familia de normas ISO/IEC 25000, que proporciona una guía para el uso de la nueva serie de estándares

internacionales llamada Requisitos y Evaluación de Calidad de Productos de Software (SQuaRE - System and Software Quality Requirements and Evaluation).

ISO/IEC 25000 constituye una serie de normas basadas en ISO/IEC 9126 y en ISO/IEC 14598 cuyo objetivo principal es guiar el desarrollo de los productos de

software mediante la especificación de requisitos y evaluación de características de calidad.

MV3

Page 17: SQA versión 2: la calidad en el proceso y el producto

17

[email protected]© 2017 UCP. Presentación preparada para la Facultad de Ciencias Básicas e Ingeniería, Especialización en Desarrollo de

Software.

Page 18: SQA versión 2: la calidad en el proceso y el producto

SQAP. Software Quality Assurance Plan

Es la estructura documental sobre la que se refleja el SQA

que se quiere llevar a cabo sobre un proyecto o proceso. Se

incluyen los estándares que se aplicaran, los productos

entregables a revisar, los procedimientos a seguir en la

elaboración de cada fase del proyecto y los hitos para

informar sobre los defectos detectados en el proceso hasta su

corrección.

La o las personas encargadas del SQA se conocen

como Responsables del SQA. Normalmente,

dependiendo del tamaño de la organización, son

personas ajenas al proceso de gestión y desarrollo del

software.

MÉTRICA

V3En el plan “se determina qué actividades debe

realizar el grupo de aseguramiento de calidad

a lo largo de todo el proceso de desarrollo de

software, para asegurar que se están teniendo

en cuenta las propiedades de calidad

especificadas para el sistema en la actividad

identificar las propiedades de calidad.”

Page 19: SQA versión 2: la calidad en el proceso y el producto

19

[email protected]© 2017 UCP. Presentación preparada para la Facultad de Ciencias Básicas e Ingeniería, Especialización en Desarrollo de

Software.

Estándare

s

Propósito

Gestión

Documentació

n

Revisiones

y auditorias

Otros

Elementos del SQAPDe manera genérica, un Plan de Aseguramiento de la Calidad del Software contempla los siguientes elementos

• Organización

• Alcance

• Responsables

• Papel de la

organización

• Actividades

• CVS cubierto

• Actividades de

calidad

• Responsables

• Mínima requerida

• Plan de gestión de la

configuración

• Convenciones

• Métricas

• Glosario

• Requerimientos mínimos

• Otras revisiones

• Reporte de problemas

• Herramientas

• Anexos

Page 20: SQA versión 2: la calidad en el proceso y el producto

20

[email protected]© 2017 UCP. Presentación preparada para la Facultad de Ciencias Básicas e Ingeniería, Especialización en Desarrollo de

Software.

Page 21: SQA versión 2: la calidad en el proceso y el producto

21

[email protected]© 2017 UCP. Presentación preparada para la Facultad de Ciencias Básicas e Ingeniería, Especialización en Desarrollo de

Software.

Calidad en el profesionalLa formación profesional de las personas que actuan

en cada momento del proyecto y sus competencias

para resolver las situaciones previstas e imprevistas

Calidad en el equipoLa manera como las personas logran simbiosis para

sumar a la propuesta de valor de la organización

promoviendo a la vez los intereses profesionales de los

individuos.

Calidad en la organizaciónLa propuesta de valor permite desarrollar la misión,

cumpliendo las expectativas del cliente según

demandas del usuario sin afectar el desarrollo de

las personas que hacen parte de ella.

Calidad en el proceso de

desarrolloRepresentada en la manera como se mide la aplicación de

metodologías, modelos, guías, etc. En el proceso de

desarrollo para considerarlo de calidad

Calidad en el productoMediante la valoración de variables y categorías del

orden cuantitativo y cualitativo que conducen a

caracterizar la calidad del producto

Calidad en el proceso de gestiónRepresentada en la manera como se mide la

aplicación de metodologías, modelos, guías, etc. En el

proceso de gestión para considerarlo de calidad

Sujeto y Objeto en el

SQANo siempre empieza desde los requerimientos

Como el software, al igual que el capital, es el conocimiento incorporado, y puesto que el conocimiento

está inicialmente disperso, el desarrollo del software implícito, latente e incompleto en gran medida, es un

proceso social de aprendizaje. El proceso es un diálogo en el que se reúne el conocimiento y se incluye

en el software para convertirse en software. El proceso proporciona una interacción entre los usuarios y

los diseñadores, entre los usuarios y las herramientas de desarrollo, y entre los diseñadores y las

herramientas de desarrollo [tecnología]. Es un proceso interactivo donde la herramienta de desarrollo se

usa como medio de comunicación, con cada iteración del diálogo se obtiene mayor conocimiento de las

personas involucradas.

Page 22: SQA versión 2: la calidad en el proceso y el producto

Calidad en el proceso

Page 23: SQA versión 2: la calidad en el proceso y el producto

23

[email protected]© 2017 UCP. Presentación preparada para la Facultad de Ciencias Básicas e Ingeniería, Especialización en Desarrollo de

Software.

La Universidad: la teoría y la investigación

Se identifican y abordan los problemas sociales y regionales. Sobre cada

problema detectado, se lanza una acción planificada de atención mediante

la conjunción de tres funciones sustantivas: formación, investigación y

proyección social.

La Industria: la práctica y la realidad

Se identifican las necesidades de productos y servicios. Sobre cada necesidad

se identifica una ruta de atención a través de un proyecto o de la producción del

producto o servicio. Se vincula el personal necesario y su suple temporalmente la

necesidad

SQA en visionesEl tratamiento en la Industria y en la Educación

Page 24: SQA versión 2: la calidad en el proceso y el producto

Calidad en el proceso

Page 25: SQA versión 2: la calidad en el proceso y el producto

25

[email protected]© 2017 UCP. Presentación preparada para la Facultad de Ciencias Básicas e Ingeniería, Especialización en Desarrollo de

Software.

Page 26: SQA versión 2: la calidad en el proceso y el producto

26

[email protected]© 2017 UCP. Presentación preparada para la Facultad de Ciencias Básicas e Ingeniería, Especialización en Desarrollo de

Software.

Calidad en el profesionalLa formación profesional de las personas que actuan

en cada momento del proyecto y sus competencias

para resolver las situaciones previstas e imprevistas

Calidad en el equipoLa manera como las personas logran simbiosis para

sumar a la propuesta de valor de la organización

promoviendo a la vez los intereses profesionales de los

individuos.

Calidad en la organizaciónLa propuesta de valor permite desarrollar la misión,

cumpliendo las expectativas del cliente según

demandas del usuario sin afectar el desarrollo de

las personas que hacen parte de ella.

Calidad en el proceso de

desarrolloRepresentada en la manera como se mide la aplicación de

metodologías, modelos, guías, etc. En el proceso de

desarrollo para considerarlo de calidad

Calidad en el productoMediante la valoración de variables y categorías del

orden cuantitativo y cualitativo que conducen a

caracterizar la calidad del producto

Calidad en el proceso de gestiónRepresentada en la manera como se mide la

aplicación de metodologías, modelos, guías, etc. En el

proceso de gestión para considerarlo de calidad

Sujeto y Objeto en el

SQANo siempre empieza desde los requerimientos

Page 27: SQA versión 2: la calidad en el proceso y el producto

Calidad en el producto

El software de computadora se ha convertido en el

alma mater. Es la máquina que conduce a la toma de

decisiones comerciales. Sirve de base para la

investigación científica moderna y de resolución de

problemas de ingeniería. Es el factor clave que

diferencia los productos y servicios modernos. Está

inmerso en sistemas de todo tipo: de transportes,

médicos, de telecomunicaciones, militares, procesos

industriales, entretenimientos, productos de oficina ..., la

lista es casi interminable. El software es casi ineludible

en un mundo moderno. A medida que nos adentremos

en el siglo XXI, será el que nos conduzca a nuevos avances

en todo, desde la educación elemental a la ingeniería

genética.

-(Pressman 1999, citado por Pressman 2005)

El Software es un producto intangible

compuesto de programas, datos y

documentos que, en conjunto, funcionan

en una computadora real (dispositivo

electrónico que permite su funcionamiento)

después de haber cerrado el proceso de

desarrollo mediante un trabajo sistemático.

No se deteriora, no se

gasta, no se agota, no

se fabrica en sentido

tradicional

Se trasciende el

concepto de programa,

de aplicativo, de

algoritmo

computacional

Deberá ser probado y

alojado en un

dispositivo electrónico

que permita su

funcionamiento

Debió pasar por un

proceso de diseño y

desarrollo sistemático y

estructurado

Page 28: SQA versión 2: la calidad en el proceso y el producto

Calidad en el producto

Page 29: SQA versión 2: la calidad en el proceso y el producto

29

[email protected]© 2017 UCP. Presentación preparada para la Facultad de Ciencias Básicas e Ingeniería, Especialización en Desarrollo de

Software.

Page 30: SQA versión 2: la calidad en el proceso y el producto

30

[email protected]© 2017 UCP. Presentación preparada para la Facultad de Ciencias Básicas e Ingeniería, Especialización en Desarrollo de

Software.

Calidad en el profesionalLa formación profesional de las personas que actuan

en cada momento del proyecto y sus competencias

para resolver las situaciones previstas e imprevistas

Calidad en el equipoLa manera como las personas logran simbiosis para

sumar a la propuesta de valor de la organización

promoviendo a la vez los intereses profesionales de los

individuos.

Calidad en la organizaciónLa propuesta de valor permite desarrollar la misión,

cumpliendo las expectativas del cliente según

demandas del usuario sin afectar el desarrollo de

las personas que hacen parte de ella.

Calidad en el proceso de

desarrolloRepresentada en la manera como se mide la aplicación de

metodologías, modelos, guías, etc. En el proceso de

desarrollo para considerarlo de calidad

Calidad en el productoMediante la valoración de variables y categorías del

orden cuantitativo y cualitativo que conducen a

caracterizar la calidad del producto

Calidad en el proceso de gestiónRepresentada en la manera como se mide la

aplicación de metodologías, modelos, guías, etc. En el

proceso de gestión para considerarlo de calidad

Sujeto y Objeto en el

SQANo siempre empieza desde los requerimientos

¿Qué es un proyecto?

Un proyecto es un esfuerzo temporal que se lleva a

cabo para crear un producto, servicio o resultado

único. La naturaleza temporal de los proyectos indica

un principio y un final definidos. El final se alcanza

cuando se logran los objetivos del proyecto o cuando

se termina el proyecto porque sus objetivos no se

cumplirán o no pueden ser cumplidos, o cuando ya

no existe la necesidad que dio origen al proyecto.

Temporal no necesariamente significa de corta

duración.

-(PMBOK 4th, 2009)

Page 31: SQA versión 2: la calidad en el proceso y el producto

Calidad en la gestión del proyecto

¿Qué es la gestión/dirección de proyectos?

La gestión de proyectos es la aplicación de

conocimientos, habilidades, herramientas y

técnicas a las actividades del proyecto para

cumplir con los requisitos del mismo. Se logra

mediante la aplicación e integración de estos 5

grupos de procesos: iniciación, planificación,

ejecución, seguimiento y control y cierre.

Dirigir o gestionar un proyecto por lo general

implica: identificar requisitos, abordar las

diversas necesidades, inquietudes y

expectativas de los interesados, equilibrar las

restricciones contrapuestas del proyecto

(alcance, calidad, cronograma, presupuesto,

recursos y riesgo)

-(PMBOK 4th, 2009)

Necesidades

1

Proyecto

Realización

2

3

4

5

6

7

Page 32: SQA versión 2: la calidad en el proceso y el producto

Calidad en la gestión del proyecto

Page 33: SQA versión 2: la calidad en el proceso y el producto

Calidad en la gestión del proyecto

Page 34: SQA versión 2: la calidad en el proceso y el producto

34

[email protected]© 2017 UCP. Presentación preparada para la Facultad de Ciencias Básicas e Ingeniería, Especialización en Desarrollo de

Software.

Page 35: SQA versión 2: la calidad en el proceso y el producto

Diferencias

Modelo Metodología Guía Norma EstándarDocumento

normativoAutor o teoría

Seguir

buenas

prácticas.La ingeniería

como disciplina

Hacerlo de

manera

sistemática

cuasi-

secuencial.El proceso como

proceso

Orienta

desde el

conocimiento

y las fases.

Podría…

De estricto

cumplimiento

para el

reconocimiento y

la certificación.

Tendría…

Se evalúa el

nivel de

cumplimiento

para la

acreditación.

Debería…

Explicación de

elementos que

no logran

desarrollarse en

una norma

De soporte

académico e

investigativo

al proceso

Page 36: SQA versión 2: la calidad en el proceso y el producto

36

[email protected]© 2017 UCP. Presentación preparada para la Facultad de Ciencias Básicas e Ingeniería, Especialización en Desarrollo de

Software.

Page 37: SQA versión 2: la calidad en el proceso y el producto

Proceso Producto GestiónProfesiona

lEquipo Organización Servicio

La manera de SQA en cada dimensión

MetodologíasModelos

GuíasBuenas prácticas

Cuerpo de conocimiento

Certificaciones

NormasEstándares

Documentos normativos

CertificacionesEvaluaciones

MetodologíasModelos

GuíasBuenas prácticas

Cuerpo de conocimiento

Certificaciones

Programas de formación

CertificacionesEstímulos

Plan de capacitación

Roles y perfiles

Programas decapacitación

Especializar los equipos por roles

Metas por proyecto

EvaluaciónCertificación

NormalizaciónAcreditación

MetasIndicadores

Nivel de satisfacción del

usuario

Page 38: SQA versión 2: la calidad en el proceso y el producto

¿Tiene más preguntas sobre SQA?

Haga clic en el botón Información y escriba lo que desea saber.

Vaya al curso virtual de SQA