Diferencia entre Proceso y Procedimiento contextualizado en la Ingeniería de Software

Este artículo del blog explora la DIFERENCIA entre PROCESO y PROCEDIMIENTO, dos conceptos clave en la gestión de proyectos y en el desarrollo de software. Sin duda, conocer su diferencia nos permitirá expresarnos de una mejor forma, con un lenguaje más técnico en nuestro entorno profesional.

Comenzaremos explicando el concepto de PROCESO. Un proceso es un conjunto de actividades interrelacionadas o secuenciales que tienen un objetivo específico. Se enfoca en el qué se desea lograr, es decir, se centra en el resultado final. Los procesos normalmente son amplios, estructurados y generalmente tienen una visión general del flujo de trabajo. A menudo, involucran múltiples departamentos o roles dentro de una empresa u organización. Más adelante explicaré un par de ejemplos. Por otro lado, un PROCEDIMIENTO es una descripción detallada y específica de los pasos necesarios para realizar una tarea o actividad dentro de un proceso, sí, leíste bien, dentro de un PROCESO. Se enfoca en el cómo se debe realizar algo y, generalmente, incluye instrucciones muy precisas, exactas o detalladas (como se prefiera nombrar) para garantizar que la tarea se ejecute de manera coherente y eficiente. Los procedimientos son más específicos (mayor detalle) que los procesos y buscan estandarizar las acciones para asegurar resultados consistentes. También explicaré un par de ejemplos de esto.

Si podemos RESUMIR ambos conceptos, se puede entender como que el PROCESO es el marco general que define un conjunto de actividades para alcanzar un objetivo. En cambio, el PROCEDIMIENTO son las instrucciones detalladas de cómo realizar actividades específicas dentro de un proceso. 

Debido a que este blog es sobre Ciencia y Tecnología, explicaré a continuación la diferencia en el Contexto de la Ingeniería de Software (IS).

Los conceptos de PROCESO y PROCEDIMIENTO son fundamentales para gestionar proyectos, desarrollar software de manera eficiente y garantizar la calidad en los entregables. En la Fig. 1 se ejemplifica mejor ambos conceptos.


En la Ingeniería de Software, un PROCESO se utiliza para describir el conjunto de prácticas y actividades que se deben seguir sí o sí para desarrollar software, gestionar proyectos o asegurar calidad. Es un marco general que define las fases y actividades que deben completarse para cumplir con un objetivo específico. Establece qué se debe hacer y cuándo, sin especificar todos los detalles operativos. Se adapta a diferentes situaciones, dependiendo de la metodología o enfoque adoptado. Algunos ejemplos comunes de procesos en este ámbito son:

PROCESO de Desarrollo de Software (SDLC, Software Development Life Cycle): Es un proceso general que cubre todas las etapas del ciclo de vida del software, como análisis de requisitos, diseño, implementación, pruebas, despliegue y mantenimiento. El SDL es un proceso que abarca todas las etapas de desarrollo de un software, desde la planificación hasta el mantenimiento posterior a la implementación. Sus fases son:

  • Planificación: Identificación de los requisitos y planificación del proyecto.
  • Análisis de Requisitos: Entendimiento detallado de las necesidades del cliente.
  • Diseño: Creación de arquitecturas y diagramas de flujo. 
  • Desarrollo: Implementación del software. 
  • Pruebas: Verificación de que el software cumpla con los requisitos. 
  • Despliegue: Liberación del software en el entorno de producción. 
  • Mantenimiento: Actualización y corrección de problemas post-lanzamiento. 

El PROCEDIMIENTO, por su parte, es un conjunto específico de pasos detallados para ejecutar una tarea particular dentro de un proceso. Los procedimientos son más operativos y garantizan que las actividades dentro de un proceso se realicen de manera consistente y eficiente. Muy concretamente, especifica cómo hacer algo, proporcionando instrucciones detalladas. Es más rígido y detallado, buscando consistencia y minimización de errores en la ejecución. Incluye herramientas, formatos y recursos específicos necesarios para completar la tarea.

Un ejemplo de PROCEDIMIENTO dentro del SDLC es como escribir y ejecutar Casos de Prueba:

  • Identificar los requisitos funcionales y los criterios de aceptación del sistema. 
  • Diseñar casos de prueba específicos para validar funcionalidades. 
  • Automatizar pruebas.
  • Ejecutar las pruebas. 
  • Registrar los resultados. 
  • Generar informes de pruebas.

Ahora veamos otro ejemplo: el Proceso de Gestión de Proyectos Ágiles.

PROCESO de Gestión de Proyectos Ágiles: Incluye actividades como la planificación de iteraciones (sprints), reuniones diarias (stand-ups), revisión de tareas y entrega de incrementos del producto. El proceso ágil se enfoca en la entrega incremental de productos de software mediante sprints cortos y reuniones diarias. Se basa en la colaboración constante con el cliente y en la adaptación a cambios en los requisitos a lo largo del ciclo de vida del proyecto. Sus fases son las siguientes:

  • Planificación de Sprints: Determinación de las tareas que se completarán durante un sprint (generalmente de 2 a 4 semanas). 
  • Reuniones Diarias (Stand-ups): Reuniones breves donde cada miembro del equipo reporta lo que ha hecho, lo que hará y los obstáculos que enfrenta. 
  • Revisión del Sprint: Evaluación de lo que se completó durante el sprint. 
  • Retrospectiva: Reflexión sobre el proceso de trabajo para identificar áreas de mejora. 

Un ejemplo de PROCEDIMIENTO dentro del Proceso Ágil es la Priorización del Backlog:

  • Revisar las historias de usuario en el backlog del producto. 
  • Asignar prioridades utilizando una metodología como MoSCoW (Must have, Should have, Could have, Won’t have). 
  • Dividir historias grandes en tareas más pequeñas y manejables. 
  • Estimar los puntos de historia para cada tarea utilizando técnicas como Planning Poker. 
  • Aprobar el backlog priorizado con el equipo y los stakeholders.

Finalmente, el PROCESO es un marco estructurado que define un conjunto de actividades para lograr un objetivo, proporcionando una visión general de lo que se necesita hacer. El PROCEDIMIENTO se enfoca en las acciones detalladas y las instrucciones específicas sobre cómo llevar a cabo una tarea dentro de un proceso. Ambos son fundamentales para la ingeniería de software y la informática, ya que permiten organizar y ejecutar proyectos de manera eficiente y consistente, garantizando tanto el cumplimiento de objetivos como la calidad en los resultados. Con esto finalizamos esta entrada del blog y espero que ambos conceptos queden ahora más claros.

Es cuánto.

Si quieres citar este artículo en tu texto, documento, etc. puedes hacerlo de la siguiente forma:

Aguilar-Calderón, J. A. (27 de enero de 2025). Diferencia entre Proceso y Procedimiento contextualizado en la Ingeniería de Software. ANOVA LAB MX. https://anovalabmx.blogspot.com/2025/01/diferencia-entre-proceso-y.html

Referencias 

  • IEEE Computer Society. (2020). Guide to the Software Engineering Body of Knowledge (SWEBOK). 
  • IEEE. Sommerville, I. (2015). Software Engineering (10th ed.). Pearson. 
  • Pressman, R. S., & Maxim, B. R. (2020). Software Engineering: A Practitioner's Approach (9th ed.). McGraw-Hill. 
  • ITIL Foundation. (2019). ITIL Foundation: ITIL 4 Edition. Axelos. 
  • Rubin, K. S. (2012). Essential Scrum: A Practical Guide to the Most Popular Agile Process. Addison-Wesley.
  • Agile Alliance. (2020). The Agile Manifesto. Recuperado de https://www.agilealliance.org/agile101/the-agile-manifesto/
  • Boehm, B. W. (1988). A Spiral Model of Software Development and Enhancement. ACM SIGSOFT Software Engineering Notes, 11(4), 14-24. https://doi.org/10.1145/29050.29051

Comentarios

Mi foto
José Alfonso Aguilar
Mazatlán, Sinaloa, Mexico
Me gusta aprender y escribir sobre tecnología y desarrollo. Soy Ingeniero en Sistemas Computacionales, trabajo como Profesor-Investigador en la Facultad de Informática Mazatlán, de la Universidad Autónoma de Sinaloa. México. Me gusta combinar la docencia-investigación con el giro profesional del desarrollo de software y gestión de proyectos de innovación.

Entradas más populares de este blog

Historia y versiones de HTML (HyperText Markup Language)

Todo lo que debes saber sobre el Model-View Controller (MVC) para Aplicaciones Web

Font Awesome, como utilizarlo para mejorar el diseño de nuestro sitio o aplicación web