La calidad del software es una preocupación a la que se dedican muchos esfuerzos. Sin embargo, el software casi nunca es perfecto. Todo proyecto tiene como objetivo producir software de la mejor calidad posible, que cumpla, y si puede supere las expectativas de los usuarios.

Buscar este blog

sábado, 17 de abril de 2010

Cuestión Estratégica

La calidad, cuestión estratégica

La gestión de calidad total es una cuestión empresarial estratégica que afecta a la satisfacción de los clientes, a la cuota de mercado y al beneficio empresarial. La gestión de calidad total implica asegurar que la empresa hace lo adecuado a la primera y en todo momento. Va más allá de asegurar la idoneidad de un servicio o producto, ya que hace posible una gestión integral del valor añadido mediante el cumplimiento y la superación de las expectativas de los clientes. Por consiguiente, la gestión de calidad total requiere la atención personal del primer ejecutivo y su liderazgo; se trata de un asunto demasiado importante para dejarlo en manos de expertos funcionales

La gestión de calidad total es una cuestión estratégica, porque:

- La competencia de los mercados mundiales nunca había sido tan dura.

- Las empresas que aumentan sus cuotas de mercado son las que ofrecen la mejor relación entre valor para el cliente y precio.

- La mejor relación de valor/precio proviene de una calidad competitiva a un precio competitivo.

En los mercados mundiales, el precio es cada vez más negociable, pero no lo es la calidad de los productos y de los servicios, y muchas empresas son conscientes de ello. También ellas son clientes. El mayor valor de una empresa es una reputación de calidad competitiva: una reputación que procede de la capacidad de asegurar al cliente que el producto y el servicio le resultarán absolutamente satisfactorios.


Proceso multidisciplinar


La mejora de la calidad requiere el compromiso y el liderazgo del equipo de alta dirección, encabezado por el primer ejecutivo, pero antes es preciso que éste comprenda la naturaleza de la gestión de la calidad total y se dé cuenta de su importancia para la visión estratégica y la misión de la organización. Los primeros ejecutivos han reconocido la necesidad de la mejora de la calidad, y quizá se hayan dado cuenta de las implicaciones que tiene para la salud de la empresa, pero aún no traducen en actos estas concepciones. Esta es la razón por la que la gestión de la calidad total se siga considerando en los consejos de dirección como una colección de técnicas relacionadas con la producción, que han de ser puestas en práctica por el director de calidad.

La gestión de la calidad es un proceso estratégico rnultidisciplinar. Este dato fundamental sí que ha sido comprendido por las empresas más importantes del mundo. La gestión de la calidad total trasciende los límites de los departamentos; todos los miembros de la empresa gestionan la calidad.


¿Por qué la gestión de calidad es una cuestión estratégica?


Es una cuestión estratégica ya que afecta a la satisfacción de los clientes, a la cuota de mercado y al beneficio empresarial. Hay varias razones para que esto sea así:

La competencia de los mercados mundiales nunca había sido tan dura.

Las empresas que aumentan sus cuotas de mercado son las que ofrecen la mejor la mejor relación entre valor para el cliente y precio.

La mejor relación de valor/precio proviene de una calidad competitiva a un precio competitivo.


¿Quién debe dirigir y liderar la mejora de la calidad en la empresa?


La mejora de la calidad en una empresa debe enfocarse globalmente, ya que la gestión de la calidad es un proceso estratégico multidisciplinar. Este dato fundamental sí que ha sido comprendido por las empresas más importantes del mundo. Lo cual ha influido notablemente en la mejora a nivel global.

Los ejecutivos se han dado cuenta que la influencia de la calidad mejora notablemente los resultados de la empresa, Esta es la razón por la que la gestión de la calidad total se siga considerando en los consejos de dirección como una colección de técnicas relacionadas con la producción, que han de ser puestas en práctica por el di rector de calidad.

Esto se debe realizar jerárquicamente por todos los empleados de la empresa, empezando desde el más alto ejecutivo llegando hasta el limpiador, ya que si alguno de estos falla en su cometido, toda la estructura de calidad de la empresa pierde su eficacia.

Sistema de Gestión de la Calidad

Un sistema de gestión de la calidad es el conjunto de normas interrelacionadas de una empresa u organización por los cuales se administra de forma ordenada la calidad de la misma, en la búsqueda de la satisfacción de las necesidades y expectativas de sus clientes. Entre dichos elementos, los principales son:

1.Estructura de la organización: responde al organigrama de los sistemas de la empresa donde se jerarquizan los niveles directivos y de gestión. En ocasiones este organigrama de sistemas no corresponde al organigrama tradicional de una empresa.

2.Estructura de responsabilidades: implica a personas y departamentos. La forma más sencilla de explicitar las responsabilidades en calidad, es mediante un cuadro de doble entrada, donde mediante un eje se sitúan los diferentes departamentos y en el otro, las diversas funciones de la calidad.

3.Procedimientos: responden al plan permanente de pautas detalladas para controlar las acciones de la organización.

4.Procesos: responden a la sucesión completa de operaciones dirigidos a la consecución de un objetivo específico.

5.Recursos: no solamente económicos, sino humanos, técnicos y de otro tipo, deben estar definidos de forma estable y circunstancial.

Estos cinco apartados no siempre están definidos ni son claros en una empresa.


CERTIFICACIÓN

Existen unos estándares de gestión de la calidad normalizados, es decir, definidos por un organismo normalizador, como ISO, DIN o EN, etc. que permiten que una empresa con un sistema de gestión de la calidad pueda validar su efectividad mediante una auditoría de una organización u ente externo. Una de las normas más conocidas y utilizadas a nivel internacional para gestionar la calidad, es la norma ISO 9001 (última revisión ISO 9001:2008).

También existen normas específicas para determinados sectores o actividades, por ejemplo la norma ISO/IEC 17025:2005 que aplica para el diseño de un sistema de gestión de la calidad en Laboratorios.

En ocasiones, dependiendo del tipo de empresa y de la complejidad de su sistema de gestión, se utiliza un sistema integrado para la gestión de la calidad, el medio ambiente (según norma ISO 14001) y la seguridad, (según norma OHSAS 18000). Cabe destacar a manera de resumen que los 3 pilares básicos en los que se basa un buen sistema de gestión de la calidad son:

Planificación de gestión de la calidad.

Control de la gestión de la calidad.

Mejora continua de gestión de la calidad.

Cabe mencionar también la norma europea EN 15038, aplicable en la industria del lenguaje.

viernes, 5 de marzo de 2010

Aseguramiento de Calidad en el Proceso y en el Producto (PPQA)

Objetivos y Prácticas Específicas:

SG1 EVALUAR OBJETIVAMENTE LOS PROCESOS Y LOS PRODUCTOS DE TRABAJO
SP 1.1 EVALUAR OBJETIVAMENTE LOS PROCESOS
Productos de trabajo típicos
1.1.1.1. Informes de evaluación.
1.1.1.2. Informes de no conformidad.
1.1.1.3. Acciones correctivas.
Sub-prácticas
1.1.2.1. Participación del empleado con los problemas de Calidad.
1.1.2.2. Establecer criterios para las evaluaciones.
1.1.2.3. Usar criterios para evaluar la adherencia de los procesos ejecutados.
1.1.2.4. Identificar cada no conformidad encontrada durante la evaluación.
1.1.2.5. Identificar las lecciones aprendidas que podrían mejorar los procesos para futuros productos y servicios.
SP 1.2 EVALUAR OBJETIVAMENTE LOS PRODUCTOS DE TRABAJO Y LOS SERVICIOS
Productos de trabajo típicos
1.2.1.1. Informes de evaluación.
1.2.1.2. Informes de no conformidad.
1.2.1.3. Acciones correctivas.
Sub-prácticas
1.2.2.1. Seleccionar los productos de trabajo a evaluar.
1.2.2.2. Establecer y mantener criterios para la evaluación de productos de trabajo.
1.2.2.3. Usar los criterios definidos durante las evaluaciones de los productos de trabajo.
1.2.2.4. Evaluar los productos de trabajo antes de que sean entregados al cliente.
1.2.2.5. Evaluar los productos de trabajo en los hitos seleccionados de su desarrollo.
1.2.2.6. Realizar evaluaciones intermedias o incrementales de los productos de trabajo y de los servicios frente a las descripciones de proceso, estándares y procedimientos.
1.2.2.7. Identificar cada caso de no conformidad encontrado durante las evaluaciones.
1.2.2.8. Identificar las lecciones aprendidas que podrían mejorar los procesos para futuros productos y servicios.

SG2 PROPORCIONAR UNA VISIÓN OBJETIVA
SP 2.1 COMUNICAR Y ASEGURAR LA RESOLUCIÓN DE LAS NO CONFORMIDADES
Productos de trabajo típicos
2.1.1.1. Informes de acciones correctivas.
2.1.1.2. Informes de evaluación.
2.1.1.3. Tendencias de calidad.
Sub-prácticas
2.1.2.1. Resolver cada no conformidad con los miembros apropiados del personal donde sea posible.
2.1.2.2. Documentar las no conformidades cuando no puedan resolverse en el proyecto.
2.1.2.3. Escalar las no conformidades no resueltas a nivel de gerencia de proyecto.
2.1.2.4. Analizar las no conformidades para ver si existe alguna tendencia de calidad que pueda identificarse y tratarse.
2.1.2.5. Asegurar que las partes interesadas relevantes son informadas de los resultados de las evaluaciones y de las tendencias de calidad de manera oportuna.
2.1.2.6. Revisar periódicamente las no conformidades abiertas y las tendencias con el gerente designado para recibir y actuar sobre las no conformidades.
2.1.2.7. Seguir las no conformidades hasta su resolución.
SP 2.2 ESTABLECER REGISTROS
Productos de trabajo típicos
2.2.1.1. Registros de evaluación.
2.2.1.2. Informes de aseguramiento de la calidad.
2.2.1.3. Informes del estado de las acciones correctivas.
2.2.1.4. Informes de las tendencias de calidad.
Sub-prácticas
2.2.2.1. Registrar las actividades de aseguramiento de la calidad de proceso y de producto con suficiente detalle de forma que sean conocidos el estado y los resultados.
2.2.2.2. Corregir el estado y la historia de las actividades de aseguramiento de la calidad según sea necesario.

Objetivos y Prácticas Genéricas:

GG1 LOGRAR LAS METAS ESPECÍFICAS
GP 1.1 REALIZAR LAS PRÁCTICAS ESPECÍFICAS

GG2 INSTITUCIONALIZAR UN PROCESO GESTIONADO
GP 2.1 ESTABLECER UNA POLÍTICA DE LA ORGANIZACIÓN
2.1.1. Elaboración: Expectativas de la organización en: Evaluar objetivamente los procesos y que PPQA esté implementado en todos los proyectos
GP 2.2 PLANIFICAR EL PROCESO
2.2.1. Elaboración: Para realizar el proceso de PPQA puede ser parte del plan de proyecto.
GP 2.3 PROPORCIONAR RECURSOS
2.3.2.1. Herramientas de evaluación.
2.3.2.2. Herramientas de seguimiento de no conformidad.
GP 2.4 ASIGNAR RESPONSABILIDAD
2.4.1 Elaboración: Asegurar que las personas a las que se ha asignado la responsabilidad para llevar a cabo el PPQA puedan realizar sus evaluaciones con la suficiente independencia y objetividad.
GP 2.5 FORMAR AL PERSONAL
2.5.2.1. Dominio de la aplicación.
2.5.2.2. Relaciones con el cliente.
2.5.2.3. Descripciones de proceso, estándares, procedimientos y métodos para el proyecto.
2.5.2.4. Objetivos, descripciones de proceso, estándares, procedimientos, métodos y herramientas de aseguramiento de la calidad.
GP 2.6 GESTIONAR CONFIGURACIONES
2.6.2.1. Informes de no conformidades.
2.6.2.2. Registros e informes de evaluación.
GP 2.7 IDENTIFICAR E INVOLUCRAR A LAS PARTES INTERESADAS RELEVANTES
2.7.2.1. Establecimiento de criterios para la evaluación objetiva de los procesos y de los productos de trabajo.
2.7.2.2. Evaluación de procesos y de productos de trabajo.
2.7.2.3. Resolución de no conformidades.
2.7.2.4. Seguimiento de no conformidades hasta su cierre.
GP 2.8 MONITORIZAR Y CONTROLAR EL PROCESO
2.8.2.1. Varianza de las evaluaciones objetivas del proceso planificadas y ejecutadas.
2.8.2.2. Varianza de las evaluaciones objetivas de producto de trabajo planificadas y ejecutadas.
2.8.2.3. Calendario de las evaluaciones objetivas.
GP 2.9 EVALUAR OBJETIVAMENTE LA ADHERENCIA
2.9.1. Elaboración: Se remite a la Tabla II.2 en la página 172 en Metas genéricas y prácticas genéricas para más información sobre la relación entre la práctica genérica 2.9 y el área de proceso de Aseguramiento de la calidad de proceso y de producto.
2.9.2.1. Evaluar objetivamente los procesos y los productos de trabajo.
2.9.2.2. Seguir y comunicar las no conformidades.
2.9.2.3. Informes de no conformidad.
2.9.2.4. Registros e informes de evaluación.
GP 2.10 REVISAR EL ESTADO CON EL NIVEL DIRECTIVO

GG3 INSTITUCIONALIZAR UN PROCESO DEFINIDO
GP 3.1 ESTABLECER UN PROCESO DEFINIDO
GP 3.2 RECOGER INFORMACIÓN DE MEJORA
3.2.2.1. Registros de evaluación.
3.2.2.2. Tendencias de calidad.
3.2.2.3. Informe de no conformidad.
3.2.2.4. Informes de estados de acciones correctivas.
3.2.2.5. Informes de coste de calidad para los proyectos.

GG4 INSTITUCIONALIZAR UN PROCESO GESTIONADO CUANTITATIVAMENTE
GP 4.1 ESTABLECER LOS OBJETIVOS CUANTITATIVOS PARA EL PROCESO
GP 4.2 ESTABILIZAR EL RENDIMIENTO DEL SUBPROCESO.

GG5 INSTITUCIONALIZAR UN PROCESO EN OPTIMIZACIÓN.
GP 5.1 ASEGURAR LA MEJORA CONTINUA DEL PROCESO.
GP 5.2 CORREGIR LAS CAUSAS RAÍZ DE LOS PROBLEMAS.

lunes, 15 de febrero de 2010

Modelo COBIT

La evaluación de los requerimientos del negocio, los recursos y procesos IT, son puntos bastante importantes para el buen funcionamiento de una compañía y para el aseguramiento de su supervivencia en el mercado.

El COBIT es precisamente un modelo para auditar la gestión y control de los sistemas de información y tecnología, orientado a todos los sectores de una organización, es decir, administradores IT, usuarios y por supuesto, los auditores involucrados en el proceso.

Las siglas COBIT significan Objetivos de Control para Tecnología de Información y Tecnologías relacionadas (Control Objectives for Information Systems and related Technology). El modelo es el resultado de una investigación con expertos de varios países, desarrollado por ISACA (Information Systems Audit and Control Association).

La estructura del modelo COBIT propone un marco de acción donde se evalúan los criterios de información, como por ejemplo la seguridad y calidad, se auditan los recursos que comprenden la tecnología de información, como por ejemplo el recurso humano, instalaciones, sistemas, entre otros, y finalmente se realiza una evaluación sobre los procesos involucrados en la organización.

El COBIT es un modelo de evaluación y monitoreo que enfatiza en el control de negocios y la seguridad IT y que abarca controles específicos de IT desde una perspectiva de negocios.

La adecuada implementación de un modelo COBIT en una organización, provee una herramienta automatizada, para evaluar de manera ágil y consistente el cumplimiento de los objetivos de control y controles detallados, que aseguran que los procesos y recursos de información y tecnología contribuyen al logro de los objetivos del negocio en un mercado cada vez más exigente, complejo y diversificado.

COBIT, lanzado en 1996, es una herramienta de gobierno de TI que ha cambiado la forma en que trabajan los profesionales de tecnología. Vinculando tecnología informática y prácticas de control, el modelo COBIT consolida y armoniza estándares de fuentes globales prominentes en un recurso crítico para la gerencia, los profesionales de control y los auditores.

COBIT se aplica a los sistemas de información de toda la empresa, incluyendo los computadores personales y las redes. Está basado en la filosofía de que los recursos TI necesitan ser administrados por un conjunto de procesos naturalmente agrupados para proveer la información pertinente y confiable que requiere una organización para lograr sus objetivos.

El conjunto de lineamientos y estándares internacionales conocidos como COBIT, define un marco de referencia que clasifica los procesos de las unidades de tecnología de información de las organizaciones en cuatro “dominios” principales, a saber:

- Planificación y organización
- Adquisición e implantación
- Soporte y Servicios
- Monitoreo

Estos dominios agrupan objetivos de control de alto nivel, que cubren tanto los aspectos de información, como de la tecnología que la respalda. Estos dominios y objetivos de control facilitan que la generación y procesamiento de la información cumplan con las características de efectividad, eficiencia, confidencialidad, integridad, disponibilidad, cumplimiento y confiabilidad.

Asimismo, se deben tomar en cuenta los recursos que proporciona la tecnología de información, tales como: datos, aplicaciones, plataformas tecnológicas, instalaciones y recurso humano.


Modelo PEMM


PEMM (Performance Engineering Maturity Model)
  • Evalúa el nivel de integración y aplicación de ingeniería de producción o "Madurez de la Ingeniería de Producción"
  • Se apoya en el CMM, del SEI
  • Este modelo cuenta con 5 niveles, los cuales determinan:
    • La mejora del comportamiento de ejecución
    • El decremento del riesgo de ejecución a través de estos niveles
Modelo de Madurez de la Ingeniería de Producción



Objetivos

  • Evaluar la Ingeniería de Producción y la Integración de Procesos
  • Evalúa organizaciones, así como el desarrollo de sus propios procesos específicos
  • Ser una selección de criterio para elegir un proveedor de software para productos críticos o semi-críticos


  • Interpretación del PEMM
    • Un nivel PEMM indica cuál es la capacidad de una organización de dar orientación en el desarrollo de software
    • Esto llevará a la organización, obviamente, a destacar en el mercado
    GQM (Goal Question Metric)
    • Es un método para identificar cuestionamientos y métricas expertas
    • Consta de 34 preguntas
    • Primero se definen los objetivos, luego se seleccionan preguntas y finalmente se definen métricas ordinales para cuantificar las respuestas
    • Mide aspectos generales, la organización, la definición de Ingeniería producción, el proyecto de la dirección y la tecnología

    Nivel 1: Prácticas no coordinadas

    • El uso de PE depende del compromiso personal de los desarrolladores
    • Los métodos individuales no son estructurados

    Nivel 2: Consideración de Subprocesos PE

    • Se consideran todas las partes del proceso de PE
    • Todavía no se cuenta con una descripción completa de los procesos

    Nivel 3: Definición Completa de Procesos PE

    • El proceso de PE es considerado dentro del proceso de desarrollo de software en su totalidad.
    • Se seleccionan productos de rendimiento relevantes y recursos métricos para el uso de PE y luego son estandarizados dentro de la organización
    • Los requerimientos del cliente son usados como criterios exitosos en la prueba final

    Nivel 4: Procesos PE integrados y probados exitosamente

    • Las tareas de PE son parte esencial del desarrollo de software
    • Todos los involucrados en procesos de PE tienen acceso a información relevante
    • Las métricas son usadas para la estimación de características, para modelos de procesos o para evaluaciones estadísticas
    • El valor suplente es evidente mientras se implementan los sistemas de información
    • La estructura organizacional es desarrollada de acuerdo a las experiencias

    Nivel 5: Procesos PE Optimizados

    • Se archiva el máximo grado de madurez de los procesos
    • La PE puede ser aplicada a todos los campos de operación
    • Las modificaciones tecnológicas dentro del desarrollo de software pueden ser absorbidas por la PE

    El lado positivo de este modelo

    • La evaluación de la maduración de procesos en la organización
    • Toma aspectos tecnológicos relevantes como:
      • El software para la definición
      • Diseño de procesos de desarrollo

    Problemas con los Modelos de Madurez de Procesos

    • En cuanto a su naturaleza:
      • Por ser modelos para proyectos de gran tamaño, se complica su generalización en proyectos de menor formato
      • No convergen los objetivos de los modelos con los de la organización; se complica la aceptación e instauración de los modelos
      • Definición excesiva de procesos, complicando su aplicación y/o entendimiento
      • No se enfatiza en la certificación y/o evaluación de proyectos de pequeño y/o mediato formato
    • En cuanto a su implementación:
      • Los modelos sólo estandarizan y mejoran procesos de producción que se espera mejoren los productos finales
      • Decremento de la productividad al inicio de la aplicación del modelo
      • Resistencia de la organización al cambio

    Modelo IDEAL

    El modelo IDEAL (Modelo para la Mejora Continua de Procesos) es un modelo elaborado por el SEI para guiar el inicio, planificación e implementación de iniciativas de mejora para el proceso de software en las organizaciones.

    El modelo IDEAL provee un enfoque disciplinado de ingeniería para la mejora del proceso de software, focaliza en el gerenciamiento del programa de mejoras y establece los fundamentos para una estrategia de largo plazo. El modelo consiste de cinco fases, compuestas por actividades:
    Iniciar: su propósito es estableces los fundamentos básicos para garantizar la iniciativa de mejoramiento de procesos.
    se aclaran con la gerencia cuales son los objetivos de la empresa u organización que serán beneficiados por el esfuerzo.
    El apoyo de la alta dirección y de la gerencia en general es básica para el éxito del programa de mejoramiento. el compromiso de los gestionarios garantiza la disponibilidad de recursos, la infraestructura y la prioritizacion del proyecto de mejoramiento.
    Las actividades de esta fase determinan el éxito o el fracaso del programa.

    Diagnosticar: evaluar mediante un método formal las fortalezas y debilidades del proceso seguido por los proyectos.

    Establecer: realizar la planificación específica de los mejoramientos que se desea alcanzar.
    se desarrolla un plan detallado que sirve como plan de proyecto.
    se establece las estrategias y las prioridades.

    Actuar: implementar el mejoramiento de procesos llevando a cabo el plan de acción. Aquí se introducen o mejoran los procesos, se estrena a los respectivos niveles de personal, se miden los avances/beneficios logrados, se realiza proyectos pilotos, se implantan los procesos mejorados en los proyectos nuevos o existentes, se hacen mini evaluaciones para constatar la evolución del plan.

    Difundir: aprender de la experiencia del ciclo recién realizado y aumentar la habilidad de la empresa u organización para mejorar los procesos en forma continua.


    Fundamentos de la calidad de Software

    ¿Qué es calidad?

    1. El grado en que un sistema, compone, o proceso se ajusta con los requerimientos especificados.
    2. El grado en que un sistema, compone, o proceso se ajusta con las necesidades y/o espectativas del cliente o usuario.
    3. La totalidad de características que una entidad soporte en su habilidad de satisfacer estados y necesidades implicadas.


    ¿Qué es calidad de software?

    Calidad engloba todo el proceso, y está determinada por factores directos e indirectos.
    Calidad es un concepto complejo y multifacético, que puede describirse desde diversas perspectivas.

    Visiones de Calidad

    -Visión trascendental: puede ser reconocida pero no definidad
    -Visión del usuario: grado de adecuación al propósito. software que satisface las necesidades de los usuarios, se basa en tareas del usuario a veces muy dependiente del contexto. Apoyado por modelos de confiabilidad, modelos de desempeño y laboratorios de usabilidad.
    -Visión del productor: conformidad con la especificación
    -Visión del producto: ligada a caracteristicas inherentes del mismo. Caracteristicas internas determinan la calidad.
    -Visión basada en valor: ¿Cuánto el cliente está dispuesto a pagar?


    Verificación y Validación

    -Verificación: ¿estamos construyendo el producto correctamente?
    -Validación: ¿estamos construyendo el producto correcto?


    ¿Qué se puede medir?

    El proceso del software para mejorarlo
    El proyecto del software para ayudar a estimar, control de calidad, evaluación de la productivad, control de proyectos.
    Calidad del producto para ayudar en la toma de decisiones tácticas a medida que el proyecto evoluciona.

    Métricas de Calidad


    Se miden estadísticamente, es decir, cualitativamente, se aplica a todos los aspectos de calidad de software y éstos se miden desde los puntos de vista de análisis, construcción, funcional, documentación, métodos, proceso, usuario. Existen diferentes tipos de métricas, a continuación mencionaremos 3.


    • Métricas técnicas: Se derivan de una relación empírica según las medidas contables del dominio de información del software y evaluaciones de complejidad.

    • Métricas Bang: Ayudan a evaluar el análisis y diseño. Proporcionan las medidas de la complejidad y ayudan a diseñar pruebas mas efectivas.
    - Medidas de Análisis: Evaluar los elementos más bajos del análisis que no se pueden dividir más.
    - Medidas de especificación: Valoran y modelan los requisitos.
    - Medidas de Diseño: Evalúan la complejidad de la estructura, los datos, el sistema.
    • Métricas de puntos de función de Albretch: Valoran la aplicación desde el punto de vista del usuario. Tiene dos etapas:
    1. Identifican las funciones disponibles para el usuario: Salidas, Consultas, Entradas, Archivos, Interfaces.
    2. Se ajustan de acuerdo con las caracteristicas del entorno.

    Tomado de: Métricas

    Clasificación de las métricas

    • De complejidad
    • De Calidad:

    - Modelo de McCall (1977)

    - Modelo de FURPS (1987)

    - Modelo de DROMEY (1996)

    - Normas ISO 9000

    - ISO 9126

    - MOSCA (Modelo Sistémico de Calidad)

    • De Competencia
    • De Desempeño
    • Estilizados

    Algunas Herramientas de Medición de la Calidad

    • PHP Depend
    • Project Mess Detection

    Modelos de Calidad

    Un modelo no es una metodología, el modelo dice que hacer y la metodología cómo hacer. Los modelos ayudan a las organizaciones a que se adapten a alguna metodología.

    Un modelo de calidad es una herramienta que ayuda a las organizaciones a guiarse en la mejora continua y a la competitividad, proporciona buenas prácticas para el ciclo de vida del software.



    Tomado de: Modelos - Metodologías (Iso15504.es)

    Tiene como objetivo principal el desarrollo sistemático de bienes, productos y servicios de mayor calidad; y cumplir las expectativas y necesidades de los clientes.

    • Depende de las metodologías que use.
    • Depende de los objetivos de negocio.

    Calidad del Proceso

    Se puede ver como una colección estructurada de prácticas que describen las características de un proceso efectivo.

    Se usa para:

    • Definir las prioridades y objetivos de mejora.
    • Guía para la mejora.
    • Definir un lenguaje común.

    Áreas del proceso relacionadas con la gestión de la calidad:

    1. Aseguramiento de la calidad en el proceso y en el producto.
    2. Verificación del proceso.
    3. Validación del proceso.

    "El proceso de Software define como se organiza, gestiona, mide, soporta y mejora el desarrollo, independientemente de las técnicas y métodos usados.

    (Derniame et al, 1999)"


    Gestión de Proyectos de Software

    • Gestión: Disciplina de organizar y administrar recursos de manera tal que se pueda culminar todo el trabajo requerido en el proyecto dentro del alcance, el tiempo y un coste definido.
    • Proyecto: Esfuerzo temporal, único y progesivo.

    Objetivo de la Gestión de Proyectos de Software:

    Obtener productos de alta calidad. Se centra en 3 partes:

    • Personal: Gestionar el personal para el proyecto es importante, con esto se obtiene el aumento de la preparación en la organización del software. si se llega a alcanzar la madurez en esta área se logran mejores prácticas en ingenierías.
    • Problema: Teniendo en cuenta los objetivos, se consideran las soluciones alternas y además se establecen las dificultades técnicas y de gestión.
    • Proceso: Se adquiere la estructura de un plan detallado para el desarrollo del proyecto.

    Caracteristicas:

    • Objetivo.
    • Complejo.
    • Estructura organizacional.
    • Calendario.
    • Demanda.
    • Sistema de Control de Información.

    Visión del Software:

    Según el PMI (Project Management Institute)

    • Temporal: Tiene un Inicio y Final, así se hayan alcanzado los objetivos o no.
    • Productos o servicios únicos.
    • Elaboración gradual: Se desarrolla por pasos y va aumentando.

    Capas de La Ingeniería del Software:

    Tomado de: Capas de Ingeniería

    Herramientas que se utilizan para la Gestión de Proyectos de Software: Tomado de: Anexos Wikipedia - Gestion de Proyectos de Software






    Crisis del Software

    "La Ingeniería de Software no ha sabido adaptarse a su propia definición."

    Ingeniería del Software Libre. Una Visión Alternativa a la Ingeniería de Software Tradicional. Gregorio Robles.

    Universidad Rey Juan Carlos.

    • Se habla de una crisis del software, aunque éste no ha sufrido ningún punto crucial, sólo una lenta evolución. Más que una crisis se trata de una enfermedad crónica; se agudece mas porque existen aplicaciones antiguas que aún se utilizan y de las cuales no se conoce su estructura interna.

    • La crisis del software se da también por el hecho que el software no se construye en el tiempo estimado, ni los requerimientos, ni las necesidades del cliente son entendidas; además se excede el presupuesto.

    • No se ha podido satisfacer la demanda, se sigue construyendo software complejo y la demanda aumenta cada vez mas. La implementación del software requiere de mucho tiempo debido a que se intenta plasmar la complejidad del mundo real en las aplicaciones, y esto conlleva a software complejos que son difíciles de entender por el usuario.

    • Se puede mencionar lo siguiente como uno de los principales problemas en el desarrollo de Software, y es que al comenzar con el proyecto se enfocan mucho en la codificación.

    Síntomas:

    • Poca calidad del software.
    • No se cumple con el plan de proyecto (tiempo y costo).
    • Poca confiabilidad.
    • Grandes requerimientos.
    • El software necesita mantenimiento permanente.
    • Carece de transparencia, imposible de mantener y no se puede modificar, ni mejorar.

    Factores:

    • Mayor obsolencia de hardware y software.
    • Crecimiento de usuarios de sistemas de software.
    • Magnitud del proyecto.
    • Entre otros.

    Cambios en el entorno:

    • Tecnológicos.
    • Económicos.
    • Sociales.

    Causas:

    • "Las causas de la crisis del software fueron vinculadas a la complejidad en general del proceso de software y a la relativa inmadurez de la ingeniería de software como una profesión." Ing. Juan Carlos Heredia Mayer. Consultor e Instructor en TI.

    domingo, 14 de febrero de 2010

    Calidad del producto

    La calidad del software no depende de un proceso de manufactura sino de un proceso de diseño en el que las capacidades del individuo son importantes. para algunas clases de productos, el proceso utilizado es el determinante más importante de la calidad del producto.Sin embargo, para aplicaciones innovadoras en particular, la gente involucrada en el proceso es más importante que el proceso utilizado. Para los productos de software donde la calidad depende del diseño, existen cuatro factores que afectan a la calidad del producto.
    Principales factores de la calidad del producto:

    La influencia de cada uno de estos factores depende del tamaño y del tipo de proyecto. para sistemas muy grandes compuestos de subsistemas independientes, desarrollados por equipos que pueden trabajar en diferentes localizaciones, el determinante principal de la calidad del producto es el proceso del software. los problemas principales con los proyectos grandes son la integración, la gestión y las comunicaciones. Por lo general existe una mezcla de habilidades y de experiencia en los miembros del equipo y, puesto que el proceso de desarrollo requiere varios años, el equipo de desarrollo es volátil. Para proyectos pequeños donde existe únicamente unos pocos miembros, la calidad del equipo de desarrollo es más importante que el proceso de desarrollo utilizado. Si el equipo tiene un nivel alto de habilidad y experiencia, la calidad del producto probablemente sea alta. Si el equipo no tiene experiencia ni habilidades, un buen proceso delimita el daño, pero no conducirá, por sí mismo, a software de alta calidad. si los equipos son pequeños es bueno contar con una buena tecnología de desarrollo.
    La calidad del producto se ve afectada si un proyecto, independientemente de su tamaño, está mal presupuestado o planificado con un tiempo de entrega irreal. Un buen proceso requiere recursos para su implementación efectiva. Si los recursos no son adecuados, sólo las personas excelentes pueden salvar el proyecto. Más aún, si el déficit es demasiado grande, la calidad del producto se degradará.
    A menudo, la causa real de los problemas en la calidad del software no es la mala gestión, los procesos inadecuados o la poca calidad de la capacitación. Más bien, es el hecho de que las organizaciones deben competir para sobrevivir. Muchos proyectos de software infravaloran el esfuerzo o prometen una entrega rápida con el fin de conseguir el contrato de desarrollo. En un intento de mantener estos compromisos, la compañía podría sacrificar la calidad del software.


    Todas las metodologías y herramientas tienen un único fin producir software de gran calidad.
    "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”
    R.S. Pressman (1992).

    El aseguramiento de calidad del software es el conjunto de actividades planificadas y sistemáticas necesarias para aportar la confianza en que el producto (software) satisfará los requisitos dados de calidad.
    El aseguramiento de calidad del software se diseña para cada aplicación antes de comenzar a desarrollarla y no después.


    FACTORES QUE DETERMINAN LA CALIDAD DEL PRODUCTO

    Se clasifican en tres grupos:

    Operaciones del producto:
    -Corrección
    (¿Hace lo que se le pide?)
    • El grado en que una aplicación satisface sus especificaciones y consigue los objetivos encomendados por el cliente
    -Fiabilidad
    (¿Lo hace de forma fiable todo el tiempo?)
    • El grado que se puede esperar de una aplicación lleve a cabo las operaciones especificadas y con la precisión requerida
    -Eficiencia
    (¿Qué recursos hardware y software necesito?)
    • La cantidad de recursos hardware y software que necesita una aplicación para realizar las operaciones con los tiempos de respuesta adecuados
    -Integridad
    (¿Puedo controlar su uso?)
    • El grado con que puede controlarse el acceso al software o a los datos a personal no autorizado
    -Facilidad de uso
    (¿Es fácil y cómodo de manejar?)
    • El esfuerzo requerido para aprender el manejo de una aplicación, trabajar con ella, introducir datos y conseguir resultados

    REVISIÓN DEL PRODUCTO
    capacidad para soportar cambios

    Facilidad de mantenimiento
    (¿Puedo localizar los fallos?)
    • El esfuerzo requerido para localizar y reparar errores
    Flexibilidad
    (¿Puedo añadir nuevas opciones?)
    • El esfuerzo requerido para modificar una aplicación en funcionamiento

    Facilidad de prueba
    (¿Puedo probar todas las opciones?)
    • El esfuerzo requerido para probar una aplicación de forma que cumpla con lo especificado en los requisitos

    TRANSICIÓN DEL PRODUCTO
    Adaptabilidad a nuevos entornos
    Portabilidad
    (¿Podré usarlo en otra máquina?)
    • El esfuerzo requerido para transferir la aplicación a otro hardware o sistema operativo
    Reusabilidad
    (¿Podré utilizar alguna parte del software en otra aplicación?)
    • Grado en que partes de una aplicación pueden utilizarse en otras aplicaciones
    Interoperabilidad
    (¿Podrá comunicarse con otras aplicaciones o sistemas
    informáticos?
    • El esfuerzo necesario para comunicar la aplicación con otras aplicaciones o sistemas
    informáticos


    Mejora procesos de calidad

    Uno de los principios básicos de la calidad es la prevención y las mejoras continuas. Esto significa que la calidad es un proyecto interminable, cuyo objetivo es detectar disfunciones tan rápido como sea posible después de que ocurran. Así, la calidad puede representarse en un ciclo de acciones correctivas y preventivas llamado "ciclo de Deming":

    Este ciclo, representado en el ciclo de Deming, se llama modelo PDCA.
    PDCA se refiere a las iniciales del inglés de los siguientes cuatro pasos:
    Planear (plan): definir los objetivos a alcanzar y planificar cómo implementar las acciones.
    Hacer (do): implementar las acciones correctivas.
    Controlar (check): verificar que se logre el conjunto de objetivos.
    Actuar (act): según los resultados obtenidos en el paso anterior, tomar medidas preventivas.

    Mejorar la calidad interna y externa permite que una compañía trabaje con sus beneficiarios en las mejores condiciones, lo que se traduce en una relación de confianza y ganancias de naturaleza tanto financiera (aumento de ganancias) como personal (clarificación de roles, necesidades y oferta, motivación del empleado).

    La mejora de la calidad es un proceso que requiere la participación de toda la compañía y, en la mayoría de los casos, conduce a cambios en los hábitos de trabajo e incluso en la organización. Por lo tanto, un procedimiento de calidad es un acercamiento organizativo al progreso continuo en el área de la eliminación de defectos. Es un procedimiento participativo, lo que significa que debe participar toda la compañía, incluyendo el nivel jerárquico más alto.

    La mejora de procesos es una actividad ciclica y tiene tres estados principales
    1. Proceso de medición de los atributos del proyecto actual o del producto: el objetivo es mejorar las mediciones de acuerdo con las metas de la organización involucrada en el proceso de mejora.


    2. Proceso de análisis: el proceso actual es valorado, y se identifican puntos flacos y cuellos de botella. en esta estapa se suelen desarrollar los procesos que describen los modelos de proceso.

    3. Introducción de los cambios del proceso identificados en el análisis.

    Cada etapa del proceso puede durar varios meses. La mejora de procesos es una actividad a largo plazo. Es una actividad continua, en la que se introducen nuevos procesos, el entorno de negocio cambia y los procesos por sí mismos evolucionan para tener en cuenta estos cambios.

    Introducción Calidad del Software

    La obtención de un software con calidad implica la utilización de metodologías o procedimientos estándares para el análisis, diseño, programación y pruebas del software que permitan uniformar la filosofía de trabajo, en áreas de lograr una mayor confiabilidad, mantenibilidad y facilidad de prueba, a la vez que eleven la productividad, tanto para la labor de desarrollo como para el control de la calidad del software.

    • Los requisitos del software son la base de las medidas de calidad.La falta de concordancia con los requisitos es una falta de calidad.
    • Los estándares o metodologías definen un conjunto de criterios de desarrollo que guían la forma en que se aplica la ingeniería del software. Si no se sigue ninguna metodología siempre habrá falta de calidad.

    La política establecida debe estar sustentada sobre tres principios básicos: tecnológico, administrativo y ergonómico.
    El principio tecnológico define las técnicas a utilizar en el proceso de desarrollo del software.
    El principio administrativo contempla las funciones de planificación y control del desarrollo del software, así como la organización del ambiente o centro de ingeniería de software.
    El principio ergonómico define la interfaz entre el usuario y el ambiente automatizado.
    La adopción de una buena política contribuye en gran medida a lograr la calidad del software, pero no la asegura. Para el aseguramiento de la calidad es necesario su control o evaluación.
    A partir del siguiente gráfico se observa la interrelación existente entre la Gestión de la Calidad, el Aseguramiento de la Calidad y el Control de la Calidad.