ISO / IEC / IEEE 12207 Ingeniería de software y sistemas: los procesos del ciclo de vida del software [1] es un estándar internacional para los procesos del ciclo de vida del software. Introducido por primera vez en 1995, tiene como objetivo ser un estándar primario que define todos los procesos necesarios para desarrollar y mantener sistemas de software , incluidos los resultados y / o actividades de cada proceso.
Revisión histórica
ISO / IEC / IEEE 12207: 2017 es la versión más reciente, publicada en noviembre de 2017. [1] La IEEE Computer Society se unió directamente a la Organización Internacional de Normalización (ISO) en el proceso de edición de esta versión. Un cambio significativo es que adopta un modelo de proceso idéntico al modelo de proceso ISO / IEC / IEEE 15288 : 2015 (hay un cambio de nombre, el proceso 15288 "Definición de requisitos del sistema" se renombra al proceso "Definición de requisitos del sistema / software" ). Esta armonización de las dos normas dio lugar a la eliminación de procesos separados de desarrollo y reutilización de software, lo que redujo el número total de 12207 procesos de 43 a los 30 procesos definidos en 15288. También provocó cambios en las actividades de los procesos de gestión y aseguramiento de la calidad y resultados. Además, se actualizó la definición de " auditoría " y las actividades de auditoría relacionadas. [2] [3] [4] El Anexo I de ISO / IEC / IEEE 12207: 2017 proporciona un mapeo de procesos entre la versión 2017 y la versión anterior, incluidas las alineaciones de procesos primarios entre las dos versiones; esto está destinado a permitir la trazabilidad y facilitar la transición para los usuarios de la versión anterior.
Las versiones anteriores incluyen:
- ISO / IEC 12207: 2008, que se publicó en febrero de 2008 [5]
- ISO / IEC 12207: 1995 / Amd 2: 2004, una versión enmendada de la anterior, publicada en noviembre de 2004 [6]
- ISO / IEC 12207: 1995 / Amd 1: 2002, una versión enmendada de la anterior, publicada en mayo de 2002 [7]
- ISO / IEC 12207: 1995, la primera iteración, publicada en julio de 1995; [8] originalmente se dividió en cinco procesos primarios (adquisición, suministro, desarrollo, operación y mantenimiento), con ocho procesos de apoyo y cuatro de ciclo de vida organizacional [9]
Versiones IEEE
Antes de que la IEEE Computer Society se uniera formalmente al proceso de edición (convirtiéndose en una de las principales partes interesadas) para la versión de 2017, IEEE mantuvo sus propias versiones de ISO / IEC 12207, inicialmente con modificaciones realizadas conjuntamente con Electronic Industries Alliance (EIA). [10] [11] [12] Con la actualización de 2008 llegó una "estrategia compartida de ISO / IEC JTC 1 / SC 7 y el IEEE para armonizar sus respectivas colecciones de normas", lo que resultó en normas idénticas, pero con nombres ligeramente diferentes. . [12] Esas versiones de IEEE incluyen:
- IEEE Std. 12207-2008: "integra ISO / IEC 12207: 1995 con sus dos enmiendas y se coordinó con la revisión paralela de ISO / IEC 15288: 2002 (procesos del ciclo de vida del sistema) para alinear la estructura, los términos y los procesos organizativos y de proyecto correspondientes"; [13] reemplazado por ISO / IEC / IEEE 12207: 2017
- IEEE / EIA 12207.2-1997: "proporciona una guía de consideración de implementación para las cláusulas normativas de IEEE / EIA 12207.0"; [14] reemplazado / hecho obsoleto por IEEE Std. 12207-2008, que luego fue reemplazada por ISO / IEC / IEEE 12207: 2017
- IEEE / EIA 12207.1-1997: "proporciona una guía para registrar los datos del ciclo de vida que resultan de los procesos del ciclo de vida de IEEE / EIA 12207.0"; [15] reemplazado por ISO / IEC / IEEE 15289: 2011, que luego fue reemplazado por ISO / IEC / IEEE 15289: 2017
- IEEE / EIA 12207.0-1996: "consta de las aclaraciones, adiciones y cambios [a ISO / IEC 12207: 1995 para la implementación de la industria] aceptados por el Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) y la Alianza de Industrias Electrónicas (EIA) como formulado por un proyecto conjunto de las dos organizaciones "; [10] reemplazado por IEEE Std. 12207-2008, que luego fue reemplazada por ISO / IEC / IEEE 12207: 2017
También vale la pena señalar que IEEE / EIA 12207 reemplazó oficialmente MIL-STD-498 (lanzado en diciembre de 1994 [11] ) para el desarrollo de sistemas de software DoD el 27 de mayo de 1998. [9] [11]
Procesos, no etapas
El estándar establece un conjunto de procesos para administrar el ciclo de vida del software . El estándar "no prescribe un modelo de ciclo de vida de software, una metodología de desarrollo , un método, un enfoque de modelado o una técnica específicos ". [1] En cambio, el estándar (así como ISO / IEC / IEEE 15288) distingue entre una "etapa" y un "proceso" de la siguiente manera:
- etapa: "período dentro del ciclo de vida de una entidad que se relaciona con el estado de su descripción o realización". Una etapa es típicamente un período de tiempo y termina con una "puerta de decisión primaria".
- proceso: "conjunto de actividades interrelacionadas o interactuantes que transforma las entradas en salidas". El mismo proceso a menudo se repite en diferentes etapas.
Las etapas (también conocidas como fases) no son lo mismo que los procesos, y este estándar solo define procesos específicos, no define ninguna etapa en particular. En cambio, el estándar reconoce que los ciclos de vida del software varían y pueden dividirse en etapas (también llamadas fases) que representan los principales períodos del ciclo de vida y dan lugar a puertas de decisión primarias. Ningún conjunto de etapas en particular es normativo, pero menciona dos ejemplos:
- Se podrían usar las etapas del ciclo de vida del sistema de ISO / IEC TS 24748-1 (concepto, desarrollo, producción, utilización, soporte y retiro).
- También señala que un conjunto común de etapas para el software es la exploración, el desarrollo, el mantenimiento y la retirada de conceptos.
Los procesos del ciclo de vida que define el estándar no están alineados con ninguna etapa específica del ciclo de vida del software. De hecho, los procesos del ciclo de vida que implican la planificación, el desempeño y la evaluación "deben considerarse para su uso en todas las etapas". En la práctica, los procesos ocurren siempre que se necesitan dentro de cualquier etapa.
Procesos
ISO / IEC / IEEE 12207: 2017 divide los procesos del ciclo de vida del software en cuatro grupos de procesos principales: acuerdo, habilitación de proyectos organizacionales, gestión técnica y procesos técnicos. [1] [4] Bajo cada uno de esos cuatro grupos de procesos hay una variedad de subcategorías, incluidas las actividades primarias de adquisición y suministro (acuerdo); configuración (gestión técnica); y operación, mantenimiento y eliminación (técnica). [1] [16]
Procesos de acuerdos
Aquí ISO / IEC / IEEE 12207: 2017 incluye los procesos de adquisición y suministro, [1] [2] [16] que son actividades relacionadas con el establecimiento de un acuerdo entre un proveedor y un adquirente. La adquisición cubre todas las actividades involucradas en el inicio de un proyecto. La fase de adquisición se puede dividir en diferentes actividades y entregables que se completan cronológicamente. Durante la fase de suministro se desarrolla un plan de gestión del proyecto . Este plan contiene información sobre el proyecto, como los diferentes hitos que deben alcanzarse.
Procesos organizativos de habilitación de proyectos
Aquí se detallan los procesos de gestión de modelos de ciclo de vida, gestión de infraestructura , gestión de carteras , gestión de recursos humanos, gestión de la calidad y gestión del conocimiento . [1] [2] [16] Estos procesos ayudan a una empresa u organización a habilitar, controlar y respaldar el ciclo de vida del sistema y los proyectos relacionados. La gestión del modelo de ciclo de vida ayuda a garantizar que se respalden los esfuerzos de adquisición y suministro, mientras que la gestión de la infraestructura y la cartera respalda las iniciativas empresariales y específicas del proyecto durante todo el ciclo de vida del sistema. El resto asegura que los recursos necesarios y los controles de calidad estén en su lugar para respaldar los esfuerzos del proyecto y del sistema de la empresa. Si una organización no tiene un conjunto apropiado de procesos organizacionales, un proyecto ejecutado por la organización puede aplicar esos procesos directamente al proyecto. [1]
Procesos de gestión técnica
ISO / IEC / IEEE 12207: 2017 coloca ocho procesos diferentes aquí: [1] [2] [16]
- [Planificación de proyectos]
- Evaluación y control de proyectos
- Gestión de decisiones
- Gestión de riesgos
- Gestión de la configuración
- Gestión de la información
- Medición
- Seguro de calidad
Estos procesos se ocupan de la planificación, evaluación y control del software y otros proyectos durante el ciclo de vida, asegurando la calidad en el camino.
Procesos tecnicos
Los procesos técnicos de ISO / IEC / IEEE 12207: 2017 abarcan 14 procesos diferentes, [1] [2] [16] algunos de los cuales provienen de los antiguos procesos específicos de software que se eliminaron gradualmente de la versión de 2008. [2]
La lista completa incluye: [1] [2] [16]
- Análisis de negocios o misión
- Definición de necesidades y requisitos de las partes interesadas
- Definición de requisitos de sistemas / software
- Definición de arquitectura
- Definición de diseño
- Análisis del sistema
- Implementación
- Integración
- Verificación
- Transición
- Validación
- Operación
- Mantenimiento
- Disposición
Estos procesos involucran actividades técnicas y personal ( tecnología de la información , solucionadores de problemas, especialistas en software, etc.) durante el pre, post y durante la operación. Los procesos de análisis y definición desde el principio preparan el escenario para cómo se implementan el software y los proyectos. Los procesos adicionales de integración, verificación, transición y validación ayudan a garantizar la calidad y la preparación. Las fases de operación y mantenimiento ocurren simultáneamente, con la fase de operación que consiste en actividades como ayudar a los usuarios a trabajar con el producto de software implementado y la fase de mantenimiento que consiste en tareas de mantenimiento para mantener el producto en funcionamiento. El proceso de eliminación describe cómo se retirará y limpiará el sistema / proyecto, si es necesario. [1]
Conformidad
La cláusula 4 describe el uso previsto del documento y los requisitos de conformidad. Se espera que determinados proyectos "no necesiten utilizar todos los procesos proporcionados por este documento". En la práctica, cumplir con esta norma normalmente implica seleccionar y declarar el conjunto de procesos adecuados. Esto se puede lograr mediante la "conformidad total" o la "conformidad personalizada".
La "conformidad total" se puede reclamar de dos formas. Se puede reclamar la "plena conformidad con las tareas" si se cumplen todos los requisitos de las actividades y tareas de los procesos declarados. Se puede reclamar la "plena conformidad con los resultados" si se cumplen todos los resultados requeridos de los procesos declarados. Este último permite más variación.
La "conformidad personalizada" puede declararse cuando se seleccionan o modifican cláusulas específicas mediante el proceso de adaptación también definido en el documento.
Ver también
- Proceso de desarrollo de software
- Ciclo de vida de la versión de software
- ISO / IEC / IEEE 15288
- ISO / IEC 15504
- ISO / IEC / IEEE 29119
- ISO / IEC JTC 1 / SC 7
- Técnica de metamodelado
- Modelo V
- Lenguaje de modelado unificado
- Gestión de edificios
- Gestión de la liberación
Referencias
- ^ a b c d e f g h i j k l "ISO / IEC / IEEE 12207: 2017" . Catálogo de normas . Organización Internacional de Normalización. Noviembre de 2017 . Consultado el 21 de junio de 2018 .
- ^ a b c d e f g Reilly, A. (27 de junio de 2017). "¡Nuevos o mejorados! Estándares de calidad de ingeniería de software" . Sociedad Estadounidense para la Calidad . Consultado el 21 de junio de 2018 .
- ^ Bach, C. (12 de diciembre de 2017). "ISO / IEC 12207 actualizado y renumerado como ISO / IEC / IEEE 12207" . Foro de estándares . Centro de documentación, Inc . Consultado el 22 de junio de 2018 .
- ^ a b Reilly, A. (marzo de 2018). "INCITS / SSE - Informe Anual de Ingeniería de Software y Sistemas - Abril de 2017 a Marzo de 2018" (PDF) . INCITOS . Consultado el 22 de junio de 2018 .
Los estándares fundamentales de ISO / IEC JTC 1 / SC 7, ISO / IEC / IEEE 12207: 2017 e ISO / IEC / IEEE 15288: 2015, se han revisado recientemente para reflejar un conjunto de modelos unificados de adquisición, organización, gestión técnica y procesos técnicos para sistemas y software.
- ^ "ISO / IEC 12207: 2008" . Catálogo de normas . Organización Internacional de Normalización. Febrero de 2008 . Consultado el 21 de junio de 2018 .
- ^ "ISO / IEC 12207: 1995 / Amd 2: 2004" . Catálogo de normas . Organización Internacional de Normalización. Noviembre de 2004 . Consultado el 21 de junio de 2018 .
- ^ "ISO / IEC 12207: 1995 / Amd 1: 2002" . Catálogo de normas . Organización Internacional de Normalización. Mayo de 2002 . Consultado el 21 de junio de 2018 .
- ^ "ISO / IEC 12207: 1995" . Catálogo de normas . Organización Internacional de Normalización. Julio de 1995 . Consultado el 21 de junio de 2018 .
- ^ a b "Descripción general de IEEE / EIA 12207: estándar para tecnología de la información" . Biblioteca de activos del proceso SSC San Diego. 30 de julio de 1998. Archivado desde el original el 30 de diciembre de 2008 . Consultado el 22 de junio de 2018 .
- ^ a b "IEEE 12207.0-1996 - Estándar para tecnología de la información - Procesos del ciclo de vida del software" . Asociación de estándares IEEE. Marzo de 1998 . Consultado el 22 de junio de 2018 .
- ^ a b c "ISO / IEC 12207: 2008, IEEE Std 12207-2008 Ingeniería de sistemas y software - Procesos del ciclo de vida del software" (PDF) . SemanticScholar.org . 7 de diciembre de 2009. Archivado desde el original (PDF) el 22 de junio de 2018 . Consultado el 22 de junio de 2018 .
- ^ a b "1SO / IEC 12207: 2008 (en) Ingeniería de sistemas y software - Procesos del ciclo de vida del software: Introducción a IEEE" . Plataforma de navegación en línea . Organización Internacional de Normalización. Febrero de 2008 . Consultado el 22 de junio de 2018 .
- ^ "IEEE Std. 12207-2008 - Ingeniería de sistemas y software - Procesos del ciclo de vida del software" . Asociación de estándares IEEE. Enero de 2008 . Consultado el 22 de junio de 2018 .
- ^ "IEEE 12207.2-1997 - Guía de tecnología de la información - Procesos del ciclo de vida del software - Consideraciones de implementación" . Asociación de estándares IEEE. Abril de 1998 . Consultado el 22 de junio de 2018 .
- ^ "IEEE 12207.1-1997 - Guía de tecnología de la información - Procesos del ciclo de vida del software - Datos del ciclo de vida" . Asociación de estándares IEEE. Abril de 1998 . Consultado el 22 de junio de 2018 .
- ^ a b c d e f Peñalvo, FJ; Holgado, AG (2017). "Proceso: Ingeniería de Software I" (PDF) . Universidad de Salamanca. pag. 39 . Consultado el 21 de junio de 2018 .