357,406 research outputs found

    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

    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

    Integration and Deployment Techniques in Combination with Development Methodologies

    Get PDF
    Efficient and inefficient pairings of software development methodologies and software integration and deployment techniques exist. Often times the automation of code integration and deployment is chosen but the full benefit of these technologies are throttled by the incorporation of a development methodology. It can be hypothesized that the evolution of software development created this situation along with the latency of implementing development methodologies. This work examines four scenarios comprised of traditional and conventional development methodologies with manual and automated software integration and deployment techniques. Similar web-based software applications were selected from waterfall (traditional) and agile (conventional) run project development teams. The four scenarios were quantitatively analyzed through the use of a subjective component which took into account the common characteristics of each scenario. It was thought that the use of automation within an agile development methodology would show clear distinction when compared to the other three evaluation scenarios. However as discussed in the analysis, automated integration and deployment technologies benefited both waterfall and agile methodologies. Though due to agile\u27s foundational characteristics of small iterations with constant integration and deployments, the automation of both practices had more of a realized value and benefit

    The software development process of ecommerce systems

    Get PDF
    Today, in the new economy, while the possibilities for software are seemingly limitless, so is the growing demand. The problem is that speed and quality have typically been opposing forces in software development, and they still are. In the past, businesses could sacrifice software quality to respect the deadlines, or compromise on software features to meet time-to-market deadlines. In the new Internet economy, it have no choice: the software developers must produce higher quality software. For this reason in the paper, we described the key points of software development process in the new economy, trends and major characteristics, the evolution of this process. In particular, the ecommerce system development methodologies which resolve the problems of e-business applications.ecommerce systems, software development process, CMS-Content Management Systems, new economy, new business

    Adaptive and dynamic characteristics in hybrid agile management model for software development project success

    Get PDF
    The management of traditional software development methodologies and agile software development methodologies over the decades have not worked to its expectation in increasing the success rates of software projects. The Agile Manifesto in 2001 had promised to better manage IT projects with its 4 values and 12 principles but project success still appears to be elusive. The study and application of critical success and failure factors have been done by researchers but these factors are quick remedy solutions and not long-term robust improvements in the management of development methodologies. More research is required into the management of traditional and agile methodologies characteristics instead of success and failure factors. The coexistence of these characteristics as hybrid methods has also provided evidence of an increase in productivity and further research is required to strengthen and close current gaps in the management of hybrid methodologies. An empirical method with a quantitative approach is adopted to collect data with questionnaires from software development focus groups involved in industry projects. The data collected is analyzed using the Statistical Package for the Social Sciences (SPSS) technique and the Partial Least Squares (PLS) tool. The findings provide a set of significant characteristics of adaptive and dynamic features, which are combined with organizational objectives to prove there is a strong relationship between project success with hybrid methods and hybrid combination patterns

    Analysis and design of multiagent systems using MAS-CommonKADS

    Get PDF
    This article proposes an agent-oriented methodology called MAS-CommonKADS and develops a case study. This methodology extends the knowledge engineering methodology CommonKADSwith techniquesfrom objectoriented and protocol engineering methodologies. The methodology consists of the development of seven models: Agent Model, that describes the characteristics of each agent; Task Model, that describes the tasks that the agents carry out; Expertise Model, that describes the knowledge needed by the agents to achieve their goals; Organisation Model, that describes the structural relationships between agents (software agents and/or human agents); Coordination Model, that describes the dynamic relationships between software agents; Communication Model, that describes the dynamic relationships between human agents and their respective personal assistant software agents; and Design Model, that refines the previous models and determines the most suitable agent architecture for each agent, and the requirements of the agent network

    What Makes Agile Development Different?: A Case Study of Agile In Practice

    Get PDF
    Agile development methods have been described by proponents as being the best way to deal with the dynamic nature of software development in organizations, yet looking at agile practices of the major agile methodologies reveals many practices that have been used in the past. This work examined agile practices from the perspective of software development professionals and identified four characteristics of agile approaches that contribute to its perceived utility
    corecore