Resultado de aprendizaje (Temas del Primer Parcial)

 Resultado de aprendizaje (Temas del Primer Parcial)

Tema 1.1 - Introducción a DevOps.

Como resultado de los temas vistos durante este primer parcial me llevo conmigo el qué es DevOps, pudiendo comentar que sin duda la implementación de DevOps es una buena alternativa para poder mejorar en ciertos procesos o mejor dicho en el resultado de algún proyecto.
La filosofía de trabajo es una herramienta dónde ayuda a que las partes operadoras y desarrolladoras tengan una comunicación eficaz, dando como consecuencia trabajos, proyectos sin duda mejor.
Trabajando con el ciclo de vida que conforma a DevOps tenemos 7 fases que hay que recorrer para aplicar DevOps de manera adecuada. Además, de que es una realidad siguiendo estás fases que son un conjunto de procedimientos que requieren de un cambio cultural en las empresas y que permiten construir equipos más ágiles y eficientes.


NORMAS Y ESTÁNDARES

En cuanto a las normas y estándares, descubrí que existen varias, tales como:

ISO/IEC/IEEE 15288:2015

Este estándar establece un marco común de descripciones de procesos para describir el ciclo de vida de los sistemas creados por humanos. Define un conjunto de procesos y terminología asociada desde un punto de vista de ingeniería. Estos procesos se pueden aplicar en cualquier nivel de la jerarquía de la estructura de un sistema. Los conjuntos seleccionados de estos procesos se pueden aplicar a lo largo del ciclo de vida para administrar y realizar las etapas del ciclo de vida de un sistema. Esto se logra mediante la participación de todas las partes interesadas, con el objetivo final de lograr la satisfacción del cliente. (UNE Normalización Española, 2015)

ISO/IEC/IEEE 12207:2017

De acuerdo con Selene Rouvier, el Estándar ISO/IEC 12207, es un marco de referencia que contiene los procesos, actividades y tareas involucradas en el desarrollo, explotación y mantenimiento de un producto software, abarcando la vida del sistema desde la definición de requisitos hasta que se deja de utilizar. Dicho estándar se encarga de todo lo relacionado al ciclo de vida del software, desde la conceptualización de ideas hasta la retirada y consta de procesos para la adquisición y suministro de proyectos y servicios del software, estableciendo pautas para su control y mantenimiento.

ISO/IEC/IEEE 32675:2022

Esta norma tiene como objetivo poder identificar las practicas adecuadas en base a las actividades, el desarrollo y otros procesos que se interesen por la norma y estas se puedan comunicar y desplegar sistemas y aplicaciones de forma segura y fiable.
ISO/IEC/IEE 32675:2022 dice que particularmente desde la perspectiva de DevOps, a menudo hay términos alternativos para roles o procesos similares. La aplicabilidad de los términos al desarrollo, las operaciones, las pruebas, la seguridad y el rendimiento se consideró por separado para que la terminología utilizada fuera aplicable en todos los casos (ISO, 2022).

Tema 1.2 - Planeación del proceso de desarrollo de software.

Como resultado de este tema, puedo decir que la planeación en el desarrollo de software es importante ya que ésta nos ayuda a alcanzar los objetivos y a desarrollar los planes de acción para implementar distintas estrategias. La planeación por otro lado nos ayuda a proponer objetivos, establecer requerimientos y a señalar el plan que se llevara a cabo para poder alcanzar las metas. Nos permite coordinar las tareas, actividades, llevar un registro de control y evaluar los resultados. Este comprende de un análisis previa de la situación para el cual se quiera implementar dicho software, para así también definir cada una de las etapas y tareas que se distribuirán con el equipo de desarrollo para poder realizar dichas actividades.
Por otro lado, es de suma importancia tener en cuenta conocimiento de Las Metodologías Ágiles ya que traen consigo herramientas que pueden resultar muy útiles para potenciar el desarrollo de una empresa. No solo nos permiten ahorrar tiempo y dinero, sino que facilitan la interacción con los usuarios y te ayudan a crear una mejor relación con ellos.
Lo más importante antes de seleccionar una metodología es realizar un estudio de las características del proyecto que vamos a elegir, y según sus características decidir que metodología de las existentes se adapta mejor al proyecto y a los factores ambientales de la empresa.
Así también las herramientas identificadas son finalmente un buen mecanismo de apoyo para la gestión de la comunicación; sin embargo, se precisa que se deben utilizar varias herramientas para cubrir todas las actividades de los procesos, ya que no se cuenta con una herramienta especializada que haya sido creada con el objetivo particular de atender las necesidades de esta área.


Tema 1.3 - Preparación del entorno para desarrollo e integración continua.

Sobre este tema puedo comentar que el control de versiones ayuda a los equipos a resolver este tipo de problemas al realizar un seguimiento de todos los cambios individuales de cada colaborador y al contribuir a evitar que el trabajo concurrente entre en conflicto. Los cambios realizados en una parte del software pueden ser incompatibles con los que ha hecho otro desarrollador que está trabajando al mismo tiempo. Este problema debería detectarse y solucionarse de manera ordenada sin bloquear el trabajo del resto del equipo.
Además, la ventaja de realizar un flujo de desarrollo del trabajo y utilizar herramientas para el control de versiones nos ayuda a administrar la gestión de cambios, documentos, código fuente se software o cualquier sistema de software. Estas herramientas nos permiten volver en la línea del tiempo para realizar actualizaciones del sistema, ampliar funciones o corregir errores. Nos permite además trabajar con nuestro equipo colaborativo y acceder desde un servidor central, en donde se realizan acciones como update y commit. 
La integración continua nos permite como desarrolladores implementar con frecuencia los cambios en un código que se encuentran en un repositorio para así ejecutar distintas compilaciones, pruebas, verificaciones de código y control de versiones de un sistema. Esta también abarca el proceso en el que el equipo de desarrollo fusiona los cambios en el repositorio principal del proyecto.
En los proyectos el despliegue de software es parte muy importante ya que esto permite poner en marcha lo construido en un tiempo establecido, ya sea en un sistema nuevo o en uno que ya está hecho, con una nueva versión. Este esfuerzo involucra el diseño y desarrollo, análisis funcional, capacitación de arquitectura, testing, capacitación, soporte, seguridad, coordinación del equipo, etc.
Durante la etapa de despliegue se pueden aplicar distintas metodologías y flujos de trabajo para realizar las adaptaciones correspondientes. Obteniendo resultados favorables sin interrumpir los servicios.


Tema 2.1 - Técnicas y herramientas para el seguimiento de pruebas.

Lo que aprendí de este tema fue que una prueba de software es un proceso por medio del cual se evalúa la funcionalidad de un software y se intenta identificar posibles errores. Su propósito principal es asegurar que la aplicación desarrollada cumpla con los estándares y se ofrezca al cliente un producto de calidad. El proceso comprende la examinación, análisis, observación y evaluación de diferentes aspectos en el desempeño del software.
He podido comprobar que es de suma importancia conocer las técnicas y herramientas para un adecuado seguimiento de pruebas, podemos decir que las pruebas de software permiten la ejecución de un sistema con el objetivo principal de encontrar errores presentes en el mismo. Cabe mencionar que en cualquier proyecto de desarrollo de software pueden aparecer errores en cada una de las etapas del ciclo de vida, algunos de ellos incluso permanecen sin ser descubiertos, de ahí la importancia de las pruebas en desarrollo de software.




Comentarios