Search results for "Software Development Process"
showing 10 items of 33 documents
A STEEPLED Analysis of the SPI Manifesto
2019
Software Process Improvement (SPI) has been founded on the belief that a well-defined and executed process is likely to produce a high-quality pro-duct. Improving a product might provide insights for future improvement efforts. However, this bottom-up approach does not necessarily lead to improvement, considering in particular that software products/artefacts are usually, unique. In contrast, an improved process is a top-down approach, which is applicable to all products (outputs and outcomes). The SPI Manifesto places people, business focus, and organisational change at the core of Software Process Improvement practices. In so doing, certain SPI principles guide the behaviour of individual…
The IEEE-FIPA Standard on the Design Process Documentation Template
2014
Nowadays, it is a matter of fact that a “one-size-fit-all” methodology or design process useful and fitting every kind of problem, situation, or design context does not exist. (Situational) Method Engineering (SME) discipline aims at determining techniques and tools for developing ad hoc design methodologies. SME mainly and highly focuses on the reuse of portion of existing design processes or methodologies (the method fragments). In order to have means for creating SME techniques and tools and for creating new design processes, some key elements are needed: a unique process metamodel for representing design processes and fragments, a proper template for the description of AO design process…
Method fragments for agent design methodologies: from standardisation to research
2007
The method engineering paradigm enables designers to reuse portions of design processes (called method fragments or chunks in literature) to build processes that are expressly tailored for realising a system that is specific for some problem or development context. This paper initially reports on the standardisation attempt carried out by the FIPA Methodology Technical Committee (TC) and then presents the research activities we did starting from that work; these resulted in a slightly different definition of some of the most important elements of the approach in order to support a multiview representation of the fragment (the views are process, reuse, storing and implementation). The paper …
Composition of a New Process to Meet Agile Needs Using Method Engineering
2005
The need of developing a new software engineering process to allow the quick prototyping of some robotic applications and meet the requests by some companies for a development process that was shorter than PASSI, gave us the opportunity of applying our studies on the assembling of a new SEP by reusing parts (called method fragments) from other processes. In this paper we discuss our approach that, starting from the method engineering paradigm, adapts and extends it considering specific agent-oriented issues like the multi-agent system meta-model. The final result of our experiment (Agile PASSI) is presented together with the requirements that motivated its structure. © Springer-Verlag Berli…
Use and Identification of Components in Component-Based Software Development Methods
2000
New software systems are needed ever more but to keep up with this trend software developers must learn to create quality software more efficiently. One approach is to (re-)use components as building blocks of the new software. Recently there has been more interest to create component-based software development methods to support this. In this article we first set out requirements for reuse-based software development and then evaluate three component-based methods, namely Catalysis, OMT++, and Unified Process. As a conclusion we argue that evaluated methods produce prefabricated components and that component-based means that software developers can change better components to existing syste…
Introduction
2014
Nowadays, software engineers face a wide range of particular application domains such as electronic commerce, enterprise resource planning, mobile computing, self-organisation, pervasive and adaptive computing, etc. The resulting heterogeneity and required functionalities call for complex systems and open architectures that may evolve dynamically over time so as to accommodate new components and meet new requirements. This is probably one of the main reasons why the agent metaphor and agent-based computing are gaining momentum in these areas.
A Tool-Based Approach for Essentializing Software Engineering Practices
2019
Software Engineers work using highly diverse methods and practices, and general theories in software engineering are lacking. A recent attempt at creating a common ground in the area of software engineering methodologies has been the Essence Theory of Software Engineering. Essence is a method-agnostic progress management framework and a meta-method for Software Engineering (SE). However, tooling for Essence is still lacking. Without dedicated tools and other instruments, a meta-method such as Essence is cumbersome to utilize by practitioners and students. Indeed, Essence currently suffers from a lack of widespread practitioner adoption. In this paper, we thus present an Open Source tool for…
Programming distributed applications with symbolic reasoning on WSNs
2015
Programming Wireless Sensor Networks (WSNs) is a complex task for which existing approaches adopt rigid architectures that are only suitable for specific application fields. In previous papers we introduced a programming methodology and a lightweight middleware based on high-level programming and executable code exchange for distributed processing on WSNs. In this paper, we show how high-level programming can be effectively used on WSNs to implement symbolic reasoning. In order to prove the feasibility of our approach, we present a Fuzzy Logic system where the value updates and the rule evaluations are performed in a distributed way. Through the proposed methodology, we discuss the developm…
High-level Programming and Symbolic Reasoning on IoT Resource Constrained Devices
2015
While the vision of Internet of Things (IoT) is rather inspiring, its practical implementation remains challenging. Conventional programming approaches prove unsuitable to provide IoT resource constrained devices with the distributed processing capabilities required to implement intelligent, autonomic, and self-organizing behaviors. In our previous work, we had already proposed an alternative programming methodology for such systems that is characterized by high-level programming and symbolic expressions evaluation, and developed a lightweight middleware to support it. Our approach allows for interactive programming of deployed nodes, and it is based on the simple but effective paradigm of …
Apathy Towards the Integration of Usability Work: A Case of System Justification
2016
In this article we report from a case study of a software development organization and we study in particular the developers’ and product managers’ attitudes towards integrating usability work into software development. We offer explanations based on system justification theory illuminating what would-be integrators might be up against. The analysis shows how the developers only pay lip service to usability work and how they treat users superficially. It further shows how that leads to stereotyping of usability designers and users in order to preserve status quo, and how internalization of inequality between the developers and usability designers rationalizes the preservation of status quo.…