860 resultados para agile projects
Resumo:
La documentación en los proyectos software presenta una serie de problemas que afectan a la calidad del producto y al proceso software. Con frecuencia, la documentación es considerada sólo como un volumen adicional de información disponible para la organización y el equipo de desarrollo, que ralentiza la ejecución del proyecto. En este sentido, el papel de la documentación en un proyecto se concibe como una de las actividades más costosas y que consumen más tiempo y que luego no se utiliza de forma extensiva. La documentación queda, en muchos casos, relegada a un segundo plano y es poco valorada frente a la comunicación cara a cara. Existe además una relación entre la calidad de la documentación y el proceso software. Se plantean dificultades en la adopción de buenas prácticas de proceso software y el impacto del exceso de documentación percibido por parte de los gestores de proyectos en los que se quiere abordad un programa de mejora del proceso software. Recordemos que la calidad de la documentación está muy relacionada con la utilización de la misma que puedan hacer los desarrolladores. Esta tesis aborda el problema planteando un cambio de punto de vista en el proceso software, en el que la documentación pasa de ser un sub producto de las actividades y tareas del proceso a ser el elemento que vertebra el propio proceso. En este nuevo punto de vista, la definición de los propios documentos, sus propiedades y relaciones permiten establecer y guiar procesos software de cualquier tipo. Para ello, desarrolla un metamodelo para definición de metodologías centradas en documentos. Este metamodelo se confronta con una serie atributos de calidad de la documentación software para comprobar que existe una mejora sobre estos, y, por consiguiente se mejora la calidad de la documentación software en general. Por último se utiliza este metamodelo centrado en documentos para describir una metodología ágil (Scrum) y validar la capacidad y flexibilidad del metamodelo utilizando el cambio de punto de vista sobre el proceso software planteado en esta tesis. ABSTRACT The documentation in software projects has a number of problems affecting the quality of the product and the software process. Often, documentation is considered only as an additional volume of information available to the organization and development team, which slows project execution. In this sense, the role of documentation in a project is conceived as one of the most expensive activities and more time-consuming and then not used extensively. The documentation is, in many cases, relegated to the background and is undervalued compared to face-to-face communication. There is also a relationship between the quality of the documentation and software process. There are difficulties in adopting good practices of software process and the impact of excess documentation perceived by project managers in Software Process Improvement activities. We have to remember that quality of the documentation is closely related to the use of it that can make developers. This thesis addresses the problem considering a change of view on the software process, in which the documentation happens to be a by-product of the activities and tasks of the process to be the element that structures the process itself. Through this new view, the definition of the documents themselves, their properties and relationships, allow us to establish processes and guidance for develop software of any kind. To achieve this target, a metamodel for defining document-centric methodologies has been developed. This metamodel confronts a number of quality attributes software documentation to prove that there is an improvement on these, and therefore the quality of the software documentation is improved. Finally this document-centric metamodel is used to describe an agile methodology (Scrum) to validate the capability and flexibility of the metamodel, using the proposed change of view on the software process described in this thesis.
Resumo:
Esta tesis se ha realizado en el contexto del proyecto UPMSat-2, que es un microsatélite diseñado, construido y operado por el Instituto Universitario de Microgravedad "Ignacio Da Riva" (IDR / UPM) de la Universidad Politécnica de Madrid. Aplicación de la metodología Ingeniería Concurrente (Concurrent Engineering: CE) en el marco de la aplicación de diseño multidisciplinar (Multidisciplinary Design Optimization: MDO) es uno de los principales objetivos del presente trabajo. En los últimos años, ha habido un interés continuo en la participación de los grupos de investigación de las universidades en los estudios de la tecnología espacial a través de sus propios microsatélites. La participación en este tipo de proyectos tiene algunos desafíos inherentes, tales como presupuestos y servicios limitados. Además, debido al hecho de que el objetivo principal de estos proyectos es fundamentalmente educativo, por lo general hay incertidumbres en cuanto a su misión en órbita y cargas útiles en las primeras fases del proyecto. Por otro lado, existen limitaciones predeterminadas para sus presupuestos de masa, volumen y energía, debido al hecho de que la mayoría de ellos están considerados como una carga útil auxiliar para el lanzamiento. De este modo, el costo de lanzamiento se reduce considerablemente. En este contexto, el subsistema estructural del satélite es uno de los más afectados por las restricciones que impone el lanzador. Esto puede afectar a diferentes aspectos, incluyendo las dimensiones, la resistencia y los requisitos de frecuencia. En la primera parte de esta tesis, la atención se centra en el desarrollo de una herramienta de diseño del subsistema estructural que evalúa, no sólo las propiedades de la estructura primaria como variables, sino también algunas variables de nivel de sistema del satélite, como la masa de la carga útil y la masa y las dimensiones extremas de satélite. Este enfoque permite que el equipo de diseño obtenga una mejor visión del diseño en un espacio de diseño extendido. La herramienta de diseño estructural se basa en las fórmulas y los supuestos apropiados, incluyendo los modelos estáticos y dinámicos del satélite. Un algoritmo genético (Genetic Algorithm: GA) se aplica al espacio de diseño para optimizaciones de objetivo único y también multiobjetivo. El resultado de la optimización multiobjetivo es un Pareto-optimal basado en dos objetivo, la masa total de satélites mínimo y el máximo presupuesto de masa de carga útil. Por otro lado, la aplicación de los microsatélites en misiones espaciales es de interés por su menor coste y tiempo de desarrollo. La gran necesidad de las aplicaciones de teledetección es un fuerte impulsor de su popularidad en este tipo de misiones espaciales. Las misiones de tele-observación por satélite son esenciales para la investigación de los recursos de la tierra y el medio ambiente. En estas misiones existen interrelaciones estrechas entre diferentes requisitos como la altitud orbital, tiempo de revisita, el ciclo de vida y la resolución. Además, todos estos requisitos puede afectar a toda las características de diseño. Durante los últimos años la aplicación de CE en las misiones espaciales ha demostrado una gran ventaja para llegar al diseño óptimo, teniendo en cuenta tanto el rendimiento y el costo del proyecto. Un ejemplo bien conocido de la aplicación de CE es la CDF (Facilidad Diseño Concurrente) de la ESA (Agencia Espacial Europea). Está claro que para los proyectos de microsatélites universitarios tener o desarrollar una instalación de este tipo parece estar más allá de las capacidades del proyecto. Sin embargo, la práctica de la CE a cualquier escala puede ser beneficiosa para los microsatélites universitarios también. En la segunda parte de esta tesis, la atención se centra en el desarrollo de una estructura de optimización de diseño multidisciplinar (Multidisciplinary Design Optimization: MDO) aplicable a la fase de diseño conceptual de microsatélites de teledetección. Este enfoque permite que el equipo de diseño conozca la interacción entre las diferentes variables de diseño. El esquema MDO presentado no sólo incluye variables de nivel de sistema, tales como la masa total del satélite y la potencia total, sino también los requisitos de la misión como la resolución y tiempo de revisita. El proceso de diseño de microsatélites se divide en tres disciplinas; a) diseño de órbita, b) diseño de carga útil y c) diseño de plataforma. En primer lugar, se calculan diferentes parámetros de misión para un rango práctico de órbitas helio-síncronas (sun-synchronous orbits: SS-Os). Luego, según los parámetros orbitales y los datos de un instrumento como referencia, se calcula la masa y la potencia de la carga útil. El diseño de la plataforma del satélite se estima a partir de los datos de la masa y potencia de los diferentes subsistemas utilizando relaciones empíricas de diseño. El diseño del subsistema de potencia se realiza teniendo en cuenta variables de diseño más detalladas, como el escenario de la misión y diferentes tipos de células solares y baterías. El escenario se selecciona, de modo de obtener una banda de cobertura sobre la superficie terrestre paralelo al Ecuador después de cada intervalo de revisita. Con el objetivo de evaluar las interrelaciones entre las diferentes variables en el espacio de diseño, todas las disciplinas de diseño mencionados se combinan en un código unificado. Por último, una forma básica de MDO se ajusta a la herramienta de diseño de sistema de satélite. La optimización del diseño se realiza por medio de un GA con el único objetivo de minimizar la masa total de microsatélite. Según los resultados obtenidos de la aplicación del MDO, existen diferentes puntos de diseños óptimos, pero con diferentes variables de misión. Este análisis demuestra la aplicabilidad de MDO para los estudios de ingeniería de sistema en la fase de diseño conceptual en este tipo de proyectos. La principal conclusión de esta tesis, es que el diseño clásico de los satélites que por lo general comienza con la definición de la misión y la carga útil no es necesariamente la mejor metodología para todos los proyectos de satélites. Un microsatélite universitario, es un ejemplo de este tipo de proyectos. Por eso, se han desarrollado un conjunto de herramientas de diseño para encarar los estudios de la fase inicial de diseño. Este conjunto de herramientas incluye diferentes disciplinas de diseño centrados en el subsistema estructural y teniendo en cuenta una carga útil desconocida a priori. Los resultados demuestran que la mínima masa total del satélite y la máxima masa disponible para una carga útil desconocida a priori, son objetivos conflictivos. En este contexto para encontrar un Pareto-optimal se ha aplicado una optimización multiobjetivo. Según los resultados se concluye que la selección de la masa total por satélite en el rango de 40-60 kg puede considerarse como óptima para un proyecto de microsatélites universitario con carga útil desconocida a priori. También la metodología CE se ha aplicado al proceso de diseño conceptual de microsatélites de teledetección. Los resultados de la aplicación del CE proporcionan una clara comprensión de la interacción entre los requisitos de diseño de sistemas de satélites, tales como la masa total del microsatélite y la potencia y los requisitos de la misión como la resolución y el tiempo de revisita. La aplicación de MDO se hace con la minimización de la masa total de microsatélite. Los resultados de la aplicación de MDO aclaran la relación clara entre los diferentes requisitos de diseño del sistema y de misión, así como que permiten seleccionar las líneas de base para el diseño óptimo con el objetivo seleccionado en las primeras fase de diseño. ABSTRACT This thesis is done in the context of UPMSat-2 project, which is a microsatellite under design and manufacturing at the Instituto Universitario de Microgravedad “Ignacio Da Riva” (IDR/UPM) of the Universidad Politécnica de Madrid. Application of Concurrent Engineering (CE) methodology in the framework of Multidisciplinary Design application (MDO) is one of the main objectives of the present work. In recent years, there has been continuing interest in the participation of university research groups in space technology studies by means of their own microsatellites. The involvement in such projects has some inherent challenges, such as limited budget and facilities. Also, due to the fact that the main objective of these projects is for educational purposes, usually there are uncertainties regarding their in orbit mission and scientific payloads at the early phases of the project. On the other hand, there are predetermined limitations for their mass and volume budgets owing to the fact that most of them are launched as an auxiliary payload in which the launch cost is reduced considerably. The satellite structure subsystem is the one which is most affected by the launcher constraints. This can affect different aspects, including dimensions, strength and frequency requirements. In the first part of this thesis, the main focus is on developing a structural design sizing tool containing not only the primary structures properties as variables but also the satellite system level variables such as payload mass budget and satellite total mass and dimensions. This approach enables the design team to obtain better insight into the design in an extended design envelope. The structural design sizing tool is based on the analytical structural design formulas and appropriate assumptions including both static and dynamic models of the satellite. A Genetic Algorithm (GA) is applied to the design space for both single and multiobejective optimizations. The result of the multiobjective optimization is a Pareto-optimal based on two objectives, minimum satellite total mass and maximum payload mass budget. On the other hand, the application of the microsatellites is of interest for their less cost and response time. The high need for the remote sensing applications is a strong driver of their popularity in space missions. The satellite remote sensing missions are essential for long term research around the condition of the earth resources and environment. In remote sensing missions there are tight interrelations between different requirements such as orbital altitude, revisit time, mission cycle life and spatial resolution. Also, all of these requirements can affect the whole design characteristics. During the last years application of the CE in the space missions has demonstrated a great advantage to reach the optimum design base lines considering both the performance and the cost of the project. A well-known example of CE application is ESA (European Space Agency) CDF (Concurrent Design Facility). It is clear that for the university-class microsatellite projects having or developing such a facility seems beyond the project capabilities. Nevertheless practicing CE at any scale can be beneficiary for the university-class microsatellite projects. In the second part of this thesis, the main focus is on developing a MDO framework applicable to the conceptual design phase of the remote sensing microsatellites. This approach enables the design team to evaluate the interaction between the different system design variables. The presented MDO framework contains not only the system level variables such as the satellite total mass and total power, but also the mission requirements like the spatial resolution and the revisit time. The microsatellite sizing process is divided into the three major design disciplines; a) orbit design, b) payload sizing and c) bus sizing. First, different mission parameters for a practical range of sun-synchronous orbits (SS-Os) are calculated. Then, according to the orbital parameters and a reference remote sensing instrument, mass and power of the payload are calculated. Satellite bus sizing is done based on mass and power calculation of the different subsystems using design estimation relationships. In the satellite bus sizing, the power subsystem design is realized by considering more detailed design variables including a mission scenario and different types of solar cells and batteries. The mission scenario is selected in order to obtain a coverage belt on the earth surface parallel to the earth equatorial after each revisit time. In order to evaluate the interrelations between the different variables inside the design space all the mentioned design disciplines are combined in a unified code. The integrated satellite system sizing tool developed in this section is considered as an application of the CE to the conceptual design of the remote sensing microsatellite projects. Finally, in order to apply the MDO methodology to the design problem, a basic MDO framework is adjusted to the developed satellite system design tool. Design optimization is done by means of a GA single objective algorithm with the objective function as minimizing the microsatellite total mass. According to the results of MDO application, there exist different optimum design points all with the minimum satellite total mass but with different mission variables. This output demonstrates the successful applicability of MDO approach for system engineering trade-off studies at the conceptual design phase of the design in such projects. The main conclusion of this thesis is that the classical design approach for the satellite design which usually starts with the mission and payload definition is not necessarily the best approach for all of the satellite projects. The university-class microsatellite is an example for such projects. Due to this fact an integrated satellite sizing tool including different design disciplines focusing on the structural subsystem and considering unknown payload is developed. According to the results the satellite total mass and available mass for the unknown payload are conflictive objectives. In order to find the Pareto-optimal a multiobjective GA optimization is conducted. Based on the optimization results it is concluded that selecting the satellite total mass in the range of 40-60 kg can be considered as an optimum approach for a university-class microsatellite project with unknown payload(s). Also, the CE methodology is applied to the remote sensing microsatellites conceptual design process. The results of CE application provide a clear understanding of the interaction between satellite system design requirements such as satellite total mass and power and the satellite mission variables such as revisit time and spatial resolution. The MDO application is done with the total mass minimization of a remote sensing satellite. The results from the MDO application clarify the unclear relationship between different system and mission design variables as well as the optimum design base lines according to the selected objective during the initial design phases.
Resumo:
In this dissertation, after testing that neither the definition of Agile methodologies, nor the current tools that support them, such as Scrum or XP, gave guidance for stages of software development prior to the definition of the first interaction of development; we proceeded to study the state of the art of Inception techniques, that is, techniques to deal with this early phase of the project, that would help guide its development. From the analysis of these Inception techniques, we defined what we considered as the essential properties of an Inception framework. With that list at hand, it was found that no current Inception framework supported all the features, also, we found that it did not exist, either, any software application on the market that did it. Finally, after checking the above gaps, we defined the Inception framework "Agile Incepti-ON", with all the practices necessary to meet the requirements specified above. In addition to this, a software application was developed to support the practices defined in the Inception framework, called "Agile Dojo".
Resumo:
El desarrollo del presente trabajo sigue, tanto una línea cronológica de las tareas realizadas, como una lógica, en la que se parte de un conocimiento mínimo de los sistemas espaciales hasta llegar al diseño completo de un Módulo de Cálculo de Potencia Eléctrica de un satélite para su aplicación en una instalación de diseño concurrente o CDF.
Resumo:
In recent years, the concept of sustainable development has become increasingly recognized and important. Within organizations, sustainable development is often portrayed as a balancing act, and requires a combination of three elements to be considered: economy, environment, and society. Traditionally, organizational management research has been focused on economical and environmental fronts. However, social aspects are also important for organizations, especially those in emerging and developing countries. The goal of this paper is to investigate the potential of Clean Development Mechanism (CDM) projects to deliver social benefits in Brazil?s hydroelectricity sector. The investigation involved the assessment of 46 registered hydro CDM projects under the Kyoto Protocol in terms of their potential impact on the envisaged social development goals. Two case studies were also examined. Results indicate that organizations managing hydroelectric initiatives in Brazil can provide the pathway towards achieving a number of important social benefits. Successful projects were found to have good community involvement and were managed by both cooperative ventures and money making corporations. The research also identified several challenges that are hindering hydro CDM projects from delivering more social benefits, and enabled a number of recommendations to be extracted for the organizations facing these challenges.
Resumo:
It is impossible to talk about planning as a scientific meta-discipline without mentioning one of the most influential worldwide figures in the second half of the twentieth century: John Friedmann. His contribution to the planning concept on his "Planning as Social Learning" theory is still very relevant. This paper shows the intellectual connection between Friedmann and Angel Ramos and Ignacio Trueba, two of the Spanish intellectual drivers in the engineering project knowledge area, who contributed to founding the Engineering Projects Spanish Association. The three of them share a broad vision of the project and abandon the "blue print" planning model. They also see the project as a transformational tool that requires a different planning style to the one which prevailed in the 70s - both in public and private domains. They were pioneers in structuring Knowledge / Action in a different way, both in academic institutions where disciples helped to bring about change- and with direct action via projects.
Resumo:
Trabajo Ya Publicado de Congreso CORE A
Resumo:
En el departamento de Ocio Digital de bq se desarrollan multitud de proyectos con diferentes modelos de negocio y diferentes stack tecnológicos. Para llevar a cabo todos estos proyectos, es necesario tener un ecosistema de desarrollo lo más unificado y centralizado posible. Por eso, en el departamento existe una plataforma genérica de servicios REST sobre la que se apoyan todos los aplicativos desarrollados. Para agilizar y facilitar la integración de los aplicativos con la plataforma de servicios,se desarrolla este SDK (Software Development Kit) basado en JavaScript llamado corbel-js. Este SDK ha de funcionar tanto en aplicaciones web, como en un middleware basado en node.js desarrollado también en la organización, por lo que el SDK se ha desarrollado de forma híbrida, siendo capaz de ejecutarse tanto en en el lado del cliente, como en el lado del servidor. Además, como parte de la filosofía del departamento, el desarrollo del SDK está basado en tecnologías Open Source, usando metodologías ágiles de desarrollo y un sistema de integración continua y revisión de código, garantizando la calidad del mismo. ABSTRACT A lot of different kinds of software projects are developed in the digital department of bq. To easily develop all of these projects, each one with its own business model and technology stack, it is necessary to have an unique software ecosystem. Because of that, in the software department a generic service REST platform has been developed. To support an easy integration of the applications with the service platform of the organization, this SDK(Software Development Kit) has been developed in JavaScript. As the SDK has to run under a web application and under a software middleware based in node.js, also developed in the organization, the SDK is hybrid, being capable of run inside a web client application or inside a node.js application server. As a part of the software philosophy of the department, the development of the SDK is made with a whole open source software stack, using agile software methodologies.
Resumo:
Contexto: La adopción y adaptación de las metodologías ágiles ha sido objeto de estudio en la comunidad y diversas aproximaciones han sido propuestas como solución al problema. La mayoría de las organizaciones comienzan introduciendo prácticas ágiles de manera progresiva, las cuales, junto a las buenas prácticas ya existentes, conforman una nueva metodología ágil adaptada. El problema más importante con el que se enfrentan las organizaciones al adaptar una metodología ágil, son las necesidades específicas del contexto de cada proyecto, porque a pesar de haber definido la adaptación de la metodología en base a las buenas prácticas y procesos existentes en la organización, las condiciones particulares del proyecto y del equipo que lo va a desarrollar, exigen adaptaciones específicas. Otro aspecto importante a resolver es el poder implantar esta adopción y adaptación en toda la organización. Las metodologías ágiles no incluyen actividades que asistan a las organizaciones a solucionar este problema, porque su esfuerzo lo centran en el equipo y el proyecto. Objetivo: El objetivo principal de este trabajo de investigación consiste en “definir un marco de trabajo de adaptación de metodologías ágiles orientado a contextos que permita su implantación en toda la organización a través de ciclos de mejora basados en la reutilización de experiencias adquiridas”. Este marco de trabajo permitirá organizar, gestionar y validar la adaptación de las metodologías ágiles, desplegando en toda la organización las experiencias adquiridas, incorporando pequeñas mejoras en el proceso, y facilitando su reutilización. Todo esto, con el apoyo de la alta dirección. Método: Este trabajo se inició con una investigación exploratoria acompañada de una revisión sistemática para conocer el estado del arte del objeto de estudio, detectando las principales carencias y necesidades de resolución, a partir de las cuales, se delimitó el alcance del problema. Posteriormente, se definieron las hipótesis de investigación y se planteó una solución al problema a través de la definición del marco de trabajo, cuyos resultados fueron evaluados y validados a través de la realización de un caso de estudio. Finalmente, se obtuvieron las conclusiones y se establecieron las líneas futuras de investigación. Resolución: El marco de trabajo presenta una alternativa de adaptación de las metodologías ágiles orientada a contextos, y facilita su implantación en toda la organización. El marco de trabajo idéntica los contextos en los que se desarrollan los proyectos y analiza la causa de los problemas que afectan a la consecución de los objetivos de negocio en cada contexto. Posteriormente, identifica las acciones de adaptación requeridas para reducir o eliminar estas causas y las incorpora en la definición de la metodología ágil, creando de esta manera, una metodología adaptada para cada contexto manteniendo un nivel de agilidad aceptable. Cuando se inicia un nuevo proyecto, se identifica su contexto y se aplica la metodología ágil adaptada definida para dicho contexto. Al final de cada iteración, se analizan las medidas obtenidas y se las compara con la media aplicando una técnica para la evaluación de la consecución de los objetivos. En base a esta comparativa, y a la experiencia adquirida por el equipo, se realizan ajustes en las acciones de adaptación para intentar conseguir una mejora en la siguiente iteración. Una vez finalizado el proyecto, se conoce el impacto de los resultados conseguidos y se puede determinar si se ha alcanzado una mejora en el contexto del proyecto. De ser así, la metodología adaptada es almacenada en un repositorio de experiencias para poder ser reutilizada por otros equipos de desarrollo de la organización. Resultados: El trabajo de investigación fue evaluado y validado satisfactoriamente a través de su experimentación en un caso de estudio, aprobando las hipótesis establecidas. Los aportes y principales resultados de esta investigación son: Definición de un marco de trabajo integral de adaptación de metodologías ágiles, con capacidad de facilitar su implantación en toda la organización. Procedimiento para identificar contextos o escenarios de adaptación. Procedimiento para definir unidades de adaptación a partir de los inhibidores de los objetivos de negocio de la organización. Técnica para analizar la consecución de objetivos en propuestas de mejora de procesos. Conclusiones: Son tres las ventajas principales que han quedado evidenciadas durante la realización del trabajo de investigación: El marco de trabajo proporciona un mecanismo capaz de optimizar el rendimiento de la metodología ágil adaptada al orientar el proceso a las necesidades específicas del contexto del proyecto. El marco de trabajo permite conservar el conocimiento empírico adquirido por el equipo de desarrollo al registrarlo como experiencia adquirida para la organización. El marco de trabajo optimiza y reduce los tiempos del proceso de implantación de la metodología ágil adaptada en otros equipos de la organización. ABSTRACT Context: The adoption and tailoring of agile methods has been studied in the community and various approaches have been proposed as a solution. Most organizations start introducing agile practices gradually, which ones, together with existing good practices, make a new agile method tailored. When an organization starts to adapt an agile method, the context-specific needs of each project are the main trouble, because even though the agile method tailored has been defined based on best practices and processes in the organization, the specific conditions of the project and its team, require specific adaptations. Another important aspect to be solved is to implement this adoption and adaptation throughout all the organization. Agile methods do not include specific activities for helping organizations to solve this problem, because their effort is focused on the team and the project. Objective: The main objective of this research is to “define a tailoring framework for agile methods oriented to contexts that allows its deployment throughout all the organization using improvement cycles based on the reuse of lessons learned”. This framework will allow organize, manage and validate the tailoring of agile methods, adding small improvements in the process, and facilitating reuse. All this, with the support of senior management. Method: This work began with an exploratory investigation accompanied by a systematic review to determine the state of the art about the object of study, after major gaps and needs resolution were identified, and the scope of the problem was delimited. Subsequently, the research hypotheses were defined and the framework was developed for solving the research problem. The results were evaluated and validated through a case study. Finally, conclusions were drawn and future research were established. Resolution The framework presents an alternative for tailoring agile methodologies and facilitates its implementation throughout all the organization. The framework identifies the contexts or scenarios in which software development projects are developed and analyses the causes of the problems affecting the achievement of business goals in each context. Then the adaptation actions required to reduce or eliminate these causes are defined and incorporated into the definition of agile method. Thus, a method tailored for each context is created. When a new project is started, the context in which it will be developed is identified and the tailored agile method to that context is applied. At the end of each iteration of the project, the measurements obtained are analysed and compared with the historical average of context to analyse the improvement in business goals. Based on this comparison, and the experience gained by the project team, adjustments are made in adaptation actions to try to achieve an improvement in the next iteration. Once the project is completed, the impact of the achieved results are known and it can determine if it has reached an improvement in the context of the project. If so, the tailored agile method is stored in a repository of experiences to be reused by other development teams in the organization. Results The goal of this research was successfully evaluated and validated through experimentation in a case study, so the research hypotheses were approved. The contributions and main results of this research are: A framework for tailoring agile methods, that allows its deployment throughout all the organization. A procedure for identifying adaptation scenarios or contexts. A procedure for defining adaptation units from inhibitors of the business goals of the organization. A technique for analysing the achievement of goals in process improvement proposals. Conclusions: There are three main advantages that have been highlighted during the research: The framework provides a mechanism to optimize the performance of agile methods because it guides the process based on the specific needs of the project context. The framework preserves the empirical knowledge acquired by the development team because it registers this empirical knowledge as experience for the organization. The framework streamlines and shortens the process of deploying the tailored agile method to other teams in your organization.
Resumo:
Hoy en día, existen numerosos sistemas (financieros, fabricación industrial, infraestructura de servicios básicos, etc.) que son dependientes del software. Según la definición de Ingeniería del Software realizada por I. Sommerville, “la Ingeniería del Software es una disciplina de la ingeniería que comprende todos los aspectos de la producción de software desde las etapas iniciales de la especificación del sistema, hasta el mantenimiento de éste después de que se utiliza.” “La ingeniería del software no sólo comprende los procesos técnicos del desarrollo de software, sino también actividades tales como la gestión de proyectos de software y el desarrollo de herramientas, métodos y teorías de apoyo a la producción de software.” Los modelos de proceso de desarrollo software determinan una serie de pautas para poder desarrollar con éxito un proyecto de desarrollo software. Desde que surgieran estos modelos de proceso, se investigado en nuevas maneras de poder gestionar un proyecto y producir software de calidad. En primer lugar surgieron las metodologías pesadas o tradicionales, pero con el avance del tiempo y la tecnología, surgieron unas nuevas llamadas metodologías ágiles. En el marco de las metodologías ágiles cabe destacar una determinada práctica, la integración continua. Esta práctica surgió de la mano de Martin Fowler, con el objetivo de facilitar el trabajo en grupo y automatizar las tareas de integración. La integración continua se basa en la construcción automática de proyectos con una frecuencia alta, promoviendo la detección de errores en un momento temprano para poder dar prioridad a corregir dichos errores. Sin embargo, una de las claves del éxito en el desarrollo de cualquier proyecto software consiste en utilizar un entorno de trabajo que facilite, sistematice y ayude a aplicar un proceso de desarrollo de una forma eficiente. Este Proyecto Fin de Grado (PFG) tiene por objetivo el análisis de distintas herramientas para configurar un entorno de trabajo que permita desarrollar proyectos aplicando metodologías ágiles e integración continua de una forma fácil y eficiente. Una vez analizadas dichas herramientas, se ha propuesto y configurado un entorno de trabajo para su puesta en marcha y uso. Una característica a destacar de este PFG es que las herramientas analizadas comparten una cualidad común y de alto valor, son herramientas open-source. El entorno de trabajo propuesto en este PFG presenta una arquitectura cliente-servidor, dado que la mayoría de proyectos software se desarrollan en equipo, de tal forma que el servidor proporciona a los distintos clientes/desarrolladores acceso al conjunto de herramientas que constituyen el entorno de trabajo. La parte servidora del entorno propuesto proporciona soporte a la integración continua mediante herramientas de control de versiones, de gestión de historias de usuario, de análisis de métricas de software, y de automatización de la construcción de software. La configuración del cliente únicamente requiere de un entorno de desarrollo integrado (IDE) que soporte el lenguaje de programación Java y conexión con el servidor. ABSTRACT Nowadays, numerous systems (financial, industrial production, basic services infrastructure, etc.) depend on software. According to the Software Engineering definition made by I.Sommerville, “Software engineering is an engineering discipline that is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use.” “Software engineering is not just concerned with the technical processes of software development. It also includes activities such as software project management and the development of tools, methods, and theories to support software production.” Software development process models determine a set of guidelines to successfully develop a software development project. Since these process models emerged, new ways of managing a project and producing software with quality have been investigated. First, the so-called heavy or traditional methodologies appeared, but with the time and the technological improvements, new methodologies emerged: the so-called agile methodologies. Agile methodologies promote, among other practices, continuous integration. This practice was coined by Martin Fowler and aims to make teamwork easier as well as automate integration tasks. Nevertheless, one of the keys to success in software projects is to use a framework that facilitates, systematize, and help to deploy a development process in an efficient way. This Final Degree Project (FDP) aims to analyze different tools to configure a framework that enables to develop projects by applying agile methodologies and continuous integration in an easy and efficient way. Once tools are analyzed, a framework has been proposed and configured. One of the main features of this FDP is that the tools under analysis share a common and high-valued characteristic: they are open-source. The proposed framework presents a client-server architecture, as most of the projects are developed by a team. In this way, the server provides access the clients/developers to the tools that comprise the framework. The server provides continuous integration through a set of tools for control management, user stories management, software quality management, and software construction automatization. The client configuration only requires a Java integrated development environment and network connection to the server.
Resumo:
Este proyecto ha sido estructurado en tres bloques diferenciados que tiene como objetivo analizar el presente, pasado y futuro de la gestión de proyectos con una orientación clara a ofrecer apoyo a aquellas empresas que planeen realizar un giro en sus estructura de organización de trabajo hacia filosofías ágiles. La gestión de proyectos a acompañado al hombre desde el inicio de los tiempos, pero sin embargo no fue hasta nuestra historia más cercana cuando se comienza a tener conciencia de la necesidad de establecer aplicar métodos generales a la hora de afrontar proyectos de ingeniería. Pioneros fueron en este sentido personajes como Taylor, Fayol o Gantt, cuyas aportaciones iniciales posibilitaron el nacimiento de la gestión de proyectos a mediados del siglo XX. En las década sucesivas hasta nuestros días han aparecido un número considerable de metodologías, perfeccionando elementos anteriormente asimilados y adaptándose a la realidad tecnológica y social del momento. Este recorrido histórico se aborda en el primer bloque de este proyecto. Los puntos revisados en la introducción histórica proporcionan las bases de conocimiento para entender las principales características entre las grandes familias de metodologías que actualmente son implantadas en el mundo empresarial. Es precisamente este punto, el de la exposición y análisis de las metodologías más extendidas y contemporáneas a la elaboración de este proyecto, lo que se aborda en el segundo bloque. En él se desarrolla con intenso detalle dos metodologías de la familia de filosofías ágiles, elegidas entre las más extendidas en la industria: Scrum, eXtreme Programming (XP) y un híbrido de ambas. Para entender la dimensión del cambio filosófico en cuanto a la gestión de proyectos que emprenden estas metodologías, se hace necesario repasar cuales son las metodologías no ágiles más extendidas actualmente. Para ello se introducen metodologías como la llamada tradicional o PRINCE2, principalmente, ya que también se realiza un repaso más superficial por otras aproximaciones notables. El último bloque que construye el desenlace del proyecto, intenta responder a las cuestiones futuras relacionadas con la adopción de metodologías ágiles. Para ello se revisa los puntos más conflictivos a señalar en este proceso y se ofrecerán soluciones teóricas y prácticas para ayudar a las empresas en su fase de migración hacia filosofías de organización ágiles. Ya que toda empresa hoy en día debería tener un soporte tecnológico que ofrezca apoyo a su desarrollo empresarial, gran parte de la elaboración de este proyecto se ha dedicado a hacer un estudio comparativo de las actuales herramientas Open Source. Se han instalado y probado 25 herramientas para posteriormente seleccionar 3 que han sido analizadas en profundidad. Así mismo, se enumeran pros y contras de estas herramientas, aportando ideas de mejoras y trazando cuál debería ser su evolución para ofrecer una alternativa real a las herramientas comerciales orientadas a esta labor. Las empresas pueden utilizar este índice de herramientas de software para decidir si pueden sustentar su proceso de migración en una herramienta Open Source o si deben orientarse a herramientas comerciales o de creación propias. ABSTRACT. This project has been divided into three different blocks that aims to analyze the past, present and future of project management with a clear focus on providing support to those companies that are planning to make a shift in its organizational structure working towards agile philosophies . The project management has walked together with the humanity since the beginning of time , but it was on our recent history when it begins to become aware of the need to establish general methods to apply to engineering projects. There was pioneers like Taylor , Fayol or Gantt, whose contributions made possible the birth of project management in the mid- twentieth century. In the following decades, there was a considerable number of new methodologies, improving concepts and adapting then to the technological and social reality of the moment . This historical journey is addressed in the first block of this project. The different facts reviewed at the first block provide the knowledge to understand the key features among the most important families of methodologies that nowadays are implemented in the business world. It is precisely this point, the presentation and analysis of the most widespread methodologies what is addressed in the second block. Two of the most widespread agile methodologies are detailed: Scrum , eXtreme Programming ( XP ) and a hybrid of both . In order to understand the philosophical shift in terms of project management performed by these methodologies , it is necessary to review what are the most widespread no agile methodologies currently. For this purpose, methodologies like Waterfall or PRINCE2 are explained. Other no agile methodologies are explained as well, but not so deeply in comparison with them. The last section of this project is the conclusion, it tries to answer future questions related to the adoption of agile methodologies. For that reason, the most important milestones are reviewed to provide theoretical and practical solutions and answers to help companies in this migration process toward agile methodologies. Since every company should has a solid technical support for its business development, a considerably part of the time has been applied to make a comparative study of the existing Open Source tools. 25 tools have been installed and tested. Then, 3 tools has been selected to be analyzed deeply. Also, pros and cons of these tools have been exposed in order to suggest a roadmap to offer a real alternative to the existing commercial tools in this business area. The companies that are involved in a migration progress toward a agile methodology can used this study about the available Open Source tools to decide if they can afford the migration process based on one of them or if they should use a commercial tool or a tailor-made software.
Resumo:
Hoy en día existe una preocupación creciente por la calidad del software entregado en los proyectos que se realizan a lo largo del mundo. El trabajo de fin de grado que va a ser desarrollado en estas páginas pretende demostrar la importancia de la realización de tests funcionales durante el proceso de desarrollo de software para que el proyecto alcance la calidad requerida tan demandada en estos días. Para ello, después de una pequeña introducción a la historia del software, se presentarán y compararán diversos tipos de metodologías de desarrollo de software, tanto pesadas (cascada, espiral, etc.) como ágiles (Extreme Programming y Scrum), se enfatizará en dichas metodologías ágiles y cómo el proceso de testing y control de calidad encaja perfectamente con la filosofía de las citadas metodologías ágiles. Se desarrollará una explicación del papel de QA en el desarrollo de software, asi como una explicación de los tipos de test existentes, y las herramientas, tecnologías y patrones que existen a disposición de aquellos que quieran desempeñar el papel de QA. Para complementar el punto de vista teórico de este trabajo se presentará un caso práctico real realizado en la empresa bq bajo una metodología Scrum. Dicho caso práctico muestra el uso de ciertas herramientas y su aporte para el control de calidad del proyecto bajo desarrollo, demostrando su importancia. Se realizará énfasis en el proceso de automatización de ciertas baterías de test (llamadas test suites), mostrando desde el planteamiento inicial de las diferentes historias de usuario y la batería de test, pasando por la elección de las tecnologías más adecuadas para la elaboración de los test hasta llegar al lanzamiento de dicha batería de pruebas y la comprobación de éstas. El punto de vista práctico quedará complementado por una explicación del framework nightwatch.js, framework utilizado en el desarrollo del proyecto en bq para la automatización de test funcionales. Esta explicación comprenderá tanto la configuración y uso del framework como el uso de patrones y la estructura de las pruebas. ABSTRACT Nowadays there is a growing concern about the Quality of the software delivered in the projects that are made all around the world. This final project will try to prove the importance of performing functional tests during the Software Development Process in order to be able to reach the demanded Quality. To fulfill this objective, different types of Software Development methodologies will be presented and compared. Heavy methodologies (waterfall, spiral methodologies, etc.) as well as agile methodologies (Extreme Programming and Scrum). There will be an emphasis in the second kind (agile methodologies) and how the testing and quality assurance process fits perfectly in their philosophy. A deep explanation of the role that Quality Assurance holds on software development will be presented, as well as an explanation on the current types of testing and an explanation of the different tools; technologies and patrons that exist to help anyone who wants to perform the role of QA. To complement the theoretical perspective of this work a real case study, performed at the company bq under a Scrum methodology, will be presented. The mentioned study covers the use of certain tools and their input for the quality assurance of the project under development, proving its relevance. Emphasis will be made in the process of conducting a set of tests (called test suite), showing from the initial approach of the different users stories and the set of tests, going through the choosing of the most suitable technologies for the tests development, and ending with the performance of this battery of tests and their checkout. The practical point of view will be complemented by a deep explanation of the creation process using the nightwatch.js automated test framework, used in the project in bq. This explanation will cover both the configuration and use of the framework as the use of patterns and structure of the tests.
Resumo:
This study analyzes the effect of organizational characteristics on the innovation project performance. This research applies fuzzy set Qualitative Comparative Analysis (fsQCA) to a large sample of Spanish firms appearing in the Community Innovation survey (CIS). The results show that the combination of organizational innovation, firm size and cooperationwith national and, especially, international firms is a sufficient condition for the success of innovation projects within the organization. Evidence also suggests that variables such as the investment on R&D peremployee or the seniority of the company do not affect the success of innovation projects. These findings help complement some results in previous studies on innovation projects performance.
Resumo:
La presente tesis doctoral se enmarca dentro del concepto de la sistematización del conocimiento en arquitectura, más concretamente en el campo de las construcciones arquitectónicas y la toma de decisiones en la fase de proyecto de envolventes arquitectónicas multicapa. Por tanto, el objetivo principal es el establecimiento de las bases para una toma de decisiones informadas durante el proyecto de una envolvente multicapa con el fin de colaborar en su optimización. Del mismo modo que la historia de la arquitectura está relacionada con la historia de la innovación en construcción, la construcción está sujeta a cambios como respuesta a los fracasos anteriores. En base a esto, se identifica la toma de decisiones en la fase de proyecto como el estadio inicial para establecer un punto estratégico de reflexión y de control sobre los procesos constructivos. La presente investigación, conceptualmente, define los parámetros intervinientes en el proyecto de envolventes arquitectónicas multicapa a partir de una clasificación y sistematización de todos los componentes (elementos, unidades y sistemas constructivos) utilizados en las fachadas multicapa. Dicha sistematización se materializa en una hoja matriz de datos en la que, dentro de una organización a modo de árbol, se puede acceder a la consulta de cada componente y de su caracterización. Dicha matriz permite la incorporación futura de cualquier componente o sistema nuevo que aparezca en el mercado, relacionándolo con aquellos con los que comparta ubicación, tipo de material, etc. Con base en esa matriz de datos, se diseña la sistematización de la toma de decisiones en la fase de proyecto de una envolvente arquitectónica, en concreto, en el caso de una fachada. Operativamente, el resultado se presenta como una herramienta que permite al arquitecto o proyectista reflexionar y seleccionar el sistema constructivo más adecuado, al enfrentarse con las distintas decisiones o elecciones posibles. La herramienta se basa en las elecciones iniciales tomadas por el proyectista y se estructura, a continuación y sucesivamente, en distintas aproximaciones, criterios, subcriterios y posibilidades que responden a los distintos avances en la definición del sistema constructivo. Se proponen una serie de fichas operativas de comprobación que informan sobre el estadio de decisión y de definición de proyecto alcanzados en cada caso. Asimismo, el sistema permite la conexión con otros sistemas de revisión de proyectos para fomentar la reflexión sobre la normalización de los riesgos asociados tanto al proprio sistema como a su proceso constructivo y comportamiento futuros. La herramienta proporciona un sistema de ayuda para ser utilizado en el proceso de toma de decisiones en la fase de diseño de una fachada multicapa, minimizando la arbitrariedad y ofreciendo una cualificación previa a la cuantificación que supondrá la elaboración del detalle constructivo y de su medición en las sucesivas fases del proyecto. Al mismo tiempo, la sistematización de dicha toma de decisiones en la fase del proyecto puede constituirse como un sistema de comprobación en las diferentes fases del proceso de decisión proyectual y de definición de la envolvente de un edificio. ABSTRACT The central issue of this doctoral Thesis is founded on the framework of the concept of the systematization of knowledge in architecture, in particular, in respect of the field of building construction and the decision making in the design stage of multilayer building envelope projects. Therefore, the main objective is to establish the bases for knowledgeable decision making during a multilayer building envelope design process, in order to collaborate with its optimization. Just as the history of architecture is connected to the history of innovation in construction, construction itself is subject to changes as a response to previous failures. On this basis, the decisions made during the project design phase are identified as the initial state to establish an strategic point for reflection and control, referred to the constructive processes. Conceptually, this research defines the parameters involving the multilayer building envelope projects, on the basis of a classification and systematization for all the components (elements, constructive units and constructive systems) used in multilayer façades. The mentioned systematization is materialized into a data matrix sheet in which, following a tree‐like organization, the access to every single component and its characterization is possible. The above data matrix allows the future inclusion of any new component or system that may appear in the construction market. That new component or system can be put into a relationship with another, which it shares location, type of material,… with. Based on the data matrix, the systematization of the decision making process for a building envelope design stage is designed, more particularly in the case of a façade. Putting this into practice, it is represented as a tool which allows the architect or the designer, to reflect and to select the appropriate building system when facing the different elections or the different options. The tool is based on the initial elections taken by the designer. Then and successively, it is shaped on the form of different operative steps, criteria, sub‐criteria and possibilities which respond to a different progress in the definition of the building construction system. In order to inform about the stage of the decision and the definition reached by the project in every particular case, a range of operative sheets are proposed. Additionally, the system allows the connection with other reviewing methods for building projects. The aim of this last possibility is to encourage the reflection on standardization of the associated risks to the building system itself and its future performance. The tool provides a helping system to be used during the decision making process for a multilayer façade design. It minimizes the arbitrariness and offers a qualification previous to the quantification that will be done with the development of the construction details and their bill of quantities, that in subsequent project stages will be executed. At the same time, the systematization of the mentioned decision making during the design phase, can be found as a checking system in the different stages of the decision making design process and in the different stages of the building envelope definition.