Filters
total: 591
filtered: 334
Search results for: software development
-
Modern Methods of Software Development
PublicationSoftware development methods consist of such activities like analysis, planning, development, testing, deployment, maintenance and retirement. All of them can be divided into two main categories - traditional and agile. The objective of this paper is to review some of the most popular traditional, agile and open source development methods. Special attention was paid to the common stages of all methods - testing and maintenance.
-
Emotions in the software development process
PublicationThis paper presents the results of a survey on the experience of emotions in the work of software developers. Quantitative analysis revealed information about emotions affecting programmers, their frequency and impact on their performance. The concept of emotional risk to productivity was also presented. It allows to choose the emotional states, which should be avoided. Furthermore, all collected data were analyzed with information...
-
Software development methodologies and practices in start-ups
PublicationSoftware start-ups are aiming to develop cutting-edge software products under highly uncertain conditions, overcoming fast-growing markets under multiple influences. This study aims to identify and analyse the existing scientific literature regarding software development methodologies and practices in software start-ups published between January 2006 and December 2017 using the systematic mapping study. The results identified 37...
-
MaliciousIDE – software development environment that evokes emotions
PublicationEmotions affect every aspect of human live, including work. Numerous studies in software engineering have shown that negative emotions can lower the productivity of programmers. Unlike traditional approaches to managing software development, modern methods, such as Agile and Lean, take into account human aspects of programming. To thoroughly investigate the impact of negative emotions on the work of programmers, a malicious integrated...
-
Adopting Collaborative Games into Agile Software Development
PublicationAlthough the emergence of agile methods has triggered a growing awareness that social factors have a crucial impact on the success of software projects, neither the Scrum Guide nor the Agile Manifesto prescribe techniques that aid the human side of software development. To address this challenge, we enriched the Scrum process with a set of collaborative games. Collaborative games refer to techniques inspired by game play, but designed...
-
Institutionalization of knowledge sharing in a software development organization
PublicationZaproponowano podejście modelowe do problemu wymiany wiedzy. Omówiono implementację modelu na przykładzie instytucji zajmującej się produkcja oprogramowania komputerowego.
-
Artificial intelligence for software development — the present and the challenges for the future
PublicationSince the time when first CASE (Computer-Aided Software Engineering) methods and tools were developed, little has been done in the area of automated creation of code. CASE tools support a software engineer in creation the system structure, in defining interfaces and relationships between software modules and, after the code has been written, in performing testing tasks on different levels of detail. Writing code is still the task...
-
Towards the participant observation of emotions in software development teams
PublicationEmotions, moods and temperament influence our behaviour in every aspect of life. Until now plenty of research has been conducted and many theories have been proposed to explain the role of emotions within the working environment. However, in the field of software engineering, interest in the role of human factors in the process of software development is relatively new. In the paper the research design process that has been proposed...
-
Improving agility and discipline of software development with the Scrum and CMMI
PublicationThis study presents a method of combining the Scrum methodology with the CMMI maturity model to improve bothagility and discipline of software development. First, the authors propose the CMMI-Scrum reference model, which maps Scrumpractices onto 123 practices of CMMI staged levels 2 and 3. For 60% of CMMI practices, which are insufficiently covered byScrum they add new practices that improve discipline while maintaining agility....
-
Utilizing online collaborative games to facilitate Agile Software Development
PublicationEffective collaboration and interaction among the development team and between the team and the customer as well as proactive attitude in initiating and implementing improvements play vital roles in the success of agile projects. The challenge is how to address these social aspects since neither the Agile Manifesto nor the Scrum Guide specify techniques that aid the human side of software development. To fill this gap, we developed...
-
An approach to improving agility and discipline of software development with Scrum and CMMI
PublicationThe paper reports on two case studies of combining the Scrum methodology with the CMMI maturity model to improve together agility and discipline of software development. First, we propose the CMMI-Scrum reference model, which maps Scrum practices onto 123 practices of CMMI Staged level 2 and 3. Then, for 60% of CMMI practices, which are insufficiently covered by Scrum we extend Scrum with new practices that improve discipline while...
-
A Qualitative Study on Non-functional Requirements in Agile Software Development
PublicationWidespread use of agile software development (ASD) methods can be observed nowadays. Non-functional requirements (NFRs) are often reported to be a problematic issue for agile projects, since ASD methods tend to neglect NFRs while focusing on incremental delivery of functional features. Despite that, only very few studies have explored the requirements engineering practices used in ASD and dedicated particularly to NFRs. Objective:...
-
Safety of computer control systems: challenges and results in software development.
PublicationArtykuł dokonuje przeglądu wybranych wyników dotyczących poprawy bezpieczeństwa komputerowych systemów sterowania. Dyskusja pokrywa szeroki zakres aspektów dotyczących procesu wytwarzania takich systemów. W szczególności omówiono zagadnienia dotyczące różnorodności oprogramowania, oprogramowania off-the-shelf, analizy typów awarii i ich efektów oraz formalizacji procesu wytwórczego.
-
Perceptions of Gender Diversity's Impact on Mood in Software Development Teams
PublicationGender inequality persists in IT teams. We examine how gender differentiation affects the workplace atmosphere and analyze the results of our study of the issue. We discuss the problem of gender discrimination and consider methods to reduce inequality
-
Exploring the Prevalence of Anti-patterns in the Application of Scrum in Software Development Organizations
PublicationThe paper presents a survey-based study that aimed to determine the prevalence of anti-patterns in the Scrum software development methodology. A total of 35 anti-patterns were selected from the literature review, and 42 respondents indicated whether they had encountered each anti-pattern in their organizations. The study found that``Unfinished Tasks'' was the most prevalent anti-pattern, highlighting the importance of proper planning...
-
A Machine Learning Approach for Estimating Overtime Allocation in Software Development Projects
PublicationOvertime planning in software projects has traditionally been approached with search-based multi-objective optimization algorithms. However, the explicit solutions produced by these algorithms often lack applicability and acceptance in the software industry due to their disregard for project managers' intuitive knowledge. This study presents a machine learning model that learns the preferred overtime allocation patterns from solutions...
-
Method of selecting programming practices for the safety-critical software development projects
PublicationIn recent years a plan-driven approach traditionally used in safety-critical software development has been put to a test by rapidly changing technologies, more diverse group of clients and volatile market requirements. The need to deliver good quality systems, faster and at lower cost in comparison to competitors encouraged companies to look for more efficient solutions. Agile methodologies are known to successfully address these...
-
Meeting Requirements Imposed by Secure Software Development Standards and Still Remaining Agile
PublicationThe paper introduces the AgileSafe method of selecting agile practices for software development projects that are constrained by assurance requirements resulting from safety and/or security related standards. Such requirements are represented by argumentation templates which explain how the evidence collected during agile practices implementation will support the conformity with the requirements. Application of the method is demonstrated...
-
AgileSafe – a method of introducing agile practices into safety-critical software development processes
PublicationThis article introduces AgileSafe, a new method of incorporating agile practices into critical software development while still maintaining compliance with the software assurance requirements imposed by the application domain. We present the description of the method covering the process of its application and the input and output artefacts.
-
Experience with instantiating an automated testing process in the context of incremental and evolutionary software development
PublicationThe purpose of this article is to present experiences from testing a complex AJAX-based Internet-system which is under development for more than five years. The development process follows incremental and evolutionary lifecycle model and the system is delivered in subsequent releases. Delivering a new release involves both, the new tests (related to the new and/or modified functionalities) and the regression tests (after their...
-
Scientific Collaboration, Citation and Topic Analysis of International Conference on Agile Software Development Papers
PublicationThe International Conference on Agile Software Development (XP) was established almost sixteen years ago. Based on data from Scopus database, a total of 789 papers have been published in between years of 2002 and 2018. We employed bibliometrics analysis and topic modeling with R/RStudio to analyze these published papers from various dimensions, including the most active authors, collaboration of authorship, most cited papers, used...
-
Preliminary Citation and Topic Analysis of International Conference on Agile Software Development Papers (2002-2018)
PublicationThis study utilizes citation analysis and automated topic analysis of papers published in International Conference on Agile Software Development (XP) from 2002 to 2018. We collected data from Scopus database, finding 789 XP papers. We performed topic and trend analysis with R/RStudio utilizing the text mining approach, and used MS Excel for the quantitative analysis of the data. The results show that the first five years of XP...
-
A Systematic Literature Review on Implementing Non-functional Requirements in Agile Software Development: Issues and Facilitating Practices
PublicationAgile Software Development methods have become a widespread approach used by the software industry. Non-functional requirements (NFRs) are often reported to be a problematic issue for such methods. We aimed to identify (within the context of Agile projects): (1) the issues (challenges and problems) reported as affecting the implementation of NFRs; and (2) practices that facilitate the successful implementation of NFRs. We conducted...
-
Machine Learning Assisted Interactive Multi-objectives Optimization Framework: A Proposed Formulation and Method for Overtime Planning in Software Development Projects
PublicationMachine Learning Assisted Interactive Multi-objectives Optimization Framework: A Proposed Formulation and Method for Overtime Planning in Software Development Projects Hammed A. Mojeed & Rafal Szlapczynski Conference paper First Online: 14 September 2023 161 Accesses Part of the Lecture Notes in Computer Science book series (LNAI,volume 14125) Abstract Software development project requires proper planning to mitigate risk and...
-
Pączkowanie - metoda rozwoju interoperacyjnych komponentów dla systemów rozproszonych = Budding – the software development method of interoperable components for distributed systems
PublicationPrzedstawiono 2 współczesne metody wytwarzania oprogramowania: iteracyjno-przyrostową oraz techniki zwinne, ich zalety i wady w kontekście budowy interoperacyjnych platform i środowisk rozproszonych. Zaprezentowano metodę rozwoju oprogramowania przez pączkowanie, jej założenia, zalety i wady. Przedstawiono technologie, na bazie których działa metodologia wytwarzania oprogramowania przez pączkowanie: Software Product Line, Enterprise...
-
Towards Agile Development of Critical Software
PublicationThe paper presents a case study aiming at collecting opinions of software en-gineers on the risks related to integration of agile practices to safety-critical software development projects. The study has been performed within the scope of our research targetting at providing critical software developers with a comprehensive solution allowing to incorporate agile practices into software development process while still being conformant...
-
Agile Development of Critical Software - Can It be Justified?
PublicationThe paper introduces the problem of application of agile practices in critical software development projects. It summarizes the present state of research and identifies the need for having a ready-to-use model of being agile while still meeting the required assurance levels which could be particularly useful for small and medium sized safety-critical software companies. Then the objective and scope of a research aiming at delivering...
-
Software for development and communication with FPGA based hardware
Publication -
Applying agiile practices to the development of safety-critical software
PublicationDevelopment of safety critical software is subjected to numerous restrictions and recommendations. To meet these requirements classical software development models (e.g. V-model) are usually applied. Agile methodologies, although rapidly increasing their popularity, were generally regarded as unsuitable for such projects. However, they offer potential benefits which provide a strong incentive to incorporate them into safety-critical...
-
Introducing agile practices into development processes of safety critical software
PublicationIn this paper we present AgileSafe - a method which supports introduction of agile practices into safety-critical software development processes. To represent safety assurance constraints resulting from the regulatory context, AgileSafe uses assurance case patterns. The knowledge base of AgileSafe helps the user to select the agile practices relevant for the considered software development project. The corresponding assurance case...
-
development of an open source software to transform acoustic data for classification of benthic habitat
Publication.
-
Review of intelligent software architectures for the development of an intelligent decision support system for design process planning in concurrent engineering
PublicationW artykule poddano dogłębnej analizie szereg inteligentnych technik miękkie-go modelowania pod katem ich przydatności w obszarze wspomagania procesówplanowania dla inżynierii współzadaniowej. Skoncentrowano się na wspomaganiujednego z najważniejszych obszarów inżynierii współzadaniowej, a mianowicieprocesu projektowania. W wyniku analizy zaproponowano architekturę wspomaga-nia opartą na tablicowej bazie wiedzy modelującej wnioskowanie...
-
Heuristic Minimization of Symmetric Index Generation Functions utilizing their Properties
Publication -
Revsable framework for telecontrol protocols. W: Springer Homepage [online] Proceedings. Second International ESPRIT ARES Workshop on Development and Evolution of Software Architectures for Product Families. Las Palmas de Gran Canaria, Spain, February 26-27, 1998. [Dostęp: 20 grudnia**2002]. Ed. F. van der Linden. Dostępny w World Wide Web: http://link.springer.de/link/ /service/series/0558/tocs/t1429.htm [s. 6-13, 5 rys. bibliogr. 6 poz.] Wzorce wielokrotnego wykorzystania oprogramowania protokołów telesterowa- nia.
PublicationZaprezentowano wzorzec COMSOFT wielokrotnego wykorzystania oprogramowania o-pracowany dla protokołów telesterowania. Jego podstawy tworzą: metodologiaobiektowa i wzorce wielokrotnego użycia. Zastosowanie wzorców wspomagają:biblioteka komponentów, wykorzystywanych we wszystkich fazach konstrukcji o-programowania oraz procedury użytkowania i parametryzacji. Opracowane wzorcezostały praktycznie zastosowane do konstrukcji oprogramowania...
-
Ontology-Aided Software Engineering
PublicationThis thesis is located between the fields of research on Artificial Intelligence (AI), Knowledge Representation and Reasoning (KRR), Computer-Aided Software Engineering (CASE) and Model Driven Engineering (MDE). The modern offspring of KRR - Description Logic (DL) [Baad03] is considered here as a formalization of the software engineering Methods & Tools. The bridge between the world of formal specification (governed by the mathematics)...
-
Antecedents to Achieve Kanban Optimum Benefits in Software Companies
PublicationIn 2004, Kanban successfully entered into the Agile and Lean realm. Since then software companies have been increasingly using it in software development teams. The goal of this study is to perform an empirical investigation on antecedents considered as important for achieving optimum benefits of Kanban use and to discuss the practical implications of the findings. We conducted an online survey with software professionals from...
-
Psychological inspirations in empirical software engineering.
PublicationSoftware development is people-intensive activity. Incorporation of human factors in empirical studies of software engineering can bring many benefits for both researchers and practitioners. Psychological inspirations can facilitate this task. In this paper, such incorporation is presented in the contexts of the objectives and problems in empirical studies, applicability of the results in the business context of software enterprise,...
-
Strategies for Dealing With Software Product Management Challenges
PublicationSoftware product management, which involves multiple processes and responsibilities and links to many activities within the organisation, increases the success rate of IT projects. However, the adoption of product management activities and the implementation of the software product manager role itself varies between companies. This research explores the topic of software product managers’ strategies for dealing with challenges...
-
DECISION - MAKING IN VIRTUAL SOFTWARE TEAMS USING CLOUD PLATFORMS
PublicationSoftware development projects are usually realized by traditional or virtual IT teams using computing clouds. Team collaboration requires decision - making regarding essential aspects of a project progress. The article concerns methods of decision – making process in the case of traditional and virtual teams’ work. The research results conducted in a group of IT specialists are presented, and to analyze their preferences in decision-making...
-
Integration and Dependency in Software Lifecycle Based on Jazz Platform
PublicationSoftware delivery organizations are being asked to meet goals that seem mutually exclusive. Teams are asked to increase product quality, accelerate time to market, and meet increasing mandates from regulatory bodies. As software solutions and software development environments become rapidly more complex. Many business drivers compound these challlenges.
-
Acceptance Testing of Software Products for Cloud-Based On-Line Delivery
PublicationSoftware products intended for on-line delivery by distributors serving an open community of subscribers are developed in a specific life-cycle model, in which roles of the major stakeholders are strongly separated, unlike in any other software development model known in software engineering. Its specificity underlines the fact that a distributor of the final product, responsible for its acceptance for publication and delivery...
-
A comprehensive overview of software product management challenges
PublicationThe principal focus of software product management is to ensure the economic success of the product, which means to prolong the product life as much as possible with modest expenditures to maximizs profits. Software product managers play an important role in the software development organization while being responsible for the strategy, business case, product roadmap, high-level requirements, product deployment (release-management),...
-
DevEmo—Software Developers’ Facial Expression Dataset
PublicationThe COVID-19 pandemic has increased the relevance of remote activities and digital tools for education, work, and other aspects of daily life. This reality has highlighted the need for emotion recognition technology to better understand the emotions of computer users and provide support in remote environments. Emotion recognition can play a critical role in improving the remote experience and ensuring that individuals are able...
-
Software Factory project for enhancement of student experiential learning
PublicationProviding opportunities for students to work on real-world software development projects for real customers is critical to prepare students for the IT industry. Such projects help students to understand what they will face in the industry and experience real customer interaction and challenges in collaborative work. To provide this opportunity in an academic environment and enhance the learning and multicultural teamwork experience,...
-
Supporting Software Project Management Processes Using the Agent System
PublicationThe natural development of information technology area stimulates intense growth of various technologies which support basic organization processes. The range of technologies implies appropriate management thereof, as well as accurate correspondence with conducted activities. Abandonment of activities within individual branches in favour of project approach to performed assignments (especially those connected with software development)...
-
On the Business Analyst's Responsibilities in an Agile Software Project - A Multi-Method Study
Publication[Context] Agile methods are now used in the majority of software projects, but the definitions of such methods rarely include the role of a business analyst (BA). [Objective] This paper investigates the responsibilities assigned to BAs participating in agile software projects. [Method] We identified potential responsibilities through a systematic literature review (3 databases) and interviews with 6 practitioners. The most commonly...
-
Teaching management skills to software develop- ment teams through the lean start-up methodology
PublicationIn order for development teams to understand the impact of software development on value delivery it is important that all team members, including software engineers, possess adequate management skills which not always have been acquired during university education. The lean start-up methodology techniques enable new ventures to test hypothesis, gather customer feed- back and create a minimum viable product. The obtained information...
-
Memetic approach for multi-objective overtime planning in software engineering projects
PublicationSoftware projects often suffer from unplanned overtime due to uncertainty and risk incurred due to changing requirement and attempt to meet up with time-to-market of the software product. This causes stress to developers and can result in poor quality. This paper presents a memetic algorithmic approach for solving the overtime-planning problem in software development projects. The problem is formulated as a three-objective optimization...
-
Computer -Aided Local Energy Planning Using ALEP-PL Software
PublicationThe issue of energy system planning, including the planning of local energy systems, is critical, since it affects the security of energy supplies in communities, regions, and consequently the security of energy supply within the country. Energy planning is a complex process that requires integration of different goals i.e. improvement of energy efficiency, increase in the share of renewables in the energy balance and CO2} emission...
-
Extracting concepts from the software requirements specification using natural language processing
PublicationExtracting concepts from the software require¬ments is one of the first step on the way to automating the software development process. This task is difficult due to the ambiguity of the natural language used to express the requirements specification. The methods used so far consist mainly of statistical analysis of words and matching expressions with a specific ontology of the domain in which the planned software will be applicable....