Presentación de la Tesis/Trabajo Final de Master del Master de Libre Software en la Universidad Rey Juan Carlos.
Tutores:
Patxi Gortázar Bellas
Micael Gallego Carrillo
This work by Ricardo Gracía Fernández - ricardogarfe [at] gmail [dot] com is licensed under a Creative Commons Attribution 3.0 Unported License.
Crear software de calidad a través del uso de las herramientas ayudados por las metodologías y procesos de desarrollo.
“El progreso, lejos de consistir en el cambio, depende de la capacidad de retención. Cuando el cambio es absoluto no queda ningún ser para mejorar y ninguna dirección se ajusta para una posible mejora: y cuando la experiencia no se conserva, como entre los salvajes, la infancia es perpetua. Aquellos que no pueden recordar el pasado están condenados a repetirlo.“George Santayana, The Life of Reason, Volume 1, 1905
Debemos ser conscientes del estado del proceso de desarrollo de software y tener constancia de la evolución para aprender de lo vivido.
Dejarnos guiar por las metodologías y procesos existentes para adaptarlos a nuestras necesidades.
Algo sencillo para el usuario es el doble de efectivo.
“Hecho es mejor que perfecto“
“Esto es, aunque valoramos los elementos de la derecha, valoramos más los de la izquierda.“
“Divide y Vencerás: resolver un problema difícil, dividiéndolo en partes más simples tantas veces como sea necesario, hasta que la resolución de las partes se torna obvia.“
Marco de trabajo que ofrece el proceso de desarrollo Iterativo e Incremental
Actúan de Catalizadores
Proceso de desarrollo guiado por pruebas.
Desarrollo dirigido por ramas (M. Fowler)
Proceso de Integración Continua.
Proceso de Entrega y Despliegue Continuo
“poner nombres a las cosas“
Application Lifecycle Management. Encargadas de la gestión del ciclo de vida del software
“Entorno de desarrollo colaborativo de Software“
El análisis generó la necesidad de crear un sistema modular que permita integrar estas herramientas del ciclo de vida de un proyecto como vehículo en la forja de desarrollo.
El conjunto de herramientas apiladas y conectadas que dan forma a la Forja para controlar el ciclo de vida el software.
Foto completa del conjunto de actores dentro de la arquitectura de SidelabCode Stack.
Se necesita un actor para orquestar la comunicación entre las herramientas y construir este entorno.
“Accción o efecto de aprovisionar, aprovisionar : abastecer.“Definición de la RAE
Abastecer, aplicado a la Ingeniería del Software el Aprovisionamiento nos provee los componentes necesarios para construir una solución.
exec { "apt-update":
command => "/usr/bin/apt-get update",
}
class { "scstack":
# Superadmin password. Will be used to access the SidelabCode Stack Console *******
sadminpass => "*******",
# Or whatever IP specified in Vagrantfile
ip => "192.168.33.10",
domain => "sidelabcode.scstack.org",
baseDN => "dc=sidelabcode,dc=scstack,dc=org",
# Your company/organization name
compname => "SidelabCode Stack version 0.4",
# A name to be displayed within Redmine
codename => "SCStack ALM Tools",
}
Configuración de la instalación de SidelabCode Stack.
Inicio
$ vagrant init
Configuración
config.vm.box = "precise64"
config.vm.network :private_network, "192.168.33.10"
config.vm.provision "puppet" do |puppet|
puppet.module_path = "modules"
end
Arranque
$ vagrant up
“Crear un marco de trabajo para Integrar el uso de la metodología Iterativa e Incremental a través de las herramientas necesarias“
Se ha conseguido integrar de forma satisfactoria la metodología Iterativa e Incremental en el marco de trabajo de SCStack.