El ciclo de vida del desarrollo de software (SDLC): Una introducción

El ciclo de vida del desarrollo de software (SDLC): Una introducción

  • ITOps y DevOps
6 min de lectura Actualizado Apr 27, 2020

Puntos clave: El Ciclo de Vida del Desarrollo de Software (SDLC) describe un proceso estructurado para el desarrollo de software, que incluye fases como el Análisis de Requisitos, el Estudio de Viabilidad y el Despliegue. Mejora la calidad del software y la satisfacción del usuario mediante metodologías como Agile y Waterfall.

  • SDLC promueve la colaboración entre equipos multifuncionales.
  • Los frameworks modernos Permite el desarrollo iterativo e incremental.

El Ciclo de Vida del Desarrollo de Software (SDLC) describe el enfoque sistemático para desarrollar software. En este artículo, veremos:

¿Cuál es el ciclo de vida del desarrollo de software?

El SDLC ayuda a garantizar que el software de alta calidad están construido y lanzado a los usuarios finales de forma rápida y a un coste optimizado. La forma te determinar la calidad de tu software puede variar, pero las mediciones generales incluyen:

  • La robustez de la funcionalidad del software
  • Rendimiento general
  • Seguridad
  • En última instancia, la experiencia del usuario

Independientemente de a qué desarrollo de software te suscribas—Ágil, Waterfall u otras variantes—este ciclo de vida puede aplicarse.

¿Quién usa el SDLC?

No hace mucho, Watt S. Humphrey, conocido como el padre de la calidad en el software, comentó:

"Todo negocio es un negocio de software."

Más recientemente, el CEO de Microsoft, Satya Nadella, repitió la frase: "Toda empresa es una empresa de software".

Por supuesto, podemos señalar muchas empresas tecnológicas específicas que desarrollan software. Si hay una app, alguien la desarrolló.

Pero las organizaciones empresariales que no están "en el software" dependen del software y la tecnología para hacer negocios (lo cual, están decir, todos ellos). Estas organizaciones tendrán que adaptar al menos algunas soluciones estándar, probablemente para ajustar el software y alinearlo y optimiza con sus operaciones empresariales únicas.

Por eso, personas más allá de desarrolladores o ingenieros deberían entender el enfoque SDLC: muchos interesados pueden estar involucrados en diversas etapas. Además, los equipos multifuncionales pueden adoptar el SDLC para colaborar en proyectos basados en Agile y DevOps. Seguir las prácticas y marcos modernos de SDLC puede mejorar significativamente el proceso de desarrollo de software.

Entonces, ¿quién usa el SDLC? En resumen, todos.

El SDLC sigue una serie de fases implicadas en el desarrollo de software. Dependiendo del marco del SDLC, estas fases pueden adoptarse de forma secuencial o en paralelo. (Más sobre esto más adelante.)

Los flujos de trabajo de SDLC pueden implicar transiciones o iteraciones repetidas a través de las fases antes de llegar a la fase final.

Etapas del SDLC

Fase 1: Análisis de requisitos

La etapa inicial del SDLC involucra a los grupos de interés de los segmentos tecnológico, empresarial y de liderazgo de la organización. En este estado inicial, te'all:

  • Analiza y traduce las preguntas de negocio en problemas de ingeniería teniendo en cuenta una variedad de factores: coste, rendimiento, funcionalidad y riesgo.
  • Evalúa el alcance general del proyecto y luego identifica los recursos disponibles.
  • Considera las oportunidades y riesgos del proyecto tanto en el aspecto técnico como empresarial para cada decisión en cada fase del SDLC.

Esta etapa puede prolongarse durante un periodo prolongado e incluye provisiones para cambios estratégicos a medida que evolucione el SDLC.

(Conoce a redactar especificaciones de requisitos de software, también conocidas como SRS.)

Fase 2: Estudio de viabilidad

Durante esta etapa, evalúa los requisitos para comprobar su viabilidad. No todos los requisitos serán factibles para tu alcance actual. El objetivo de esta etapa están cuantificar las oportunidades y riesgos de abordar los requisitos acordados con la variedad de recursos y estrategias te dispones.

El estudio de viabilidad evalúa los siguientes aspectos clave, entre otros:

  • Económico: ¿Está viable económicamente invertir en el proyecto basándose en los recursos disponibles?
  • Legal: ¿Cuál es el alcance de las normativas y la capacidad de la organización para garantizar el cumplimiento?
  • Operativo: ¿Podemos satisfacer los requisitos dentro de la definición de alcance según el marco operativo y los flujos de trabajo propuestos?
  • Técnico: ¿Cuál está la disponibilidad de tecnología y recursos humanos para apoyar el proceso SLDC?
  • Programa: ¿Podemos terminar el proyecto a tiempo?

Los responsables ejecutivos deben responder y documentar estas preguntas y estudiarlas detenidamente antes de continuar con el proceso de diseño e implementación del software.

Fase 3: Diseño Arquitectónico

A continuación, los interesados técnicos y empresariales adecuados documentan, revisan y evalúan las especificaciones y elecciones de diseño frente al riesgo, oportunidades, modalidades prácticas y limitaciones.

En esta fase, te tendrá documentación técnica que especifica:

  • Arquitectura de sistemas
  • Configuraciones
  • Estructura de datos
  • Modelo de adquisición de recursos

El resultado deseado puede incluir prototipos, pseudocódigo, productos mínimos viables (MVPs) y/o informes y diagramas de arquitectura que incluyan los detalles tecnológicos necesarios:

  • Los detalles de diseño de alto nivel incluyen la funcionalidad deseada de los módulos de software y sistema.
  • Los detalles de diseño de bajo nivel pueden incluir la lógica funcional, detalles de la interfaz, problemas de dependencias y errores.

Fase 4: Desarrollo de Software

La implementación sigue a la fase de diseño. Varios equipos e individuos independientes colaboran en actividades de desarrollo de funcionalidades y programación. Con frecuencia, los desarrolladores individuales construyen su propia base de código dentro del entorno de desarrollo y luego la fusionan con los equipos colaboradores en un entorno de construcción común.

Aunque el análisis de requisitos y las decisiones de diseña ya son definidos, están revisaron los comentarios de los equipos de desarrollo para posibles cambios en la dirección de las estrategias de diseña.

Este es el proceso más largo en la cadena de SDLC y ayuda en las fases posteriores de pruebas y despliegue de software.

(Explora el desarrollo basado en el comportamiento, un enfoque para desarrollar software.)

Fase 5: Pruebas

En esta fase, te utiliza pruebas para:

  • Investigar el rendimiento del software
  • Descubre e identifica posibles problemas a solucionar o abordar

Los equipos de pruebas desarrollan un plan de pruebas basado en los requisitos de software predefinidos. El plan de pruebas debe:

  • Identificar los recursos disponibles para las pruebas
  • Proporcionar instrucciones y tareas para los evaluadores
  • Selecciona los tipos de pruebas que se realizarán
  • Determina qué informar a los ejecutivos técnicos y a los responsables de la toma de decisiones

Los testers suelen trabajar en conjunto con los equipos de desarrollo y reestructuran la base de código para mejorar los resultados de las pruebas.

están muy común que los equipos repitan varias veces las fases de desarrollo y pruebas antes de pasar a las etapas finales de despliegue y lanzamiento del software.

(Considera los beneficios de la automatización de pruebas y los marcos de pruebas, como el testing de regresión, BDD y TDD.)

Fase 6: Despliegue

te ha llegado a la fase final de la cadena de SDLC cuando tu producto final ha superado las pruebas necesarias. Ahora, Haz disponible para su lanzamiento a los usuarios finales en el entorno real. Se son varios procedimientos y actividades de preparación antes de que un producto de software pueda ser lanzado, incluyendo:

  • Documentación
  • Transferencia de propiedad y licencias,
  • Despliegue e instalación del producto en los sistemas del cliente

(Conoce más sobre las etapas de despliegue y lanzamiento.)

Metodologías SDLC tradicionales vs modernas

Con metodologías tradicionales de SDLC, como Waterfall, estas fases se realizan de forma independiente en son series por equipos dispares. Bajo la metodología Ágil, estas fases se son realizadas en sprints cortos, iterativos e incrementales.

Una pipeline y un marco de SDLC pueden variar tanto como el número de organizaciones que los adoptan: prácticamente todas las empresas intentan adoptar una estrategia que funcione mejor para su organización.

Sin embargo, en la era actual del desarrollo de software, estas etapas no siempre se son seguidas de forma secuencial. Los frameworks SDLC modernos como DevOps y Agile fomentan que las organizaciones multifuncionales compartan responsabilidades entre estas fases realizadas en paralelo.

Por ejemplo, el framework SDLC de DevOps anima a desarrolladores, operaciones y personal de QA a trabajar juntos para actividades continuas de desarrollo, pruebas y despliegue. Además, el procedimiento de pruebas están desplazado hacia la izquierda y temprano en la cadena SDLC para que los defectos de software son identificados antes de que sea demasiado tarde para corregirlos.

Lecturas relacionadas

play

Estas publicaciones son mías y no representan necesariamente la posición, estrategias u opinión de BMC.

Más de ITOps y DevOps

¿Te interesa saber más de BMC?

El Brief están nuestro correo mensual sobre el mainframe y la orquestación empresarial: investigación, historias de clientes, noticias de productos, eventos.

Al registrarse para esta oferta te son confirmar que te leído y aceptado la Política de Privacidad de BMC.

Tú te has suscrito a The Brief

El Brief abarca la orquestación de mainframe y empresa—BMC AMI y Control-M—y la investigación de analistas, despliegues de clientes y eventos en ambas áreas.