182,585 research outputs found

    Using Agile Software Development Practices in a Research Oriented Distributed Simulation

    Get PDF
    Although sometimes controversial, agile methodologies have proven to be a viable choice for some software development projects. Projects suited to agile methodologies are those that involve new technology, have requirements that change rapidly, and are controlled by small, talented teams. Much literature about agile software development leans towards business products and non-government entities. Only a handful of literature resources mention agile software development being used in government contracts and even fewer resources mention research projects. NASA\u27s Airspace and Traffic Operations Simulation (ATOS) is a research oriented simulation that doesn\u27t follow the traditional business project mold. In an effort to gain a better understanding if agile could be used effectively in a NASA contract for a research oriented simulation project, this research looked at what agile practices could be effectively used to help gain simulation reliability while simultaneously allowing routine maintenance, current experiment support, new modeling additions, and comprehensive architectural changes

    Update of three procedures to testing area for software factory

    Get PDF
    Para asegurar el éxito durante los proyectos de desarrollo de software, no es suficiente contar con notaciones de modelado, herramientas y personal idóneo, uno de los elementos importantes es la metodología, esta nos provee la dirección a seguir para obtener aplicaciones correctas. Por nuevos posicionamientos en el mercado, hoy se está demandando al tipo de Fabricas Continuas adaptarse ágilmente a nuevas condiciones con el propósito de fortalecer sistemas de información productivos. Una de estas nuevas filosofías es la de metodologías ágiles que buscan dar mayor valor al individuo, a la colaboración con el cliente y al desarrollo incremental del software con iteraciones muy cortas, este enfoque está mostrando su efectividad en proyectos con requisitos muy cambiantes y que exigen reducir drásticamente los tiempos del ciclo de vida del software manteniendo una alta calidad. Las metodologías ágiles revolucionaron la manera de producir software, los métodos ágiles y los tradicionales no son estrictamente competidores directos, cada uno tiene su propio segmento de aplicación o terreno, son usados en proyectos con diferentes características: los métodos tradicionales son más adecuados en grandes proyectos con requerimientos estables, aplicaciones críticas, grandes equipos de desarrollo y/o equipos distribuidos geográficamente. Los métodos ágiles en cambio se adecuan mejor en ambientes dinámicos, con equipos de trabajo pequeños y produciendo aplicaciones no críticas, también son una buena elección cuando se trabaja con requerimientos desconocidos o inestables, garantizando un menor riesgo ante la posibilidad de cambio en los requerimientos. Independientemente del tipo de metodología que se utilice, cualquier desarrollo de software parte siempre de un mismo problema: conocer las necesidades de los clientes.To ensure success in the software development projects, it is not enough to rely on modeling notations, tools and skilled personnel, one of the important elements is the methodology, this provides us the direction to follow for correct applications. For new positions in the market today it is suing the type of factories Continuous adapt quickly to new conditions in order to strengthen productive information systems. One of these new philosophies of agile methodologies is seeking to add value to the individual, the collaboration with customers and incremental development of software with very short iterations, this approach is showing its effectiveness in projects with changing requirements and require dramatically shorten the life cycle of the software while maintaining high quality. Agile methodologies have revolutionized the way we produce software, agile methods and traditional are not strictly direct competitors, each has its own application segment or ground, are used in projects with different characteristics: traditional methods are more suitable for large projects with stable requirements, you critical applications, large development teams and / or geographically distributed teams. Agile methods are instead better suited in dynamic environments, with small teams and producing non-critical applications, are also a good choice when working with unknown or unstable requirements, ensuring a lower risk for the possibility of change in the requirements. Regardless of the type of methodology used, any software development always part of the same problem: meet the needs of customers

    ICSEA 2022: the seventeenth international conference on software engineering advances

    Get PDF
    The Seventeenth International Conference on Software Engineering Advances (ICSEA 2022), held between October 16th and October 20th, 2022, continued a series of events covering a broad spectrum of software-related topics. The conference covered fundamentals on designing, implementing, testing, validating and maintaining various kinds of software. Several tracks were proposed to treat the topics from theory to practice, in terms of methodologies, design, implementation, testing, use cases, tools, and lessons learned. The conference topics covered classical and advanced methodologies, open source, agile software, as well as software deployment and software economics and education. Other advanced aspects are related to on-time practical aspects, such as run-time vulnerability checking, rejuvenation process, updates partial or temporary feature deprecation, software deployment and configuration, and on-line software updates. These aspects trigger implications related to patenting, licensing, engineering education, new ways for software adoption and improvement, and ultimately, to software knowledge management. There are many advanced applications requiring robust, safe, and secure software: disaster recovery applications, vehicular systems, biomedical-related software, biometrics related software, mission critical software, E-health related software, crisis-situation software. These applications require appropriate software engineering techniques, metrics and formalisms, such as, software reuse, appropriate software quality metrics, composition and integration, consistency checking, model checking, provers and reasoning. The nature of research in software varies slightly with the specific discipline researchers work in, yet there is much common ground and room for a sharing of best practice, frameworks, tools, languages and methodologies. Despite the number of experts we have available, little work is done at the meta level, that is examining how we go about our research, and how this process can be improved. There are questions related to the choice of programming language, IDEs and documentation styles and standard. Reuse can be of great benefit to research projects yet reuse of prior research projects introduces special problems that need to be mitigated. The research environment is a mix of creativity and systematic approach which leads to a creative tension that needs to be managed or at least monitored. Much of the coding in any university is undertaken by research students or young researchers. Issues of skills training, development and quality control can have significant effects on an entire department. In an industrial research setting, the environment is not quite that of industry as a whole, nor does it follow the pattern set by the university. The unique approaches and issues of industrial research may hold lessons for researchers in other domains. We take here the opportunity to warmly thank all the members of the ICSEA 2022 technical program committee, as well as all the reviewers. The creation of such a high-quality conference program would not have been possible without their involvement. We also kindly thank all the authors who dedicated much of their time and effort to contribute to ICSEA 2022. We truly believe that, thanks to all these efforts, the final conference program consisted of top-quality contributions. We also thank the members of the ICSEA 2022 organizing committee for their help in handling the logistics of this event. We hope that ICSEA 2022 was a successful international forum for the exchange of ideas and results between academia and industry and for the promotion of progress in software engineering advances

    A systemic evaluation of the implementation implications of an integrated, standard information system : the SAP implementation project as a viable system

    Get PDF
    Bibliography: leaves 107-108.Real-time, on-line, integrated software systems are a part of the latest technologies for large concerns as enablers for viability in an ever increasing competitive business environment. The SAP (R/3 and R/2) standard software is widely considered as one of the leading solutions and implementation projects have taken the world by storm. The software, which runs on client server systems since 1992, is expensive and takes time to install. Complete systems can run into the tens of millions of dollars and take from one to over three years to implement. The application of the software spans most of the processes of a business, logistics, finance, workflow and human resources as a real time, on-line and integrated information system enabler. Much of the data capture and some of the control aspects of the business are automated. With this sophistication comes a new level of complexity. An initial argument of the thesis is that the success of an investigation into the problems associated with SAP implementations will be dependent on the thorough development of the inquiry system as a framework for appreciating the implications of such projects. Question Which management research approach will provide useful knowledge of the situation, with challenges including variety of human interpretations and interests, the complexity of organisational regulation and the technical options of the software? A framework was developed by considering three levels for paradigms; philosophy, methodology and the application of the methodology. As a choice for the philosophical level, phenomenology was chosen with its regard for the importance of the mental models of an observer. Pragmatism, with its basis for attributing meaning on the consequences of holding a belief or assumption, is enabled by a bias towards systems thinking as an adequate way of determining an appropriate level of knowledge of possible consequences of a decision. The scientific method is the underlying guide for the inquiry process with its abductive, deductive and inductive stages. The base strength of the method, as presented by Peirce (Smith, 1995), was experienced as the rigorous attention to the development and testing of an hypothesis. Due to the variety and importance of human mterpretation regarding purposes and methods of information system implementations, the approach by Soft Systems Methodology was adopted as an enabler for an immersion into the problems of a project. As such it was the basis for the abductive stage of the inquiry. The result of this immersion determined the requirements for the choice of further methodologies. The application of the SSM inquiry is guided by seven stages of sets of questions, as the 'technical' aspect of the inquiry framework

    Iterative criteria-based approach to engineering the requirements of software development methodologies

    Get PDF
    Software engineering endeavours are typically based on and governed by the requirements of the target software; requirements identification is therefore an integral part of software development methodologies. Similarly, engineering a software development methodology (SDM) involves the identification of the requirements of the target methodology. Methodology engineering approaches pay special attention to this issue; however, they make little use of existing methodologies as sources of insight into methodology requirements. The authors propose an iterative method for eliciting and specifying the requirements of a SDM using existing methodologies as supplementary resources. The method is performed as the analysis phase of a methodology engineering process aimed at the ultimate design and implementation of a target methodology. An initial set of requirements is first identified through analysing the characteristics of the development situation at hand and/or via delineating the general features desirable in the target methodology. These initial requirements are used as evaluation criteria; refined through iterative application to a select set of relevant methodologies. The finalised criteria highlight the qualities that the target methodology is expected to possess, and are therefore used as a basis for de. ning the final set of requirements. In an example, the authors demonstrate how the proposed elicitation process can be used for identifying the requirements of a general object-oriented SDM. Owing to its basis in knowledge gained from existing methodologies and practices, the proposed method can help methodology engineers produce a set of requirements that is not only more complete in span, but also more concrete and rigorous

    Information Systems Development Methodologies Transitions: An Analysis of Waterfall to Agile Methodology

    Get PDF

    Influence Factors for the Choice of a Software Development Methodology

    Get PDF
    The success rate of software development projects can be increased by using a methodology that is adequate for the specific characteristics of those projects. Over time a wide range of software development methodologies has been elaborated, therefore choosing one of them is not an easy task. Our research reviews the main categories of development methodologies and then focuses, for a detailed study, on three of them: Rational Unified Process (RUP), Rapid Application Development (RAD) and Extreme Programming (XP). For each methodology it is presented the structure of software life cycle, there are identified the situations in which the methodology can be used successfully and the situations in which it tends to fail. Based on the literature review of software development methodologies and on a series of surveys, published by different researchers, exploring the state of practices in this field, we have identified a number of factors that influence the decision of choosing the most adequate development methodology for a specific project. The methodologies that are subject of this study are evaluated in relation to these factors to find out which development methodology is the most adequate depending on the level of the factors for a specific project. The results of our research are useful for the developers by helping them to identify what software development methodology can be used with success for a specific project.Software development methodology, Rational Unified Process, Rapid Application Development, Extreme Programming, choosing the adequate methodology

    <i>Trace++</i>: A Traceability Approach for Agile Software Engineering

    Get PDF
    Agile methodologies have been introduced as an alternative to traditional software engineering methodologies. However, despite the advantages of using agile methodologies, the transition between traditional and agile methodologies is not an easy task. There are several problems associated with the use of agile methodologies. Examples of these problems are related to (i) lack of metrics to measure the amount of rework that occurs per sprint, (ii) interruption of a project after several iterations, (iii) changes in the requirements, (iv) lack of documentation, and (v) lack of management control. In this paper we present Trace++, a traceability technique that extends traditional traceability relationships with extra information in order to support the transition between traditional and agile software development. The use of Trace++ has been evaluated in two real projects of different software development companies to measure the benefits of using Trace++ to support agile software development

    Beyond Surveys: Analyzing Software Development Artifacts to Assess Teaching Efforts

    Full text link
    This Innovative Practice Full Paper presents an approach of using software development artifacts to gauge student behavior and the effectiveness of changes to curriculum design. There is an ongoing need to adapt university courses to changing requirements and shifts in industry. As an educator it is therefore vital to have access to methods, with which to ascertain the effects of curriculum design changes. In this paper, we present our approach of analyzing software repositories in order to gauge student behavior during project work. We evaluate this approach in a case study of a university undergraduate software development course teaching agile development methodologies. Surveys revealed positive attitudes towards the course and the change of employed development methodology from Scrum to Kanban. However, surveys were not usable to ascertain the degree to which students had adapted their workflows and whether they had done so in accordance with course goals. Therefore, we analyzed students' software repository data, which represents information that can be collected by educators to reveal insights into learning successes and detailed student behavior. We analyze the software repositories created during the last five courses, and evaluate differences in workflows between Kanban and Scrum usage
    corecore