ScholarGate
Asistente

Procesos y metodologías de software

Los procesos y metodologías de software son los marcos estructurados de actividades, hitos y prácticas que organizan cómo se especifica, diseña, construye, valida y evoluciona el software a lo largo de su vida útil.

Encontrar tema con PaperMindPróximamenteFind papers & topics
Tools & resources
Descargar diapositivas
Learn & explore
VídeoPróximamente

Definition

Un proceso de software es un conjunto de actividades relacionadas y su ordenación que conduce a la producción de un producto de software, y una metodología de software es un enfoque documentado que prescribe esas actividades, roles, artefactos y prácticas para una clase de proyectos.

Scope

Esta área abarca modelos de procesos prescriptivos como los modelos en cascada, incremental y en espiral; enfoques iterativos y evolutivos; metodologías ágiles y sus valores y ceremonias; prácticas Lean y DevOps para la integración y entrega continuas; y marcos de mejora de procesos como CMMI e ISO/IEC 12207. Trata tanto la estructura abstracta de los procesos como los factores humanos y organizativos que rigen su adopción.

Sub-topics

Core questions

  • ¿Cómo deben ordenarse e iterarse las actividades de especificación, diseño, implementación y validación?
  • ¿Cuándo son preferibles los procesos basados en planes (predictivos) a los ágiles (adaptativos)?
  • ¿Cómo se puede medir, evaluar y mejorar incrementalmente un proceso?
  • ¿Cómo influyen la estructura del equipo, la comunicación y las herramientas en la eficacia de un proceso?

Key theories

Modelo en cascada (dirigido por el plan)
Un modelo secuencial en el que los requisitos, el diseño, la implementación, la verificación y el mantenimiento siguen como fases discretas con aprobación formal, muy adecuado para requisitos estables y bien comprendidos, pero criticado por su poca adaptación al cambio.
Modelos en espiral y basados en riesgos
El modelo en espiral de Boehm organiza el desarrollo como ciclos repetidos, cada uno impulsado por la identificación y resolución de los mayores riesgos del proyecto, unificando el desarrollo iterativo con la gestión explícita de riesgos.
Desarrollo ágil e iterativo-incremental
Los métodos ágiles entregan software funcional en iteraciones cortas, favoreciendo la colaboración con el cliente, la respuesta al cambio y la retroalimentación frecuente sobre la planificación y documentación iniciales pesadas.

Clinical relevance

La elección del proceso afecta directamente la previsibilidad de la entrega, las tasas de defectos, la capacidad de absorber requisitos cambiantes y la productividad del equipo; la práctica moderna combina la iteración ágil con la automatización de DevOps para acortar los ciclos de retroalimentación mientras se preserva la calidad y el cumplimiento.

Evidence & guidelines

La norma ISO/IEC/IEEE 12207 estandariza los procesos del ciclo de vida del software, y el área de conocimiento de Procesos de Ingeniería de Software SWEBOK y CMMI proporcionan marcos de referencia ampliamente utilizados para la definición y mejora de procesos.

History

El desarrollo temprano de grandes sistemas popularizó los modelos por fases y basados en documentos en la década de 1970. Boehm introdujo la iteración explícita basada en riesgos en 1988, el Rational Unified Process formalizó el desarrollo iterativo en la década de 1990, y el Manifiesto Ágil de 2001 cristalizó métodos ligeros y tolerantes al cambio que, con DevOps en la década de 2010, se generalizaron.

Debates

Procesos dirigidos por el plan versus procesos ágiles
Un debate de larga data se refiere a cuándo los procesos predictivos y con mucha documentación superan a los ágiles adaptativos; el consenso es que el equilibrio adecuado depende de la estabilidad de los requisitos, las restricciones regulatorias, el tamaño del equipo y el costo del cambio tardío.

Key figures

  • Winston W. Royce
  • Barry Boehm
  • Kent Beck
  • Watts Humphrey

Related topics

Seminal works

  • royce1970
  • boehm1988
  • sommerville2015

Frequently asked questions

¿Está obsoleto el modelo en cascada?
La cascada secuencial pura rara vez es ideal para proyectos con requisitos cambiantes, pero su estructura por fases aún informa a los dominios regulados y críticos para la seguridad y subyace a los modelos híbridos; la mayoría de los proyectos modernos utilizan variantes iterativas o ágiles que conservan la especificación y validación disciplinadas.
¿Cuál es la diferencia entre un proceso y una metodología?
Un proceso describe las actividades y su ordenación, mientras que una metodología es una prescripción más completa y nombrada que también fija roles, artefactos, ceremonias y prácticas; Scrum y el Rational Unified Process son metodologías que instancian procesos iterativos o ágiles.

Methods for this concept

Related concepts