Está en la página 1de 6

Informe metodología ágil

seleccionada y herramientas a utilizar

“Nalubank”

INGENIERIA DE SOFTWARE II

Institución Universitaria Pascual Bravo

Ayala Serna Antony

30/08/2023
NaluBank
Antes de indicar cual es la metodología ágil a seleccionar, primero se pondrá en contexto del
proyecto a realizar, ya que si no entendemos el alcance de este no se entendería el por qué se optó
por esta.
Antecedente:
Actualmente dentro de una sociedad que se mueve por medio de plataformas digitales, existen
varias restricciones hacia los usuarios al momento de utilizar alguna herramienta que les facilite,
por medio de una App, sitio web o algún software diseñado para simplificar tareas del día a día, sin
embargo, hoy en día, en Colombia existe un inconveniente al momento de realizar transferencias
electrónicas desde un banco a otro (transferencias interbancarias), generando consigo retrasos en
pagos de obligaciones, compra de productos, pago a un servicio de entretenimiento, entre otros. Ya
que, por lo general este tipo de movimientos bancarios pueden tardar en ejecutarse entre 24 a 72
horas hábiles, dependiendo desde la entidad bancaria transmisora y el banco receptor.
Hoy por hoy, existe una herramienta que cumple está función, pero no de manera general, ya que
está, por lo general es utilizada para pagar algún servicio o producto que maneja alguna compañía.
Este software es PSE, el cual permite realizar, solamente pagos de algún servicio que se esté
prestando con alguna entidad, sin embargo, está no permite realizar transferencias directas entre
cuentas que sean de diferentes entidades bancarias y pertenezcan a personas naturales.
Por ende, se creó la idea de NaluBank, una herramienta o extensión que se instauraría en cada una
de las APPS, sitios web o diferentes medios que manejan las entidades bancarias a nivel nacional,
permitiendo realizar las transferencias interbancarias de forma inmediate, sin necesidad de tener que
esperar un largo tiempo para que la transacción se ejecute con éxito. Actualmente el público
objetivo, que se beneficiaría por este proyecto serían las personas naturales, segmentos pyme y
micro pyme que utilizan este tipo de aplicaciones en su día a día para facilitar el comercio dentro
del país.

Nombre del Método ágil seleccionado


La metodología ágil seleccionada para el desarrollo de este proyecto es la Extreme Programming o
también conocida como XP.

Importancia del método seleccionado


Seleccionamos la metodología XP, ya que, por las características del proyecto y los usuarios finales
de este, se requiere una mayor planeación y desarrollo del mismo, por lo que es necesario
implementar una metodología que permita la adaptación a los cambios y sea moldeable, y en ese
ítem la metodología XP es la que se adapta a las necesidades que necesita el grupo de desarrollo y
los clientes finales.
Además de lo mencionado, la XP, por las diferentes fases que cuenta, nos permite llevar un orden
entre usuarios-cliente-equipo, permitiéndonos tener una proyección real de lo que se espera, ya que
el proyecto a desarrollo es altamente modificable, por lo que es pertinente utilizar una metodología
que nos permita tener flexibilidad al cambio para así mejorar el producto final.
Justifique el método seleccionado teniendo en cuenta las características de su proyecto
Como se ha venido mencionando en algunas partes del documento, la metodología XP nos permite
implementar diferentes prácticas para lograr el objetivo del desarrollo de software, además de
prestar la adaptabilidad necesaria para los cambios constantes que puede tener la producción, ya que
esta herramienta va dirigida no solo a personas del común, sino a entidades bancarias, las cuales
serán los principales inversores.
Por la magnitud del proyecto y sus posibles cambios en el camino, se determina la XP como la
metodología optima para el desarrollo. Esta decisión se toma, ya que por las diferentes prácticas que
maneja la Extreme Programming se es más fácil organizar, ejecutar y finalizar las ideas que se
presentan. Además, como es necesario trabajar de la mano con los stakeholders, esta metodología
nos permite utilizar una de las prácticas más controversiales que hay dentro de la XP, que es la
programación por parejas. Como el proyecto está destinado a diversas entidades bancarias, es
necesario trabajar en conjunto con los desarrolladores que tienen los bancos, para seguir los
lineamientos establecidos y que el código sea lo más optimo y fácil de comprender para todas las
partes involucradas.
Adicional a esto, se deben de entregar avances constantes a medida que se va avanzando con el
proyecto, por consecuencia se deben realizar pruebas antes de los entregables para evitar
inconformidades con los clientes finales. Por ende, un diseño simple nos permite realizar avances
significativos dentro del proyecto, además de seguir la planificación establecida desde el principio y
generar la satisfacción del cliente y los usuarios finales.
En el párrafo anterior se puede ver como las prácticas que maneja la metodología XP se
complementan en la creación de la herramienta, esta es una de las razones principales por la que se
opto por la XP, ya que incluye todas las herramientas (prácticas básicas) para el correcto desarrollo
del software.
Principales características del método seleccionado.
Actualmente dentro de la metodología XP existen unas prácticas básicas que nos permite
comprender hacia donde se desea llegar con el proyecto, sin embargo, una de las ventajas de la XP
es que sus métodos son moldeables, este nos permite modificar, agregar o eliminar alguna de estas
practicas a implementar en el desarrollo del software, por ende, dentro del siguiente esquema se
resaltas las fases más importantes a resaltar dentro de la creación del proyecto.
FASE 1: Planificación
Según la identificación de las historias de usuario, se priorizan y se descomponen en mini-
versiones. La planificación se va a ir revisando. Cada tres semanas aproximadamente de iteración,
se debe obtener un software útil, funcional, listo para probar y lanzar.

FASE 2: Diseño
En este paso se intentará trabajar con un código sencillo, haciendo lo mínimo imprescindible para
que funcione. Se obtendrá el prototipo. Además, para el diseño del software orientado a objetos, se
crearán tarjetas CRC (Clase-Responsabilidad-Colaboración).

FASE 3: Codificación «de todos»


La programación aquí se hace «a dos manos», en parejas en frente del mismo ordenador. Incluso, a
veces se intercambian las parejas. De esta forma, nos aseguramos de que se realice un código más
universal, con el que cualquier otro programador podría trabajar y entender. Y es que deber parecer
que ha sido realizado por una única persona. Así se conseguirá una programación organizada y
planificada.

FASE 4: Pruebas
Se deben realizar pruebas automáticas continuamente. Al tratarse normalmente de proyectos a corto
plazo, este testeo automatizado y constante es clave. Además, el propio cliente puede hacer pruebas,
proponer nuevas pruebas e ir validando las mini-versiones.

FASE 5: Lanzamiento
Si hemos llegado a este punto, significa que hemos probado todas las historias de usuario o mini-
versiones con éxito, ajustándonos a los requerimientos de los clientes. Tenemos un software útil y
podemos incorporarlo en el producto.

Herramientas seleccionadas y principales características

 Tableros Kanban: Un tablero de Kanban es una herramienta ágil de gestión de proyectos


diseñada para ayudar a visualizar el trabajo, limitar el trabajo en curso y maximizar la
eficiencia (o el flujo). Puede ayudar tanto a los equipos ágiles como a los de DevOps a
definir el orden de su trabajo diario. Los tableros de Kanban utilizan tarjetas, columnas y la
mejora continua para ayudar a los equipos tecnológicos y de servicios a comprometerse con
la cantidad de trabajo adecuada y, por supuesto, a llevarla a cabo.

Sus principales características son:


1. Señales visuales: una de las primeras cosas que observarás en un tablero de
Kanban son las tarjetas visuales (adhesivos, tickets, etc.). Los equipos de Kanban
escriben todos sus proyectos y elementos de trabajo en tarjetas, generalmente uno
por tarjeta. Para los equipos ágiles, cada tarjeta podría encapsular una historia de
usuario. Sobre el tablero, estas señales visuales ayudan a los compañeros de equipo
y a las partes interesadas a discernir rápidamente en qué está trabajando el equipo.
2. Columnas: otra de las señas de identidad de los tableros de Kanban son las
columnas. Cada columna representa una actividad específica que, en conjunto,
conforman un “flujo de trabajo”. Las tarjetas van moviéndose por el flujo de trabajo
hasta que este termina. Los flujos de trabajo pueden ser algo tan sencillo como “Por
hacer”, “En curso” y “Terminado” o pueden ser mucho más complejos.
3. Límites del trabajo en curso: los límites del trabajo en curso son el número
máximo de tarjetas que puede haber en una columna en un momento dado. Una
columna con un límite de trabajo en curso de tres no puede contener más de tres
tarjetas. Cuando la columna está “al máximo”, el equipo debe concentrarse en esas
tarjetas y hacer que avancen antes de que puedan entrar tarjetas nuevas en esa etapa
del flujo de trabajo. Estos límites del trabajo en curso resultan vitales para exponer
los cuellos de botella del flujo de trabajo y maximizar el flujo. Dichos límites te
brindan una señal de alerta temprana de que te has comprometido a asumir
demasiado trabajo.
4. Punto de compromiso: los equipos de Kanban suelen tener un backlog para su
tablero. Es aquí donde los clientes y los compañeros de equipo plantean ideas para
proyectos que el equipo puede adoptar cuando esté listo para ello. El punto de
compromiso es el momento en que el equipo adopta una idea y se inicia el trabajo
en el proyecto.
5. Punto de entrega: el punto de entrega es el final del flujo de trabajo de un equipo
de Kanban. Para la mayoría de los equipos, el punto de entrega es el momento en el
que el producto o servicio está en manos del cliente. El objetivo del equipo consiste
en llevar las tarjetas desde el punto de compromiso hasta el punto de entrega cuanto
antes. El tiempo transcurrido entre ambos es lo que se conoce como “plazo”. Los
equipos de Kanban mejoran continuamente para acortar al máximo los plazos.

 Devops: Los equipos que adoptan la cultura, las prácticas y las herramientas de DevOps
mejoran el rendimiento y crean productos de más calidad en menos tiempo, lo que aumenta
la satisfacción de los clientes. Esta mejora de la colaboración y la productividad es
fundamental también para alcanzar objetivos de negocio como estos:

1. Reducción del tiempo de comercialización.


2. Adaptación al mercado y a la competencia.
3. Mantenimiento de la estabilidad y la confiabilidad del sistema.
4. Mejora del tiempo medio de recuperación.

 Integración continua: Con la integración continua, los desarrolladores envían los cambios
de forma periódica a un repositorio compartido con un sistema de control de versiones
como Git. Antes de cada envío, los desarrolladores pueden elegir ejecutar pruebas de
unidad local en el código como medida de verificación adicional antes de la integración. Un
servicio de integración continua crea y ejecuta automáticamente pruebas de unidad en los
nuevos cambios realizados en el código para identificar inmediatamente cualquier error.

Por lo tanto, los principales beneficios serían:

1. Mejore la productividad de desarrollo


2. Encuentre y arregle los errores con mayor rapidez
3. Entregue las actualizaciones con mayor rapidez

También podría gustarte