INTRODUCCIÓN
La metodología RAD surge como predecesora a las
metodologías ágiles y con ella se desarrollaron distintas herramientas
automatizadas basadas en sus características y beneficios.
En este documento analizaremos que es lo que
caracteriza a la herramienta GitHub como una ajustable a la metodología RAD
para el desarrollo rápido de proyectos.
Primero hay que mencionar que Git es un sistema de
control de versiones distribuido, gratis, open source, rápido y eficiente y
Github es una plataforma web para alojar repositorios de código usando el
sistema de Git.
Índice
ANTECEDENTES
DESCRIPCIÓN
ESTRUCTURA
FUNCIONES
RELACIÓN CON LA METODOLOGÍA
RAD
EJEMPLO DE OPERACIÓN DE
LA HERRAMIENTA GITHUB.
CONCLUSIONES
ANTECEDENTES
Git es un software de control de versiones diseñado
por Linus Torvalds, pensando en la eficiencia y la confiabilidad del
mantenimiento de versiones de aplicaciones cuando éstas tienen un gran número
de archivos de código fuente. Su propósito es llevar registro de los cambios en
archivos de computadora y coordinar el trabajo que varias personas realizan
sobre archivos compartidos.
El núcleo de Linux es un proyecto de software de
código abierto con un alcance bastante grande. Durante la mayor parte del
mantenimiento del núcleo de Linux (1991-2002), los cambios en el software se
pasaron en forma de parches y archivos. En 2002, el proyecto del núcleo de
Linux empezó a usar un DVCS propietario llamado BitKeeper.
En 2005, la relación entre la comunidad que
desarrollaba el núcleo de Linux y la compañía que desarrollaba BitKeeper se
vino abajo, y la herramienta dejó de ser ofrecida gratuitamente. Esto impulsó a
la comunidad de desarrollo de Linux (y en particular a Linus Torvalds, el
creador de Linux) a desarrollar su propia herramienta basada en algunas de las
lecciones que aprendieron durante el uso de BitKeeper. Algunos de los objetivos
del nuevo sistema fueron los siguientes:
- · Velocidad
- · Diseño sencillo
- · Fuerte apoyo al desarrollo no lineal (miles de ramas paralelas)
- · Completamente distribuido
- · Capaz de manejar grandes proyectos (como el núcleo de Linux) de manera eficiente (velocidad y tamaño de los datos).
Desde su nacimiento en 2005, Git ha evolucionado y
madurado para ser fácil de usar y aún conservar estas cualidades iniciales. Es
tremendamente rápido, muy eficiente con grandes proyectos, y tiene un increíble
sistema de ramificación (branching) para desarrollo no lineal
DESCRIPCIÓN
● Monitorea
los cambios que se hacen en un proyecto.
● Fácil
corrección de errores
Estados:
*Working directory: se edita y se trabaja con el
código.
*Staging Area: se eligen archivos que ya estén listos.
*Registro del proyecto
ESTRUCTURA
Github trabaja con Git.Lo que hace diferente a Git es
cómo modela sus datos. La mayoría de los demás sistemas almacenan la
información como una lista de cambios en los archivos. Estos sistemas (CVS)
modelan la información que almacenan como un conjunto de archivos y las
modificaciones hechas sobre cada uno de ellos a lo largo del tiempo.
En cambio, Git modela sus datos más como un conjunto
de fotografías de un mini sistema de archivos. Cada vez que confirmas un
cambio, o guardas el estado de tu proyecto en Git, él básicamente hace una foto
del aspecto de todos tus archivos en ese momento, y guarda una referencia a esa
fotografía. Para ser eficiente, si los archivos no se han modificado, Git no
almacena el archivo de nuevo, sólo un enlace al archivo anterior idéntico que
ya tiene almacenado.
La herramienta de Github, esta básicamente
estructurada por una ventana de cambios en donde, cada vez que se haga un
cambio al código del proyecto aparecerá una notificación y a la vez podrás
visualizar cuales fueron esos cambios.
También está la ventana de historial, donde tendrás el
repositorio de todas las versiones que se han creado, y podrás consultar cada
una.
FUNCIONES
Github tiene la función de alojar tu repositorio de
código y te brinda herramientas muy útiles para el trabajo en equipo, dentro de
un proyecto. De igual manera, posee un estupendo visor de código mediante el
cual, a través del navegador, podemos consultar en un instante el contenido de
un determinado fichero.
Se puede contribuir a mejorar el software de los
demás. Para poder alcanzar esta meta, GitHub provee de funcionalidades para
hacer un fork y solicitar pulls.
Realizar un fork es simplemente clonar un repositorio
ajeno (genera una copia en tu cuenta), para eliminar algún bug o modificar
cosas de él. Una vez realizadas tus modificaciones puedes enviar un pull al
dueño del proyecto. Éste podrá analizar los cambios que has realizado
fácilmente, y si considera interesante tu contribución, adjuntarlo con el
repositorio original.
Permite que otros desarrolladores que forman parte de
la comunidad dejen comentarios sobre un código particular mediante su función
“Reviews”. De esta manera, el mismo autor del proyecto puede dejar un
comentario solicitando ayuda y recibir respuestas de la comunidad. O alguna
otra persona ha notado cierto error en el código, puede detallarlo en
comentarios para que se resuelva.
De igual forma ofrece reviews ofrece una manera de
protección de cambios en tus proyectos. Como administrador de un proyecto
puedes configurar los repositorios de tal forma que antes de fusionar Pull
Requests éstas tengan al menos una aprobación y ninguna solicitud de cambios
por parte de otros miembros.
En el aspecto de seguridad, debido a que GitHub es una
comunidad es esencial ingresar con un usuario y contraseña, además de tener un
perfil. Pero con el paso del tiempo, debido a la gran popularidad que ha
adquirido GitHub puede ser considerado también como una tarjeta de
presentación. Teniendo esto en mente, se han mejorado ciertas funciones en la
sección de “Profiles” que permiten a cualquier persona visualizar mejor los
proyectos y experiencia del desarrollador.
Como desarrollador dentro de la comunidad de GitHub
puedes colocar los proyectos en los que has trabajado como favoritos y
aparecerán de forma destacada dentro de tu perfil. De esta forma, puedes
escoger los proyectos más representativos según tu área de especialización.
Asimismo, hay una línea de tiempo que muestra de forma
visual cuantas contribuciones has realizado en diferentes proyectos para
verificar tu grado de actividad, sin mencionar que hay una breve historia de
las acciones relevantes realizadas dentro de GitHub mes a mes.
Sin duda alguna es una gran adición para cualquier
desarrollador que quiere darse a conocer mediante GitHub.
RELACIÓN CON LA METODOLOGÍA RAD
Esta herramienta nos ayuda a una parte esencial de la
metodología ágil ya que genera lo que son las entregas continuas al cliente
para que esté enterando del avance que se lleva al respecto y pueda ver la fase
del proyecto y si en algún momento ve que algo no concuerda con lo que tiene en
mente se puede generar un cambio sin afectar a todo lo que ya se lleva de
adelanto en el proyecto.
Es una herramiento que al igual ayuda a la
documentación del proceso ya que permite agregar una descripción del proyecto
que se aprecia en el directorio casa del repositorio online lo cual ayuda a que
si alguien nuevo llega puede ver la arquitectura y el flujo de trabajo bajo el
cual se está desarrollando el proyecto.
Los desarrolladores profesionales según la página
StackOverFlow el %88.4 prefieren el uso de la herramienta git para llevar el
manejo de las versiones de un proyecto al igual que para conjuntar su sistema
centralizado y sea más eficiente el despliegue del aplicativo lo cual en una
metodología como lo es RAD ayuda mucho al desempeño de esta metodología.
EJEMPLO DE OPERACIÓN DE LA HERRAMIENTA GITHUB.
La página Github ofrece un tutorial sobre las
funciones principales que ofrece la herramienta para poder levantar subir un
ejemplo de un proyecto, los pasos que ofrece este curso son:
● Inicialización
de un repositorio
● Aprender
a visualizar si tienes cambios en el repositorio
● Aplicar
un commit y después subirlo a la plataforma
● Subir
archivos individuales y por conjunto
● Obtener
el historial de trabajo
● Bajar
cambios del repositorio Online
● Subir
cambios
● Diferencias
entre archivos
● Deshacer
los cambios
Después de hacer este tutorial es recomendable leer a
fondo la documentación oficial de git para poder descubrir más comandas para
poder hacer más eficiente en la práctica al igual que te permite ver de forma
gráfica como es el árbol de versiones que se van generando por cada comando que
ejecutes al igual que te permite especializarte en saber cumplir con las
actividades.
CONCLUSIONES
Es una herramienta que ofrece bondades para el manejo
de versiones de un proyecto entre las cuales nos permite recuperar los
contenidos pasados de un archivo.
Dónde puede que estos cambios hayan sido diferentes en
un largo tiempo.
Una característica importante es el control minucioso
sobre ese proceso, lo que le permite al final recopilar los pensamientos de la
forma que el equipo prefiera para presentar sus ideas al público.
Al igual que el tiempo de ahorro que conlleva todo
este proceso es la mejor forma en la que tu puedes agilizar el proceso de
desarrollo y mejor en el aspecto de mantenibilidad y escalabilidad.
Git junto con Github te permite hacer todas estas
cosas, y con relativa facilidad
Ajustándose así a la metodología RAD al cumplir con:
-Permite
que la productividad del usuario aumente considerablemente.
-La
vida útil del sistema también aumenta
-Distinguido
equipo de desarrollo.
-Mecanismos
de administración de proyectos
-Técnicas
que apoyen el desarrollo.
-Uso
de notaciones para llevar a cabo el modelo lógico. Herramientas CASE.
-Desarrollo
de Prototipos para hacer una proyección de la aplicación.
-Ser
muy rápido.
-Permite
trabajar en el a varias personas a la vez
-Mayor
flexibilidad.
-Menor
codificación manual.
-Ciclos
de desarrollo más pequeños.
-uso
de interfaz gráfica estándar.
-Los
entregables pueden ser fácilmente trasladados a otra plataforma.
-Visibilidad
temprana.
-Funciones
reducidas (por "timeboxing").
BIBLIOGRAFÍA
● Git. Fundamentos de Git.
Recuperado de: https://git-scm.com/book/es/v1/Empezando-Fundamentos-de-Git
● Git. Una breve historia de
Git. Recuperado de:
https://git-scm.com/book/es/v1/Empezando-Una-breve-historia-de-Git
● Wikipedia. (2018). Git.
Recuperado de: https://es.wikipedia.org/wiki/Git
● 8 Razones por las que debes
usar Git. Recuperado de : https://blog.coffeedevs.com/8-razones-para-usar-git/
● Git From the bottom Up.
Recuperado de:
https://jwiegley.github.io/git-from-the-bottom-up/5-Conclusion.html
● Apuntes-mads. Recuperado de:
https://github.com/domingogallardo/apuntes-mads/blob/master/sesiones/07-git-workflows/git-workflows.md
● Introducción a GitHub.
Recuperado de :
http://conociendogithub.readthedocs.io/en/latest/data/introduccion/
● Guia rápida de GitHub.
Recuperado de : http://wikis.fdi.ucm.es/ELP/Gu%C3%ADa_r%C3%A1pida_de_Github
● Nuevas funciones de GitHub
que alientan a los desarrolladores a trabajar en equipo. Recuperado de :
http://blog.aulaformativa.com/nuevas-funciones-de-github-desarrolladores-trabajar-en-equipo/
No hay comentarios:
Publicar un comentario