299,653 research outputs found

    Constraints and Opportunities in GCM Model Development

    Get PDF
    Over the past 30 years climate models have evolved from relatively simple representations of a few atmospheric processes to complex multi-disciplinary system models which incorporate physics from bottom of the ocean to the mesopause and are used for seasonal to multi-million year timescales. Computer infrastructure over that period has gone from punchcard mainframes to modern parallel clusters. Constraints of working within an ever evolving research code mean that most software changes must be incremental so as not to disrupt scientific throughput. Unfortunately, programming methodologies have generally not kept pace with these challenges, and existing implementations now present a heavy and growing burden on further model development as well as limiting flexibility and reliability. Opportunely, advances in software engineering from other disciplines (e.g. the commercial software industry) as well as new generations of powerful development tools can be incorporated by the model developers to incrementally and systematically improve underlying implementations and reverse the long term trend of increasing development overhead. However, these methodologies cannot be applied blindly, but rather must be carefully tailored to the unique characteristics of scientific software development. We will discuss the need for close integration of software engineers and climate scientists to find the optimal processes for climate modeling

    Agile methods in biomedical software development: a multi-site experience report

    Get PDF
    BACKGROUND: Agile is an iterative approach to software development that relies on strong collaboration and automation to keep pace with dynamic environments. We have successfully used agile development approaches to create and maintain biomedical software, including software for bioinformatics. This paper reports on a qualitative study of our experiences using these methods. RESULTS: We have found that agile methods are well suited to the exploratory and iterative nature of scientific inquiry. They provide a robust framework for reproducing scientific results and for developing clinical support systems. The agile development approach also provides a model for collaboration between software engineers and researchers. We present our experience using agile methodologies in projects at six different biomedical software development organizations. The organizations include academic, commercial and government development teams, and included both bioinformatics and clinical support applications. We found that agile practices were a match for the needs of our biomedical projects and contributed to the success of our organizations. CONCLUSION: We found that the agile development approach was a good fit for our organizations, and that these practices should be applicable and valuable to other biomedical software development efforts. Although we found differences in how agile methods were used, we were also able to identify a set of core practices that were common to all of the groups, and that could be a focus for others seeking to adopt these methods

    Towards a philosophical understanding of agile software methodologies : the case of Kuhn versus Popper

    Get PDF
    This dissertation is original in using the contrasting ideas of two leading 20th century philosophers of science, Karl Popper and Thomas Kuhn, to provide a philosophical understanding, firstly, of the shift from traditional software methodologies to the so-called Agile methodologies, and, secondly, of the values, principles and practices underlying the most prominent of the Agile methodologies, Extreme Programming (XP). This dissertation will take a revisionist approach, following Fuller—the founder of social epistemology—in reading Popper against Kuhn's epistemological hegemony. The investigations in this dissertation relate to two main branches of philosophy— epistemology and ethics. The epistemological part of this dissertation compares both Kuhn and Popper's alternative ideas of the development of scientific knowledge to the Agile methodologists' ideas of the development of software, in order to assess the extent to which Agile software development resembles a scientific discipline. The investigations relating to ethics in this dissertation transfer concepts from social engineering—in particular, Popper's distinction between piecemeal and utopian social engineering—to software engineering, in order to assess both the democratic and authoritarian aspects of Agile software development and management. The use of Kuhn's ideas of scientific revolutions and paradigm shift by several leading figures of the Agile software methodologies—most notably, Kent Beck, the leader of the most prominent Agile software methodology, Extreme Programming (XP)—to predict a fundamental shift from traditional to Agile software methodologies, is critically assessed in this dissertation. A systematic investigation into whether Kuhn's theory as a whole, can provide an adequate account of the day-to-day practice of Agile software development is also provided. As an alternative to the use of Kuhn's ideas, the critical rationalist philosophy of Karl Popper is investigated. On the one hand, this dissertation assesses whether the epistemological aspects of Popper's philosophy—especially his notions of falsificationism, evolutionary epistemology, and three worlds metaphysics—provide a suitable framework for understanding the philosophical basis of everyday Agile software development. On the other hand, the aspects of Popper's philosophy relating to ethics, which provide an ideal for scientific practice in an open society, are investigated in order to determine whether they coincide with the avowedly democratic values of Agile software methodologies. The investigations in this dissertation led to the following conclusions. Firstly, Kuhn's ideas are useful in predicting the effects of the full-scale adoption of Agile methodologies, and they describe the way in which several leaders of the Agile methodologies promote their methodologies; they do not, however, account for the detailed methodological practice of Agile software development. Secondly, several aspects of Popper's philosophy, were found to be aligned with several aspects of Agile software development. In relation to epistemology, Popper's principle of falsificationism provides a criterion for understanding the rational and scientific basis of several Agile principles and practices, his evolutionary epistemology resembles the iterative-incremental design approach of Agile methodologies, and his three worlds metaphysical model provides an understanding of both the nature of software, and the approach advocated by the Agile methodologists' of creating and sharing knowledge. In relation to ethics, Popper's notion of an open society provides an understanding of the rational and ethical basis of the values underlying Agile software development and management, as well as the piecemeal adoption of Agile software methodologies.Dissertation (MSc)--University of Pretoria, 2009.Computer Scienceunrestricte

    Metode razvoja programske podrĆĄke, procesi i ĆŸivotni ciklus u projektno orijentiranoj tvrtci

    Get PDF
    With this paper, I would like to put on paper the whole lifecycle of Software Development. From the business case for a new software solution, business requirements creation, features creation to development, development methodologies, software testing methodologies and lastly software maintenance and software retiring. I will explain all this from the perspective of a project-oriented and heavily utilized company, which is working at full capacity requiring strict prioritization of projects and deliverables. I am using all available sources such as scientific articles and literature dealing with topics on software development methodologies, project and portfolio management and software release management available to me. Purpose for this paper is to paint a clear and concise picture on how project-oriented companies can tackle risks and issues managing software development in order to ensure the creation of added value to their products and customers

    Learning e-Learning

    Get PDF
    What You Understand Is What Your Cognitive Integrates. Scientific research develops, as a native environment, knowledge. This environment consists of two interdependent divisions: theory and technology. First division occurs as a recursive research, while the second one becomes an application of the research activity. Over time, theories integrate methodologies and technology extends as infrastructure. The engine of this environment is learning, as the human activity of knowledge work. The threshold term of this model is the concepts map; it is based on Bloom’ taxonomy for the cognitive domain and highlights the notion of software scaffolding which is grounded in Vygotsky’s Social Development Theory with its major theme, Zone of Proximal Development. This article is designed as a conceptual paper, which analyzes specific structures of this type of educational research: the model reflects a foundation for a theory and finally, the theory evolves as groundwork for a system. The outcomes of this kind of approach are the examples, which are, theoretically, learning outcomes, and practically exist as educational objects, so-called e-learning.Assisted Instruction, Cognitive Infrastructure, Concepts Map, Software Scaffolding

    Metode razvoja programske podrĆĄke, procesi i ĆŸivotni ciklus u projektno orijentiranoj tvrtci

    Get PDF
    With this paper, I would like to put on paper the whole lifecycle of Software Development. From the business case for a new software solution, business requirements creation, features creation to development, development methodologies, software testing methodologies and lastly software maintenance and software retiring. I will explain all this from the perspective of a project-oriented and heavily utilized company, which is working at full capacity requiring strict prioritization of projects and deliverables. I am using all available sources such as scientific articles and literature dealing with topics on software development methodologies, project and portfolio management and software release management available to me. Purpose for this paper is to paint a clear and concise picture on how project-oriented companies can tackle risks and issues managing software development in order to ensure the creation of added value to their products and customers

    Overview and Guidance on Agile Development in Large Organizations

    Get PDF
    A continual debate surrounds the effectiveness of agile software development practices. Some organizations adopt agile practices to become more competitive, improve processes, and reduce costs. Other organizations are skeptical about whether agile development is beneficial. Large organizations face an additional challenge in integrating agile practices with existing standards and business processes. To examine the effects of agile development practices in large organizations, we review and integrate scientific literature and theory on agile software development. We further organize our theory and observations into a framework with guidelines for large organizations considering agile methodologies. Based on this framework, we present recommendations that suggest ways large organizations with established processes can successfully implement agile practices. Our analysis of the literature and theory provides new insight for researchers of agile software development and assists practitioners in determining how to adopt agile development in their organizations

    Overview and Guidance on Agile Development in Large Organizations

    Get PDF
    A continual debate surrounds the effectiveness of agile software development practices. Some organizations adopt agile practices to become more competitive, improve processes, and reduce costs. Other organizations are skeptical about whether agile development is beneficial. Large organizations face an additional challenge in integrating agile practices with existing standards and business processes. To examine the effects of agile development practices in large organizations, we review and integrate scientific literature and theory on agile software development. We further organize our theory and observations into a framework with guidelines for large organizations considering agile methodologies. Based on this framework, we present recommendations that suggest ways large organizations with established processes can successfully implement agile practices. Our analysis of the literature and theory provides new insight for researchers of agile software development and assists practitioners in determining how to adopt agile development in their organizations

    Agile and Evm for the Dod: a Review of the Challenges and a New Approach to Solve them

    Get PDF
    Department of Defense (DoD) acquisitions must improve program performance while working within budgetary constraints. The DoD community shows an interest in utilizing Agile methodologies, but struggles to reap Agile\u27s benefits. They encountered challenges including the historically built up processes that enforce heavy-weight oversight; the outdated, manufacturing focused Work Breakdown Structures (WBS) provided in DoD Handbook: Work Breakdown Structures (WBS) for Defense Material Items (MIL-STD-881C); and the inability of the traditional waterfall based processes to accommodate iterative development. The author used the scientific method to review the documented issues encountered when using Agile on a DoD program within the constraints of Earned Value Management (EVM). The author developed the hypothesis that the currently available WBS options in MIL-STD-881C are in conflict with attempts to implement Agile software development methodologies and Agile Earned Value Management (AgileEVM) on DoD acquisition activities. Modifying MIL-STD-881C to include an iterative-based software development focused WBS would provide the DoD environment with a foundation to begin an overhaul of the current procedures and best practices to better support Agile methodologies and increase the adoption of Agile techniques. Based on the findings in this paper, additional research topics include: developing and defining the new WBS structure, determining what modifications are needed to other military standards, documented procedures, and best practices, and discussing the cultural changes needed to support and encourage greater use of Agile development methodologies in the DoD

    Software Development Process Modeling. Developers Perspective to Contemporary Modeling Techniques

    Get PDF
    Formal software development processes and well-defined development methodologies are nowadays seen as the definite way to produce high-quality software within time-limits and budgets. The variety of such high-level methodologies is huge ranging from rigorous process frameworks like CMMI and RUP to more lightweight agile methodologies. The need for managing this variety and the fact that practically every software development organization has its own unique set of development processes and methods have created a profession of software process engineers. Different kinds of informal and formal software process modeling languages are essential tools for process engineers. These are used to define processes in a way which allows easy management of processes, for example process dissemination, process tailoring and process enactment. The process modeling languages are usually used as a tool for process engineering where the main focus is on the processes themselves. This dissertation has a different emphasis. The dissertation analyses modern software development process modeling from the software developers’ point of view. The goal of the dissertation is to investigate whether the software process modeling and the software process models aid software developers in their day-to-day work and what are the main mechanisms for this. The focus of the work is on the Software Process Engineering Metamodel (SPEM) framework which is currently one of the most influential process modeling notations in software engineering. The research theme is elaborated through six scientific articles which represent the dissertation research done with process modeling during an approximately five year period. The research follows the classical engineering research discipline where the current situation is analyzed, a potentially better solution is developed and finally its implications are analyzed. The research applies a variety of different research techniques ranging from literature surveys to qualitative studies done amongst software practitioners. The key finding of the dissertation is that software process modeling notations and techniques are usually developed in process engineering terms. As a consequence the connection between the process models and actual development work is loose. In addition, the modeling standards like SPEM are partially incomplete when it comes to pragmatic process modeling needs, like light-weight modeling and combining pre-defined process components. This leads to a situation, where the full potential of process modeling techniques for aiding the daily development activities can not be achieved. Despite these difficulties the dissertation shows that it is possible to use modeling standards like SPEM to aid software developers in their work. The dissertation presents a light-weight modeling technique, which software development teams can use to quickly analyze their work practices in a more objective manner. The dissertation also shows how process modeling can be used to more easily compare different software development situations and to analyze their differences in a systematic way. Models also help to share this knowledge with others. A qualitative study done amongst Finnish software practitioners verifies the conclusions of other studies in the dissertation. Although processes and development methodologies are seen as an essential part of software development, the process modeling techniques are rarely used during the daily development work. However, the potential of these techniques intrigues the practitioners. As a conclusion the dissertation shows that process modeling techniques, most commonly used as tools for process engineers, can also be used as tools for organizing the daily software development work. This work presents theoretical solutions for bringing the process modeling closer to the ground-level software development activities. These theories are proven feasible by presenting several case studies where the modeling techniques are used e.g. to find differences in the work methods of the members of a software team and to share the process knowledge to a wider audience.Siirretty Doriast
    • 

    corecore