235,621 research outputs found

    Insights from expert software design practice

    Get PDF
    Software is a designed artifact. In other design disciplines, such as architecture, there is a well-established tradition of design studies which inform not only the discipline itself but also tool design, processes, and collaborative work. The 'challenge' of this paper is to consider software from such a 'design studies' perspective. This paper will present a series of observations from empirical studies of expert software designers, and will draw on examples from actual professional practice. It will consider what experts' mental imagery, software visualisations, and sketches suggest about software design thinking. It will also discuss some of the deliberate practices experts use to promote innovation. Finally, it will open discussion on the tensions between observed software design practices and received methodology in software engineering

    Heuristic Theorizing in Software Development: Deriving Design Principles for Smart Glasses-based Systems

    Get PDF
    Design knowledge on smart glasses-based systems is scarce. Utilizing literature analysis on software development publications, insights from the design and implementation of four smart glasses-based systems and expert interviews, we elicited 16 design principles to provide guidance in the development of future service support systems. Heuristic Theorizing is an abductive Design Science Research method, hitherto far too little known or little noticed, which was applied to conduct the research. We contribute to theory and practice with applicable design principles to support the development of smart glasses-based systems. Phenomena known to have an impact on the adoption of smart glasses are addressed by these design principles

    Support for collaborative component-based software engineering

    Get PDF
    Collaborative system composition during design has been poorly supported by traditional CASE tools (which have usually concentrated on supporting individual projects) and almost exclusively focused on static composition. Little support for maintaining large distributed collections of heterogeneous software components across a number of projects has been developed. The CoDEEDS project addresses the collaborative determination, elaboration, and evolution of design spaces that describe both static and dynamic compositions of software components from sources such as component libraries, software service directories, and reuse repositories. The GENESIS project has focussed, in the development of OSCAR, on the creation and maintenance of large software artefact repositories. The most recent extensions are explicitly addressing the provision of cross-project global views of large software collections and historical views of individual artefacts within a collection. The long-term benefits of such support can only be realised if OSCAR and CoDEEDS are widely adopted and steps to facilitate this are described. This book continues to provide a forum, which a recent book, Software Evolution with UML and XML, started, where expert insights are presented on the subject. In that book, initial efforts were made to link together three current phenomena: software evolution, UML, and XML. In this book, focus will be on the practical side of linking them, that is, how UML and XML and their related methods/tools can assist software evolution in practice. Considering that nowadays software starts evolving before it is delivered, an apparent feature for software evolution is that it happens over all stages and over all aspects. Therefore, all possible techniques should be explored. This book explores techniques based on UML/XML and a combination of them with other techniques (i.e., over all techniques from theory to tools). Software evolution happens at all stages. Chapters in this book describe that software evolution issues present at stages of software architecturing, modeling/specifying, assessing, coding, validating, design recovering, program understanding, and reusing. Software evolution happens in all aspects. Chapters in this book illustrate that software evolution issues are involved in Web application, embedded system, software repository, component-based development, object model, development environment, software metrics, UML use case diagram, system model, Legacy system, safety critical system, user interface, software reuse, evolution management, and variability modeling. Software evolution needs to be facilitated with all possible techniques. Chapters in this book demonstrate techniques, such as formal methods, program transformation, empirical study, tool development, standardisation, visualisation, to control system changes to meet organisational and business objectives in a cost-effective way. On the journey of the grand challenge posed by software evolution, the journey that we have to make, the contributory authors of this book have already made further advances

    Enterprise Experience into the Integration of Human-Centered Design and Kanban

    Get PDF
    he integration of Human-Centered Design (HCD) and Agile Software Development (ASD) promises the development of competitive products comprising a good User Experience (UX). This study has investigated the integration of HCD and Kanban with the aim to gain industrial experiences in a real world context. A case study showed that requirements flow into the development process in a structured manner by adding a design board. To this end, the transparency concerning recurring requirements increased. We contribute to the body of knowledge of software development by providing practical insights into Human-Centered Agile Development (HCAD). On one hand, it is shown that the integration of HCD and Kanban leads to a product with a good UX and makes the development process more human-centered. On the other hand, we conclude that a cross-functional collaboration speeds up product development.Ministerio de EconomĂ­a y Competitividad TIN2013-46928-C3-3-RMinisterio de EconomĂ­a y Competitividad TIN2015-71938-RED

    Design Principles for High-Performance Blended Learning Services Delivery - The Case of Software Trainings in Germany

    Get PDF
    The “perfect” orchestration of training participants, IT and process design is one of the ongoing challenges within blended learning service research and practice. Blended learning services (BLS) offer a great variety of options to design learning processes, overcoming many shortcomings of pure e-learning services and providing better scalability and more advantages for learners than pure face-to-face class teaching. Nevertheless, due to inconclusive results of blended learning design research in the literature, BLS designers can hardly find support for the systematic design of efficient and successful blended learning processes, which would enable a high degree of learning success with a balanced degree of delivery effort. Based on major determinants of BLS processes’ quality, the authors identify, develop, and evaluate design principles for high performance BLS using an action design research approach. They first derive a set of initial design principles, based on insights from literature and own exploratory case studies as well as workshops with experts from the field. They then improve the design principles iteratively in expert workshops as well as apply the design principles in four software training sessions. Finally, they present seven evaluated design principles for BLS, which are the core of a nascent design theory and contribute to a time-efficient and successful BLS delivery. Furthermore, these principles enable practitioners to systematically apply the design knowledge formalized within the principles in order to improve BLS design and delivery

    Guidelines Towards Better Participation of Older Adults in Software Development Processes using a new SPIRAL Method and Participatory Approach

    Full text link
    This paper presents a new method of engaging older participants in the process of application and IT solutions development for older adults for emerging IT and tech startups. A new method called SPIRAL (Support for Participant Involvement in Rapid and Agile software development Labs) is proposed which adds both sustainability and flexibility to the development process with older adults. This method is based on the participatory approach and user empowerment of older adults with the aid of a bootstrapped Living Lab concept and it goes beyond well established user-centered and empathic design. SPIRAL provides strategies for direct involvement of older participants in the software development processes from the very early stage to support the agile approach with rapid prototyping, in particular in new and emerging startup environments with limited capabilities, including time, team and resources

    Embedding accessibility and usability: considerations for e-learning research and development projects

    Get PDF
    This paper makes the case that if e‐learning research and development projects are to be successfully adopted in real‐world teaching and learning contexts, then they must effectively address accessibility and usability issues; and that these need to be integrated throughout the project. As such, accessibility and usability issues need to be made explicit in project documentation, along with allocation of appropriate resources and time. We argue that accessibility and usability are intrinsically inter‐linked. An integrated accessibility and usability evaluation methodology that we have developed is presented and discussed. The paper draws on a series of mini‐case studies from e‐learning projects undertaken over the past 10 years at the Open University

    Software Reuse in Agile Development Organizations - A Conceptual Management Tool

    Get PDF
    The reuse of knowledge is considered a major factor for increasing productivity and quality. In the software industry knowledge is embodied in software assets such as code components, functional designs and test cases. This kind of knowledge reuse is also referred to as software reuse. Although the benefits can be substantial, software reuse has never reached its full potential. Organizations are not aware of the different levels of reuse or do not know how to address reuse issues. This paper proposes a conceptual management tool for supporting software reuse. Furthermore the paper presents the findings of the application of the management tool in an agile development organization

    Expert Elicitation for Reliable System Design

    Full text link
    This paper reviews the role of expert judgement to support reliability assessments within the systems engineering design process. Generic design processes are described to give the context and a discussion is given about the nature of the reliability assessments required in the different systems engineering phases. It is argued that, as far as meeting reliability requirements is concerned, the whole design process is more akin to a statistical control process than to a straightforward statistical problem of assessing an unknown distribution. This leads to features of the expert judgement problem in the design context which are substantially different from those seen, for example, in risk assessment. In particular, the role of experts in problem structuring and in developing failure mitigation options is much more prominent, and there is a need to take into account the reliability potential for future mitigation measures downstream in the system life cycle. An overview is given of the stakeholders typically involved in large scale systems engineering design projects, and this is used to argue the need for methods that expose potential judgemental biases in order to generate analyses that can be said to provide rational consensus about uncertainties. Finally, a number of key points are developed with the aim of moving toward a framework that provides a holistic method for tracking reliability assessment through the design process.Comment: This paper commented in: [arXiv:0708.0285], [arXiv:0708.0287], [arXiv:0708.0288]. Rejoinder in [arXiv:0708.0293]. Published at http://dx.doi.org/10.1214/088342306000000510 in the Statistical Science (http://www.imstat.org/sts/) by the Institute of Mathematical Statistics (http://www.imstat.org
    • 

    corecore