330 research outputs found

    A hierarchy of SPI activities for software SMEs: results from ISO/IEC 12207-based SPI assessments

    Get PDF
    In an assessment of software process improvement (SPI) in 15 software small- and –medium-sized enterprises (software SMEs), we applied the broad spectrum of software specific and system context processes in ISO/IEC 12207 to the task of examining SPI in practice. Using the data collected in the study, we developed a four-tiered pyramidal hierarchy of SPI for software SMEs, with processes in the higher tiers undergoing SPI in more companies than processes on lower level tiers. The development of the hierarchy of SPI activities for software SMEs can facilitate future evolutions of process maturity reference frameworks, such as ISO/IEC 15504, in better supporting software development in software SMEs. Furthermore, the findings extend our body of knowledge concerning the practice of SPI in software SMEs, a large and vital sector of the software development community that has largely avoided the implementation of established process maturity and software quality management standards

    Software development roles: a multi-project empirical investigation

    Get PDF
    In our earlier research work, we developed a conceptual framework that identifies the different types of roles that can exist in contemporary software development projects (including both agile and traditional software development approaches). The purpose of the framework is to assist software project managers when tuning software development project roles to the demands of individual projects, with our previous research indicating that there is a need to tailor software development roles to individual projects. In this work, we extend the earlier research through the use of a series of semi-structured interviews within seven Turkish software companies. The results, which are consistent with previous findings, offer further evidence of the usefulness of the framework, while also identifying possible areas for future work in this space

    Effective social productivity measurements during software development: an empirical study

    Get PDF
    Much of contemporary scientific discussion regarding factors that influence software development productivity is undertaken in various domains where there is an insufficient empirical basis for exploring socio-technical factors of productivity that are specific to a software development organization. The purpose of the study is to characterize the multidimensional nature of software development productivity and its social aspects as a set of latent constructs (i.e. variables that are not directly observed) for a medium-sized software company. To this end, we designed an exploratory in-depth field study based on the hypothesized productivity constructs, which were modeled by a set of factors identified from literature reviews, and later refined by industrial focus groups. In order to demonstrate the applicability of our approach, we conducted confirmatory factor analysis with the data attained from a questionnaire with 216 participants. To investigate factors of influence further, we analyzed the impact of selected team-based variables over the latent constructs of productivity. Taken together, our findings confirm that such an approach can be used to explore the quantifiable influence of socio-technical factors that would affect productivity of a particular software development organization. Ultimately, the resulting model provides guidance to explore the comparative importance of a set of firm-specific factors that may help to improve the productivity of the organization

    Exploring the relationship between software process adaptive capability and organisational performance

    Get PDF
    Software development is a complex socio-technical activity, with the result that software development organisations need to establish and maintain robust software development processes. While much debate exists regarding the effectiveness of various software development approaches, no single approach is perfectly suited to all settings and no setting is unchanging. The capability to adapt the software process is therefore essential to sustaining an optimal software process. We designed an exploratory study to concurrently examine software process adaptive capability and organisational performance in 15 software development organisations, finding that companies with greater software process adaptive capability are shown to also experience greater business success. While our exploratory study of the complex relationship between these phenomena is limited in some respects, the findings indicate that software process adaptive capability may be worthy of further integration into software process engineering techniques. Software process adaptive capability may be an important organisational strength when deriving competitive advantage, and those responsible for the creation and evolution of software process models and methodologies may want to focus some of their future efforts in this area

    Teaching ISO/IEC 12207 software lifecycle processes: a serious game approach

    Get PDF
    Serious games involve applying game design techniques to tasks of a serious nature. In particular, serious games can be used as informative tools and can be embedded in formal education. Although there are some studies related to the application of serious games for the software development process, there is no serious game that teaches the fundamentals of the ISO/IEC 12207:1995 Systems and software engineering – Software life cycle processes, which is an international standard for software lifecycle processes that aims to be ‘the’ standard that defines all the tasks required for developing and maintaining software. “Floors” is a serious game that proposes an interactive learning experience to introduce ISO/IEC 12207:1995 by creating different floors of a virtual environment where various processes of the standard are discussed and implemented. Inherently, it follows an iterative process based on interactive technical dialogues in a 3D computer simulated office. The tool is designed to assess the novice engineering practitioners knowledge and provide preliminary training for ISO/IEC 12207:1995 processes. By playing such a game, participants are able to learn about the details of this standard. The present study provides a framework for the exploration of research data obtained from computer engineering students. Results suggest that there is a significant difference between the knowledge gained among the students who have played Floors and those who have only participated in paper-based learning sessions. Our findings indicate that participants who played Floors tend to have greater knowledge of the ISO/IEC 12207:1995 standard, and as a result, we recommend the use of serious games that seem to be superior to traditional paper based approach

    Software Engineering Education and Games: A Systematic Literature Review

    Get PDF
    The trend in using games in elementary level education also spreads through higher education levels and specific domains such as engineering. Recently, researchers have shown an increased interest in the usage of games in software engineering. In this paper, we are presenting a systematic review and analysis of 350 papers regarding games in software engineering education that was published in the last fifteen years. After applying our inclusion criteria and manual inspection of these studies, we have ended up with 53 primary papers. Based on a systematic process, we reported and discussed our findings with possible future research directions. The main results of this study indicate that the studies are accumulated around 5 categories: Games that learners/students play, games that learners/students develop as projects, curriculum proposals, developing/coming up with new approaches, tools, frameworks or suggestions and others

    Examining reward mechanisms for effective usage of application lifecycle management tools

    Get PDF
    Application lifecycle management (ALM) highlights the rules of the road for the entire software ecosystems’ lifecycle. Successful ALM enables clarity around the entire delivery effort, from defining requirements to deploying the software product. One of the challenges in software engineering today is to orchestrate ALM tools to a set of software projects effectively. In particular, it is challenging for software practitioners to continuously fully engage with the tasks that are assigned to them. The goal of this study is to address such situations using a game theoretic approach by utilizing a reward mechanism, which we intent to test in a medium-sized software development organization. Based on a set of game elements, this study proposes an auction mechanism to address human resource allocation and task optimization issues, and consequently tackle the potential problem of software practitioners’ engagement

    Harnessing software development contexts to inform software process selection decisions

    Get PDF
    Software development is a complex process for which numerous approaches have been suggested. However, no single approach to software development has been met with universal acceptance, which is not surprising, as there are many different software development concerns. In addition, there are a multitude of other contextual factors that influence the choice of software development process and process management decisions. The authors believe it is important to develop a robust mechanism for relating software process decisions and software development contexts. Such an approach supports industry practitioners in their efforts to implement the software development processes vital for a particular set of contextual factors. In this paper, the authors outline a new tool-based framework for relating the complexity of software settings with the various aspects of software processes. This framework can extract the key software process concepts from process repositories, for example, from CMMI-DEV or ISO/IEC 15504-5 (a.k.a. SPICE – Software Process Improvement and Capability dEtermination). A team of software development experts then collaborates in order to identify and validate the strength and nature of the relationship between the key process concepts and the contextual factors that are known to affect the software development process. The result of this collaboration is a prototype of a flexible model, which can be extended over time into a broader process consideration, for example, where agile processes or further specific situational factors could be added to the framework. The authors contend that a model such as the one proposed in this paper can serve as a valuable tool, assisting software developers in making decisions regarding the selection of software best practices, as well as providing general guidance for process improvement initiatives
    • 

    corecore