3,940 results on '"Team software process"'
Search Results
2. How Process Helps You in Developing a High Quality Medical Information System
- Author
-
Akiyama, Yoshihiro, Kim, Tai-hoon, editor, Stoica, Adrian, editor, and Chang, Ruay-Shiung, editor
- Published
- 2010
- Full Text
- View/download PDF
3. A framework for evaluating and improving requirements specifications based on the developers and testers perspective
- Author
-
Tayana Conte, Bruno Gadelha, Gleison Santos, and Ana Carolina Oran
- Subjects
Team software process ,business.industry ,Computer science ,User story ,Perspective (graphical) ,Software development ,Identification (information) ,Order (business) ,Use case ,Design science research ,business ,Software engineering ,Software ,Information Systems - Abstract
Requirements specifications are essential to properly communicate requirements among the software development team members. However, each role in the team has different informational needs in order to perform their activities. Thus, the requirements engineer should provide the necessary information to meet each team member's necessities to reduce errors in software development due to inadequate or insufficient communication. Although some research is concerned with communicating requirements among clients and analysts, no related research has been found to evaluate and improve requirements communication within the software development team. With this in mind, we present the ReComP framework, which assists in the identification of problems in the artifacts used to communicate requirements, identification of informational requirements for each role of the development team, and provide improvement suggestions to address requirements communication problems. ReComP was developed using the Design Science Research (DSR) method and this paper presents the results of two DSR cycles considering the use of ReComP for the developer and tester roles by using, respectively, user stories and use cases as requirements specifications. The results provide evidence that ReComP helps software development teams to identify and improve issues in the requirements specifications used for project communication. In two independent studies, ReComP was able to decrease the frequency of problems by 77% in user stories identified by developers and the frequency of all (100%) problems in use cases identified by testers.
- Published
- 2021
- Full Text
- View/download PDF
4. METHOD OF THE IT PROJECT TEAM CREATION BASED ON MAXIMIZING IT’S COMPETENCIES
- Author
-
Hlib Sushko and Igor Kononenko
- Subjects
Team composition ,business.industry ,Team software process ,Computer science ,media_common.quotation_subject ,Software development ,Project team ,Scrum ,Engineering management ,General Earth and Planetary Sciences ,Project management ,business ,Function (engineering) ,General Environmental Science ,Agile software development ,media_common - Abstract
The use of agile approaches in software development requires the project team to be multifunctional and self‑organized in order to respond effectively to changing project requirements. Therefore information technology project team creation requires a special method. The purpose of the work is to develop a method of IT-project team creation by maximizing it’s competencies taking into account the features of agile approaches to project management. The paper proposes the issue of team creation based on maximizing team competencies under conditions of budget and laboriousness constraints. A method of a project team creation is proposed, which takes into account the requirements of the project, the characteristics of individual candidates, and the general competencies of the team as a whole, as well as the project's limitations on the budget and laboriousness of the project. The proposed approach consists of three stages. At the first stage, a set of candidates is determined, whose competency assessments meet the requirements of the project. In the second stage, team options are formed in accordance with the requirements of the project. The project team creation can take place in several statements. The first statement is to solve the problem of minimizing the distance between the vector of team competencies and the vector of requirements. The second statement of the problem is to solve the problem of maximizing competencies in terms of time and project budget constraints.The third solves the issue of choosing a team according to the chosen setting. Two possible objective functions of the issue are offered. One target function is to create a team that will include candidates with maximum competencies. Such a team will best cope with the requirements that are known at the start of the project. The second target function maximizes the total competencies of the team that exceed a given threshold. As a result, the team will be able to better cope with the changing requirements of the project. The proposed method makes it possible to create an effective software development team that meets the requirements of the project, the values and principles of agile approaches.
- Published
- 2021
- Full Text
- View/download PDF
5. Threat Poker: Gamification of Secure Agile
- Author
-
Audun Jøsang, Hanne Rygge, Viktoria Stray, University of Oslo (UiO), Lynette Drevin, Suné Von Solms, Marianthi Theocharidou, TC 11, and WG 11.8
- Subjects
021110 strategic, defence & security studies ,Team software process ,Process (engineering) ,Computer science ,business.industry ,0402 animal and dairy science ,0211 other engineering and technologies ,Software development ,04 agricultural and veterinary sciences ,02 engineering and technology ,16. Peace & justice ,Security awareness ,Computer security ,computer.software_genre ,040201 dairy & animal science ,Article ,Software development process ,ComputingMilieux_MANAGEMENTOFCOMPUTINGANDINFORMATIONSYSTEMS ,[INFO]Computer Science [cs] ,business ,computer ,Agile software development - Abstract
Part 3: Gaming for Cybersecurity Training; International audience; Agile software development is practiced in most software development projects around the world. To explicitly consider and include security requirements as part of agile software development is referred to as ‘secure agile’. To include security will naturally require additional time and effort, with potentially reduced agility as a consequence. To maintain agility, it is important to have efficient methods to include security in the development process. In this study, we describe enhancements to Threat Poker, which is a game designed for the software development team to deal with security threats identified during the agile development project. Games can be valuable educational tools for actively engaging students and practitioners alike. An experiment with students indicates that playing Threat Poker increases security awareness and that it is a fun and simple way to discuss identified security threats and how to remove security vulnerabilities during the software development process.
- Published
- 2020
- Full Text
- View/download PDF
6. Fuzzy Reasoning Method Based on Distance Measure and Its Reductive Property
- Author
-
Sonil Kwak, Unha Kim, Kumju Kim, Ilmyong Son, and Chonghan Ri
- Subjects
Software Engineering Process Group ,Knowledge management ,General Computer Science ,Computer science ,Team software process ,business.industry ,05 social sciences ,General Engineering ,Software development ,050301 education ,02 engineering and technology ,Software development process ,Personal software process ,Goal-Driven Software Development Process ,Software construction ,0202 electrical engineering, electronic engineering, information engineering ,Package development process ,020201 artificial intelligence & image processing ,Software engineering ,business ,0503 education - Abstract
A lot of process models for software development such as waterfall model and so on are almost based on description of the relationship between the scale and complex of software project and technology tasks and methods in every phase of development as the main content. They are suitable for the technique works of software development, but ignore the connotation of the management work in software process. Especially that they ignore the connotation of the management relevant with concrete business and for process management it is not enough to be only with technical standard. In this article, we propose an information communication model of software process and a software process model including concrete business and describe the basic tasks of team software process and relationship between the layers of software process. Starting from this, it can guide the process operation of software team, provide a new solution for theoretical research and description of the software engineering subject and provide a framework concept for the auxiliary system tools for the research of software engineering.
- Published
- 2020
- Full Text
- View/download PDF
7. Team wisdom in software development projects and its impact on project performance
- Author
-
Ali E. Akgün
- Subjects
Teamwork ,Virtue ,Knowledge management ,Operationalization ,Computer Networks and Communications ,business.industry ,Team software process ,media_common.quotation_subject ,05 social sciences ,Software development ,Prudence ,02 engineering and technology ,Library and Information Sciences ,Project team ,Team learning ,020204 information systems ,0502 economics and business ,0202 electrical engineering, electronic engineering, information engineering ,050211 marketing ,business ,Psychology ,Information Systems ,media_common - Abstract
While the concept of wisdom, which refers to how people make right use of their knowledge through their practical actions, judgments, and ethical decisions, in general attracts researcher interest in a variety of disciplines, such as philosophy, psychology and management studies, little is known about how wisdom is conceptualized and then operationalized in the software development project team context. Based on the frameworks for philosophical, group and organizational wisdom, this paper identifies software development project team wisdom as a process for how team members best use the stock and flow of their knowledge through collective judgment, virtue-ethics, emotions/feelings, and effective decision-making during their project-related efforts. Adapting the efforts and functional similarities of both group and organizational wisdom practices, this effort determines that wisdom-related mechanisms (e.g., team diversity, networking with other teams and people, and their past experiences), joint epistemic actions (e.g., team reasoning, intuition, and aesthetic capacity), and team virtue and prudence become the different faces of the software development team wisdom process. We then propose how these different faces interrelate and how they also relate to project process effectiveness, such as team learning and speed-to-users, both of which have been rarely addressed empirically in the context of software development project teamwork. By examining 210 in-house software development project teams in a field study and using structural equation modeling analysis, our results empirically show the following: (a) software development wisdom-related mechanisms positively relate to software development team prudence and virtue and their joint epistemic actions, (b) software development team prudence and virtue are positively associated with software development team joint epistemic actions, and further (d) software development team joint epistemic actions are positively associated with software development project process effectiveness. We conclude by discussing our findings as they relate to the wisdom framework of software development project teams and suggest the key managerial implications for different types of software development projects.
- Published
- 2020
- Full Text
- View/download PDF
8. On infrastructure for facilitation of inner source in small development teams
- Author
-
Martin Höst, Johan Linåker, Maria Krantz, and Kuvaja, Pasi
- Subjects
FOS: Computer and information sciences ,Engineering ,Software Engineering Process Group ,Social software engineering ,Knowledge management ,Software development practices ,business.industry ,Team software process ,Inner source ,Life cycle ,Software development ,Open source software ,Software process models ,Programming teams ,Software ecosystem ,Software development process ,Software Engineering (cs.SE) ,Computer Science - Software Engineering ,Software reuse ,Computer Science ,Personal software process ,Package development process ,Software forge ,business - Abstract
The phenomenon of adopting open source software development practices in a corporate environment is known by many names, one being inner source. The objective of this study is to investigate how an organization consisting of small development teams can benefit from adopting inner source and assess the level of applicability. The research has been conducted as a case study at a software development company. Data collection was carried out through interviews and a series of focus group meetings, and then analyzed by mapping it to an available framework. The analysis shows that the organization possesses potential, and also identified a number of challenges and benefits of special importance to the case company. To address these challenges, the case study synthesized the organizational and infrastructural needs of the organization in a requirements specification describing a technical infrastructure, also known as a software forge, with an adapted organizational context and work process.
- Published
- 2022
- Full Text
- View/download PDF
9. A Case Study of Knowledge Management and Organizational Culture in an Undergraduate Software Development Team Project
- Author
-
Kamalendu Pal
- Subjects
Knowledge management ,Computer science ,Team software process ,business.industry ,Organizational culture ,business - Abstract
People work in software development projects to bundle the human resources and use the systematic approach to share system development knowledge. One can view knowledge as personalized related to facts, procedures, concepts, interpretations, ideas, and judgments. This way, knowledge is the outcome of the cognitive processing of information. Knowledge can be transferred from a source to a receiver. The collaborative knowledge-sharing mechanism is known as knowledge management (KM) in the software industry. The software developers can communicate with, learn from, and solve problems with other participating team members. The organizational culture is an essential factor in knowledge management success since it influences how team members learn and share knowledge. This chapter presents a case study that aimed to compare, in practice, the relationship between the KM cycle (SECI – socialization, externalization, combination, and internalization model) and the organizational culture through the competing values framework (CVF).
- Published
- 2022
- Full Text
- View/download PDF
10. Towards to Transfer the Directives of Communicability to Software Projects: Qualitative Studies
- Author
-
Adriana Lopes Damian, Edna Dias Canedo, Tayana Conte, and Clarisse Sieckenius de Souza
- Subjects
Process management ,business.industry ,Computer science ,Team software process ,Process (engineering) ,media_common.quotation_subject ,Software development ,Context (language use) ,Artifact (software development) ,Directive ,Software ,Quality (business) ,business ,media_common - Abstract
The software artifacts developed in the early stages of the development process describe the proposed solutions for the software. For this reason, these artifacts are commonly used to support communication among members of the development team. Miscommunication through software artifacts occurs because practitioners typically focus on their modeling, without reflecting on how other software development team members interpret them. In this context, we proposed the Directives of Communicability (DCs) to support practitioners analyzing characteristics that affect the artifact’s content on communication via artifact. We conducted preliminary studies in a controlled environment with our proposal. However, we noticed that new studies are necessary to evaluate the DCs concerning practitioners’ perceptions before transferring them to the industry. In this paper, we present two studies performed aiming to transfer the DCs to the software industry. In the first study, we evaluated the practitioners’ perception about the DCs to the quality of a specific software artifact. In the second study, we evaluated the viability of the DCs in a software development team. The studies’ results indicated that DCs have the potential to support improvements in artifacts’ content for better communication via artifact. To facilitate the use of our proposal in the software industry, we created processes that support the adoption of DCs and a checklist for the application of each directive in the software artifacts. We noticed positive perceptions of practitioners about the use of DCs in software artifacts. We hope that our contribution support software development teams that use artifacts to improve this type of communication.
- Published
- 2021
- Full Text
- View/download PDF
11. SPReaD: Service-oriented Process for Reengineering and DevOps - Developing Microservices for a Brazilian State Department of Taxation
- Author
-
Yan de Lima Justino, Carlos Eduardo da Silva, and Eiji Adachi
- Subjects
Process management ,Team software process ,Process (engineering) ,Computer science ,Legacy system ,Microservices ,Business process reengineering ,Management Information Systems ,Hardware and Architecture ,Technical debt ,Software deployment ,DevOps ,Software ,Information Systems - Abstract
The reengineering of systems into a microservice-based architecture can be seen as an implementation of a service-oriented architecture (SOA). However, the deployment of SOA into an enterprise is a challenging task, as it may involve the modernization of mission-critical systems with high technical debt and high maintenance costs. To this end, a process is required to provide an appropriate set of steps and techniques that minimize risks and at the same time ensure the quality of the systems during the migration process. Thus, this work presents the Service-oriented Process for Reengineering and DevOps—SPReaD, an instantiation of the mainstream SOA methodology focusing on the reengineering of legacy systems integrating DevOps aspects for developing microservices systems. This process has been defined during a real software reengineering project of legacy systems from a Brazilian State Department of Taxation. The results obtained include a substantial improvement in the quality of the main taxation system used by the state, including not only code-related metrics but also performance improvements of the services offered, and a change in the methodology adopted by the software development team.
- Published
- 2021
12. Breaking one barrier at a time: how women developers cope in a men-dominated industry
- Author
-
Fabiana Freitas Mendes, Edna Dias Canedo, Rodrigo Bonifácio, Anderson Jefferson Cerqueira, Gustavo Pinto, and Marcio Vinicius Okimoto
- Subjects
Relation (database) ,business.industry ,Team software process ,media_common.quotation_subject ,education ,Applied psychology ,Software development ,Face (sociological concept) ,Context (language use) ,Grounded theory ,Work (electrical) ,Perception ,business ,Psychology ,media_common - Abstract
Context: Participation of women in software development teams is surrounded by several challenges — including gender bias, the difficulty of engagement, and general acceptance of the teams. Objective: We investigated the women perception in relation to interactions, contributions, gender bias, barriers and challenges that they may face in their work. Method: To achieve this goal, we conducted semi-structured interviews with 17 Brazilian women. We analyzed the data using the principles of Grounded Theory and identified three categories: Challenges, Barriers and Gender Issues. Results: Our findings reveal that tasks considered more complex are allocated to men on the team. Our respondents also commonly observe gender bias from men on the team. Conclusions: The findings indicate that most of the interviewed women observe a sexist behavior amongst the software development team members. Moreover, most of the participants stated that few women perform a leadership role in their team. We close by presenting suggestions to more inclusive work environments.
- Published
- 2021
- Full Text
- View/download PDF
13. Team Resource Management Decisions in Software Development Projects
- Author
-
Magne Jørgensen
- Subjects
Process management ,Resource (project management) ,business.industry ,Team software process ,Software development ,Context (language use) ,Resource management ,Business ,Project management ,Duration (project management) ,Heuristics - Abstract
This paper examines to what extent resource managers are likely to make normatively correct decisions in complex, but realistic, software development team resource management situations. Three scenarios were designed, all of them with a software development project consisting of a higher and a lower productivity team. The resource managers were asked to decide which team to increase (or decrease) the productivity in order to minimize the total effort or the total duration of the software project. Ninety-nine software professionals, most of them with substantial resource management experience, were randomly allocated to one of the scenarios. Most of the resource managers perceived their scenario as realistic and occurring in practice. The decisions tended, however, to be different from the normatively correct ones. In particular, when the scenario structure resembled that used to document the so-called time-saving bias, the great majority of the managers made non-normative decisions. The findings suggest that the resource managers made decisions based on simple heuristics, often leading to non-optimal decisions. Our findings suggest a cost-saving potential from more training in how to make team resource management decisions. The study may be the first to document non-normative team resource decisions, including those related to the time-saving bias, in the context of software development team management.
- Published
- 2021
- Full Text
- View/download PDF
14. Scrum VR: Virtual Reality Serious Video Game to Learn Scrum
- Author
-
Daniel López-Fernández and Jesus Mayor
- Subjects
Technology ,Computer science ,Team software process ,QH301-705.5 ,QC1-999 ,Virtual reality ,computer.software_genre ,Scrum ,General Materials Science ,Biology (General) ,Instrumentation ,Video game ,QD1-999 ,Fluid Flow and Transfer Processes ,education ,Multimedia ,business.industry ,Process Chemistry and Technology ,Physics ,General Engineering ,Information technology ,Engineering (General). Civil engineering (General) ,Computer Science Applications ,agile methodologies ,Chemistry ,Work (electrical) ,Key (cryptography) ,virtual reality ,TA1-2040 ,business ,computer ,Agile software development - Abstract
Education is crucial for the growth of society, and the usage of effective learning methods is key to transmit knowledge to young students. Some initiatives present Virtual Reality technologies as a promising medium to provide active, effective, and innovative teaching. In turn, the use of this technology seems to be very attractive to students, making it possible to acquire knowledge through it. On the other hand, agile methodologies have taken an essential role within information technologies and they are key in Software Engineering education. This paper combines both areas and presents prior research about Virtual Reality experiences with educational purposes and introduces a serious VR video game that aims to promote the learning of agile methodologies in Software Engineering education, specifically the Scrum methodology. This application tries to bring students closer to their first days of work within a software development team that uses the Scrum methodology. Two evaluation processes performed with university teachers and students indicate that the developed video game meets the proposed objectives and looks promising.
- Published
- 2021
15. Knowledge management in the software industry: how Scrum activities support a knowledge management cycle
- Author
-
Flávio Bortolozzi, Iara Carnevale de Almeida, Danieli Pinto, Marcio José Silva, and Nelson Tenório
- Subjects
Knowledge management ,HF5001-6182 ,Team software process ,Computer science ,Social Sciences ,02 engineering and technology ,Asset (computer security) ,knowledge processes ,Scrum ,Software ,0502 economics and business ,Common knowledge ,Knowledge capture ,0202 electrical engineering, electronic engineering, information engineering ,Business ,Dissemination ,business.industry ,agile methods ,05 social sciences ,Software development ,Commerce ,020207 software engineering ,HF1-6182 ,software development ,business ,050203 business & management - Abstract
Knowledge is the primary asset of the software industry which increases the complexity of the software development activities. Knowledge Management (KM) is an important practice that offers processes namely KM cycles and addressed to knowledge capture, creation, storage, dissemination, sharing, and use. Thereby, understanding different means to consolidate individual’s knowledge within the software industry is relevant to software development practitioners and researchers. Therefore, this article discusses how Scrum activities support KM cycle to convert the individual’s knowledge into common knowledge within software development teams. Our analysis points out that KM cycle combined with Scrum practices is a potential tool to disseminate individual knowledge across software development team members.
- Published
- 2020
16. Propuesta de laboratorio de certificación en la norma ISO 29119 de pruebas de calidad de software en el Centro de Servicios y Gestión Empresarial del SENA
- Author
-
Lina María Jaramillo Terán and Ricardo Gómez Giraldo
- Subjects
Engineering ,Documentation ,Traceability ,Team software process ,Software testing ,business.industry ,General Earth and Planetary Sciences ,Library science ,Certification ,business ,Business management ,Software quality ,General Environmental Science - Abstract
Este trabajo propone la estructuración de un laboratorio de pruebas de calidad de software bajo el lineamiento de la norma ISO 29119 con el objetivo de certificar la calidad de los productos desarrollados por la Fábrica de Software de una entidad de formación o clientes externos. Una revisión bibliográfica permitió identificar los diferentes procesos y técnicas de pruebas, a su vez los diferentes formatos de apoyo para registrar su trazabilidad. Finalmente, se establece el procedimiento operativo para el funcionamiento y la certificación de un laboratorio de pruebas de software en el Centro de Servicios y Gestión Empresarial del SENA Regional Antioquia.
- Published
- 2019
- Full Text
- View/download PDF
17. Adaptation of flexible project management models based on Scrum and Kanban technologies
- Author
-
Olena Popova
- Subjects
Agile methodology ,Scrum and Kanban methodologies ,Team software process ,business.industry ,Computer science ,Software development ,petri net ,Petri net ,lcsh:Business ,Software development process ,Scrum ,Kanban (development) ,software development methodology ,lcsh:Technology (General) ,lcsh:T1-995 ,Project management ,lcsh:HF5001-6182 ,business ,Software engineering ,Agile software development - Abstract
This paper shows the conduct and result of an experiment regarding combining two software development technologies – Scrum and Kanban – into one technology that will take the best sides of these methodologies and will be convenient and efficient to use. Scrum and Kanban development methodologies are the object of study. Existing flexible development methodologies are analyzed, including XP, Lean, FDD, as well as Scrum and Kanban in more detail. A comparative table of the last two methodologies is also drawn up, reflecting their differences in a number of criteria. These methodologies are found to have some drawbacks and could be removed in the new methodology, thus improving existing methodologies for specific purposes. The new methodology should be fairly flexible and adaptable for all members of the software development team. This methodology should be easy to use and have some set of rules. An experiment is conducted to demonstrate how to combine the methodology with maximum efficiency using Petri nets. First, the Scrum and Kanban methodologies were modeled. Then, based on these two models, as well as the new rules, a new model for the methodology was formed. After conducting the experiment, the model reveals what the proposed development methodology should look like. It can be used in software development. Creating this methodology on the basis of two existing ones is a very challenging task today, as it has 3 tasks – to improve the existing methodologies of Scrum and Kanban, to create a set of rules for the new methodology, and to make it as flexible, adaptive and useful as possible
- Published
- 2019
- Full Text
- View/download PDF
18. Case study of the introduction of game design techniques in software development
- Author
-
Otávio Cury da Costa Castro, Pedro de Alcântara dos Santos Neto, Danilo B. Medeiros, and Irvayne Matheus de Sousa Ibiapina
- Subjects
business.industry ,Process (engineering) ,Computer science ,Team software process ,Software development ,020207 software engineering ,02 engineering and technology ,Computer Graphics and Computer-Aided Design ,Scrum ,Engineering management ,Game design ,Work (electrical) ,0202 electrical engineering, electronic engineering, information engineering ,020201 artificial intelligence & image processing ,business ,Computer aided instruction ,Productivity - Abstract
Software development, in many moments, is an exciting and challenging activity, but it can present itself as a boring endeavour in others. At the same time, the introduction of game elements into efforts such as the teaching of Software Engineering shows that real-world activities can assemble game design elements and that it can make them more engaging. In this work, it is proposed the introduction of game design elements in software development, especially in the Scrum process. For this, elements are included to stimulate adherence to the prescriptions of the process, besides stimulating the execution of more activities by the team, positively impacting the productivity of a project. The authors present the idealised mechanics and the results obtained from the accomplishment of a case study in a software development team in a private company. Overall, the gamification applied to software development stimulated developers to perform their daily tasks, although this result did not generate strong evidence of increased productivity.
- Published
- 2019
- Full Text
- View/download PDF
19. Maintenance assessment guidelines for autonomic system using ANP approach
- Author
-
Pooja Dehraj, P. S. Grover, and Arun Sharma
- Subjects
Process management ,Self-management ,Team software process ,Computer science ,business.industry ,02 engineering and technology ,01 natural sciences ,Autonomic computing ,010104 statistics & probability ,Software ,0202 electrical engineering, electronic engineering, information engineering ,020201 artificial intelligence & image processing ,0101 mathematics ,business - Abstract
Autonomic Computing based development is emerging in the IT sector which performs software management intelligently. As a result, the software development team are now using their efficiency more o...
- Published
- 2019
- Full Text
- View/download PDF
20. Measuring the Individual Performance of A Software Development Team
- Author
-
Mario E. S. Simaremare, Susi Eva Maria Purba, Melani D. R. Tambun, and Riris Delima Hasibuan
- Subjects
Source code ,business.industry ,Process (engineering) ,Computer science ,Team software process ,media_common.quotation_subject ,Cost accounting ,Artifact (software development) ,Software quality ,Software ,Software engineering ,business ,Software measurement ,media_common - Abstract
The possibility of a successful software project is determined by the performance of the development team. This situation forces the management to have a view on the performance of their team members. Based on that problem, we propose a new approach to quantify the performance of the team based on the artifacts produced during the development process. The proposed approach is designed to enable the management to see the performance in fine-grained detail, person by person. Our approach is scoped only to cover the construction phase with source code as its primary artifact. We use a git-based repository as the source of artifact since it is rich in development footprints and can be viewed from a historical perspective. We select four types of information taken out from the repository, which are the pull requests, the issues, the commits, and the LOC on each contribution as our base metrics of measurement. These four types of information are enough to represent the performance of the team members person by person. In the proposed approach, we develop a formula to quantify the individual performance based on the four mentioned metrics. The formula outputs a list of scores that represents the individual performance. The score can be used as an attempt to monitor the progression of the software project and can help the management in taking action to make it a successful project.
- Published
- 2021
- Full Text
- View/download PDF
21. Onboarding in Software Product Lines: Concept Maps as Welcome Guides
- Author
-
Arantza Irastorza, Oscar Díaz, Maider Azanza, and Raul Medeiros
- Subjects
Team software process ,Computer science ,business.industry ,Concept map ,Process (engineering) ,Domain engineering ,Sensemaking ,Onboarding ,Software engineering ,business ,Information overload ,Domain (software engineering) - Abstract
With a volatile labour and technological market, onboarding is becoming increasingly important. The process of incorporating a new developer, a.k.a. the newcomer, into a software development team is reckoned to be lengthy, frustrating and expensive. Newcomers face personal, interpersonal, process and technical barriers during their incorporation, which, in turn, affects the overall productivity of the whole team. This problem exacerbates for Software Product Lines (SPLs), where their size and variability combine to make onboarding even more challenging, even more so for developers that are transferred from the Application Engineering team into the Domain Engineering team, who will be our target newcomers. This work presents concept maps on the role of sensemaking scaffolds to help to introduce these newcomers into the SPL domain. Concept maps, used as knowledge visualisation tools, have been proven to be helpful for meaningful learning. Our main insight is to capture concepts of the SPL domain and their interrelationships in a concept map, and then, present them incrementally, helping newcomers grasp the SPL and aiding them in exploring it in a guided manner while avoiding information overload. This work's contributions are four-fold. First, concept maps are proposed as a representation to introduce newcomers into the SPL domain. Second, conceptmaps are presented as the means for a guided exploration of the SPL core assets. Third, a feature-driven concept map construction process is introduced. Last, the usefulness of concept maps as guides for SPL onboarding is tested through a formative evaluation.
- Published
- 2021
- Full Text
- View/download PDF
22. Alignment of Stakeholder Expectations about User Involvement in Agile Software Development
- Author
-
Didar Zowghi, Muneera Bano, James Buchan, Stephen G. MacDonell, and Amrita Shinde
- Subjects
FOS: Computer and information sciences ,Process management ,business.industry ,Computer science ,Team software process ,User involvement ,Stakeholder ,020207 software engineering ,Qualitative property ,Context (language use) ,02 engineering and technology ,Software Engineering (cs.SE) ,Computer Science - Software Engineering ,Software ,Order (business) ,020204 information systems ,0202 electrical engineering, electronic engineering, information engineering ,business ,Agile software development - Abstract
Context: User involvement is generally considered to contributing to user satisfaction and project success and is central to Agile software development. In theory, the expectations about user involvement, such as the PO's, are quite demanding in this Agile way of working. But what are the expectations seen in practice, and are the expectations of user involvement aligned among the development team and users? Any misalignment could contribute to conflict and miscommunication among stakeholders that may result in ineffective user involvement. Objective: Our aim is to compare and contrast the expectations of two stakeholder groups (software development team, and software users) about user involvement in order to understand the expectations and assess their alignment. Method: We have conducted an exploratory case study of expectations about user involvement in an Agile software development. Qualitative data was collected through interviews to design a novel method for the assessing the alignment of expectations about user involvement by applying Repertory Grids (RG). Results: By aggregating the results from the interviews and RGs, varying degrees of expectation alignments were observed between the development team and user representatives. Conclusion: Alignment of expectations can be assessed in practice using the proposed RG instrument and can reveal misalignment between user roles and activities they participate in Agile software development projects. Although we used RG instrument retrospectively in this study, we posit that it could also be applied from the start of a project, or proactively as a diagnostic tool throughout a project to assess and ensure that expectations are aligned., Conference paper, 10 pages, 1 figure, 7 tables
- Published
- 2021
23. 'How Was Your Weekend?' Software Development Teams Working From Home During COVID-19
- Author
-
Denae Ford, Thomas Zimmermann, Courtney Miller, Paige Rodeghero, and Margaret-Anne Storey
- Subjects
FOS: Computer and information sciences ,Coronavirus disease 2019 (COVID-19) ,business.industry ,Team software process ,Software development ,Peer support ,Public relations ,Software Engineering (cs.SE) ,Computer Science - Software Engineering ,Software ,Quantitative analysis (finance) ,Brainstorming ,business ,Psychology ,Productivity - Abstract
The mass shift to working at home during the COVID-19 pandemic radically changed the way many software development teams collaborate and communicate. To investigate how team culture and team productivity may also have been affected, we conducted two surveys at a large software company. The first, an exploratory survey during the early months of the pandemic with 2,265 developer responses, revealed that many developers faced challenges reaching milestones and that their team productivity had changed. We also found through qualitative analysis that important team culture factors such as communication and social connection had been affected. For example, the simple phrase "How was your weekend?" had become a subtle way to show peer support. In our second survey, we conducted a quantitative analysis of the team cultural factors that emerged from our first survey to understand the prevalence of the reported changes. From 608 developer responses, we found that 74% of these respondents missed social interactions with colleagues and 51% reported a decrease in their communication ease with colleagues. We used data from the second survey to build a regression model to identify important team culture factors for modeling team productivity. We found that the ability to brainstorm with colleagues, difficulty communicating with colleagues, and satisfaction with interactions from social activities are important factors that are associated with how developers report their software development team's productivity. Our findings inform how managers and leaders in large software companies can support sustained team productivity during times of crisis and beyond., 13 pages. Final version of the paper accepted at ICSE 2021
- Published
- 2021
24. Improving Testing Process to Maximize Validation Efficiency on Advanced Telecommunications Laboratory
- Author
-
Vanessa Reboucas Amorim, Vivianne Silva Aquino, Silvandro Pereira Pedrozo, Rodrigo Queiroz Peixe, and Paulo Cesar Fonseca
- Subjects
Computer science ,Process (engineering) ,Team software process ,business.industry ,media_common.quotation_subject ,Product (business) ,Test case ,Cellular network ,Quality (business) ,Telecommunications ,business ,Communications protocol ,Mobile device ,media_common - Abstract
Testing the system embedded in mobile hardware is an important instrument in guaranteeing product quality. Besides, a mobile device needs approval from several involved parts, such as national and international telecommunications regulator agencies and telephone mobile network operators in the countries where they will be marketed. Usually, the initial phase of software testing on mobile devices is done using highly specialized equipment for simulation of cellular networks focused on the communication protocols exchanged between mobile networks and the devices. In order to perform this validation, many mobile device manufacturers have a dedicated team for this purpose. ATLAS is one of these teams and plays this role for a large multinational mobile device manufacturer, being responsible for supporting the software development team through the execution of test cases required by the mobile network operators. In this experience report, we describe and rank which problems were faced by the a team during its early stage and how the team was able to achieve satisfactory levels of quality and minimize test inconsistencies and error through the implementation of organizational actions and effective management. At last, we present the lessons learned that might be used by similar teams to cope with the most frequent bottlenecks.
- Published
- 2021
- Full Text
- View/download PDF
25. Multi-objective Release Plan Rescheduling in Agile Software Development
- Author
-
Jesús Guillermo Falcón-Cardona, Saúl Zapotecas-Martínez, Abel García-Nájera, and Humberto Cervantes
- Subjects
Scrum ,Development plan ,Software ,Risk analysis (engineering) ,Computer science ,Team software process ,business.industry ,Context (language use) ,Software requirements ,business ,Multi-objective optimization ,Agile software development - Abstract
Scrum is an agile software development framework followed nowadays by many software companies worldwide. Since it is an iterative and incremental methodology, the software is developed in releases. For each release, the software development team and the customer agree upon a development plan. However, the context of the software project may change due to unpredicted circumstances that generally arise, for example, new software requirements or changes in the development team. Consequently, these factors force the release plan to be adjusted. When the release plan is modified, it is necessary to consider at least four criteria to minimize the economic and operational impact of these changes. Therefore, this activity can be analyzed as a multi-objective problem. In the last three decades, multi-objective evolutionary algorithms have become an effective and efficient tool to solve multi-objective problems. In this paper, we evaluate three multi-objective optimization approaches when solving the release plan rescheduling problem. Mainly, we focus our investigation on analyzing the conflict between the considered objectives and on the performance of the Pareto-based, the indicator-based, and the decomposition-based multi-objective optimization approaches.
- Published
- 2021
- Full Text
- View/download PDF
26. Design and developed DBBOT for an Echo PSM-DB Platform
- Author
-
Madhu Dande, Abhishek Dwivedi, Jaya Chandra Vytla, and Prabukumar Monoharan
- Subjects
Team software process ,Process (engineering) ,Echo (communications protocol) ,Computer science ,business.industry ,media_common.quotation_subject ,Semantic reasoner ,computer.software_genre ,Chatbot ,Software ,Production (economics) ,Quality (business) ,Software engineering ,business ,computer ,media_common - Abstract
In the digital world, Software is used to speed up the process. With a software development team, we can accomplish a fast market strategy. Since the last decade, IT development and the BPO team have worked on the assigned tasks daily basis, in which there are 40 to 50% of redundant jobs. The latest trend that is catching the eye of the majority of the tech industry is chatbots. To reduce these redundant tasks, by adding the Chatbot and intelligence to support the customer on time. Any organization needs good customer service to retain their customers. This paper explains the effective and efficient way of utilization of AI-based DB Bot for the Production Support Maintenance (PSM) Team to take care of the Database related towers. BOT will follow three simple Principles Rules Engine, Knowledge Data-Driven (KDD) System, and response to the query by using the MS Luis API. DBBOT predicted the queries and provided the solutions with an accuracy of 40.09% and it reduces the cost of the manpower and increases the quality of customer service.
- Published
- 2021
- Full Text
- View/download PDF
27. Making Sense of Cultural Plurality
- Author
-
Ebenezer C. Ikonne
- Subjects
business.industry ,Team software process ,Process (engineering) ,Cultural diversity ,Cultural values ,Mistake ,Sociology ,Public relations ,business - Abstract
It is not uncommon for leaders to assume that their leadership approach, based on their cultural values and worldview, works in different national cultures. I made this mistake in the early 2000s while establishing a software development team in Bangalore, India. I assumed that my leadership approach—developed in the United States—was appropriate for my new teams. Unfortunately, I did not appreciate the cultural differences between the two countries and how these differences would impact the leadership process. As a result, the leadership process had a rough start.
- Published
- 2021
- Full Text
- View/download PDF
28. Impact of Types of Change on Software Defect Prediction
- Author
-
Atakan Erdem
- Subjects
Change Type ,Software bug ,Work (electrical) ,Computer science ,Team software process ,Data mining ,Language independence ,computer.software_genre ,computer ,Predictive modelling - Abstract
Churn metrics are commonly used in software defect prediction due to high performance, language independence and ease of extraction. The main data sources for churn metrics-based prediction models in the literature are the change logs. But changes may also be due to several reasons other than fixing defects, such as enhancement and applying new requirements. Therefore, without awareness of type of the change and effects on defect prediction, fitting the best model is too difficult. In this paper, we propose a churn type-aware defect prediction model. We observe the impacts of churn-type awareness on prediction accuracy level. In our experiments, we used a real work item and change log dataset which is produced by a software development team. In our study, we also reveal the correlations among the change types.
- Published
- 2021
- Full Text
- View/download PDF
29. Role of Testers in Agile Projects
- Author
-
Siegfried Tanczos, Martin Klonk, Christian Mastnak, Richard Seidl, Manfred Baumgartner, and Helmut Pichler
- Subjects
Scrum ,Engineering management ,Software_SOFTWAREENGINEERING ,Team software process ,Computer science ,business.industry ,Control (management) ,Agile approach ,Product (category theory) ,business ,Terminology ,Test (assessment) ,Agile software development - Abstract
With the shift to agile software development, the role and self-image of the tester and test manager have also changed dramatically. While in the past the tester’s job was to control what the development team produced, they are now part of the software development team. Understanding this is not easy for everyone and it is also not explicitly defined by Scrum as the most widely used agile approach with its role definitions (Product Owner, Scrum Master, Development Team). For a long time, this terminology even led to companies being under the misapprehension that they could do without testers altogether in the agile approach. In other situations, testers were formally in development teams but did not participate in all the ceremonies, such as sprint planning meetings. In the meantime, however, developers, product owners, and testers have learned what it means to be agile: to share responsibility for the implementation of an application development in an equal interaction of different competencies.
- Published
- 2021
- Full Text
- View/download PDF
30. How to Staff Software Engineering Team Roles Using the Concept of Personality? – An Exploratory Study
- Author
-
Erica Weilemann and Philipp Brune
- Subjects
Engineering ,business.industry ,Team Role Inventories ,Team software process ,media_common.quotation_subject ,05 social sciences ,Exploratory research ,Software development ,020207 software engineering ,02 engineering and technology ,Engineering management ,Software ,Order (business) ,0502 economics and business ,0202 electrical engineering, electronic engineering, information engineering ,Personality ,050207 economics ,Project management ,business ,media_common - Abstract
Nowadays, software is developed in teams. But how should software development teams be staffed in order to build a high performing team?
- Published
- 2021
- Full Text
- View/download PDF
31. Using TSPi and PBL to support software engineering education in an upper-level undergraduate course.
- Author
-
Garcia, I. A. and Pacheco, C. L.
- Subjects
SOFTWARE engineering ,PROJECT method in teaching ,ENGINEERING education ,SOFTWARE measurement ,UNDERGRADUATES ,PROJECT management ,COMPUTER software development - Abstract
ABSTRACT In recent years, software engineering education has rapidly changed to incorporate more realistic ways of learning. More frequently the software industry requires more skilled and qualified staff; however at the university level students are young, inexperienced, and relatively homogeneous in background and abilities. This article describes an approach that integrates a student teamwork methodology (TSPi) and project-based learning (PBL) to improve software project managerial skills in undergraduate students. As complementary support, a computational tool, the Teamwork Platform for Software Engineering Education, has been developed to establish an interactive software engineering course with local software industry collaboration. Experimental results show that a set of software metrics was defined to demonstrate performance improvement of 45 students following our approach.© 2012 Wiley Periodicals, Inc. Comput Appl Eng Educ 22:736-749, 2014; View this article online at ; DOI [ABSTRACT FROM AUTHOR]
- Published
- 2014
- Full Text
- View/download PDF
32. Models and Methods of Crisis Management
- Author
-
Sergey V. Zykov
- Subjects
Software development process ,Computer science ,Team software process ,business.industry ,Waterfall model ,Personal software process ,New product development ,Six Sigma ,Incremental build model ,business ,Software engineering ,Agile software development - Abstract
This chapter focuses on crisis-responsive digital product development methods. Keeping in mind the findings of Chap. 1, the IT Crisisology framework treats lifecycle optimization as a high-level adjustment of the software development process. However, this was a set of preliminary considerations, which did not address particular approaches in terms of models and methods. Therefore, this chapter starts with an overview of lifecycle models applicable for flexible, i.e., agile, product development in crisis. The next sections discuss tradeoff-based crisis-resistant methods of optimized software production.
- Published
- 2020
- Full Text
- View/download PDF
33. Exploring the Directives of Communicability for Improving the Quality of Software Artifacts
- Author
-
Clarisse Sieckenius de Souza, Adriana Lopes, and Tayana Conte
- Subjects
Software artifacts ,Team software process ,Process (engineering) ,business.industry ,Computer science ,media_common.quotation_subject ,Exploratory research ,Artifact (software development) ,Software ,Human–computer interaction ,Perception ,Quality (business) ,business ,media_common - Abstract
Software artifacts developed in the early stages of the development process describe the proposed solutions for the software in construction. Thus, these artifacts support team communication. Failures in communication via software artifacts occur because practitioners typically concentrate on the artifacts’ content, without reflecting on how other software development team members will interpret these artifacts. Such communication failures can negatively affect the quality of software artifacts. To support better communication via artifact, we proposed the Directives of Communicability (DCs). The DCs aim to support practitioners in analyzing the characteristics that affect the artifacts’ content on team communication. In this paper, we present an exploratory study carried out to evaluate the practitioners’ perception about the contribution of DCs to the quality of a specific software artifact. The results indicate that DCs contribute to this purpose. We noticed positive perceptions of practitioners about the use of DCs in software artifacts.
- Published
- 2020
- Full Text
- View/download PDF
34. Accessibility-oriented design with a focus on autism aspects: designing a mobile application for autistic children’s daily routine
- Author
-
Valéria Goes Ferreira Pinheiro and Anna Beatriz Marques
- Subjects
Focus (computing) ,Team software process ,business.industry ,Process (engineering) ,Computer science ,media_common.quotation_subject ,Software development ,Target audience ,Context (language use) ,Interaction design ,Human–computer interaction ,Quality (business) ,business ,media_common - Abstract
During software development there is a need for designing and developing solutions that meet users’ goals. In addition, solutions should be developed considering accessibility to ensure that, regardless of user limitations, applications are accessible, easy to use and satisfactory. The software development team faces some challenges in this context: to adequately identify the needs and characteristics of users in terms of accessibility and to consider this information in the later phases of design and development. This paper presents an experience report on the elicitation and specification of requirements and interface design of a mobile application for children with Autistic Spectrum Disorder. The team defined a process for the adoption of techniques that would support the application design with a focus on accessibility, such as proto-persons, userX stories and an accessibility guide with focus on autism aspects. The experience of the team allowed to outline lessons learned about the support of the techniques. We expect to contribute to the development of accessible solutions directed to the target audience and with a higher quality of use.
- Published
- 2020
- Full Text
- View/download PDF
35. Application of accessibility guidelines in a virtual museum
- Author
-
Ely Acosta, Marisol Pilares, Ronald Renteria, Humberto Arevalo, and Hesmeralda Rojas
- Subjects
Consistency (database systems) ,Software ,Team software process ,Human–computer interaction ,business.industry ,Computer science ,Navigability ,Context (language use) ,Zoom ,business ,Web accessibility ,Test (assessment) - Abstract
This work consisted in applying a web accessibility model in accordance with the WCAG 2.1 guidelines for the development of a virtual museum, as well as studying the context of museum accessibility, the perspectives of the groups involved in its development, the time, effort and investment required, and providing an answer on who are the people that require accessibility.The software development team performed two types of tests on the web application: An automated test and manual test. In the case of automated tests, the tools used automatically perform a quick review of the website and evaluate aspects such as color contrast, text size, consistency in the HTML structure, styles and page navigability, while for manual tests, solutions based on WCAG 2.1 were implemented to comply with the principles: i) Perceptible, automatic text reading, and zoom function were added to see an image in detail; ii) Operable: keyboard navigation was added to all the website's functionalities, iii) Understandable: symbols were designed in a consistent way to the action they represent, and all images have an adequate description, iv) Robust, the website allows the user to use their own technologies, adapting to them. Finally, tests were conducted with disabled users using a questionnaire and focus group techniques to assess their perception on using the website and the results indicate the website is accessible.
- Published
- 2020
- Full Text
- View/download PDF
36. Identifying the Mood of a Software Development Team by Analyzing Text-Based Communication in Chats with Machine Learning
- Author
-
Jil Klünder, Julian Horstmann, Oliver Karras, Leibniz University Hannover, Regina Bernhaupt, Carmelo Ardito, Stefan Sauer, TC 13, and WG 13.2
- Subjects
FOS: Computer and information sciences ,Human aspects ,Computer science ,business.industry ,Team software process ,Communication ,Software development ,Development team ,Development teams ,020207 software engineering ,02 engineering and technology ,Interpersonal behavior ,Software Engineering (cs.SE) ,Computer Science - Software Engineering ,Mood ,Human–computer interaction ,020204 information systems ,Synchronization (computer science) ,0202 electrical engineering, electronic engineering, information engineering ,Software projects ,[INFO]Computer Science [cs] ,business ,Inefficiency - Abstract
Software development encompasses many collaborative tasks in which usually several persons are involved. Close collaboration and the synchronization of different members of the development team require effective communication. One established communication channel are meetings which are, however, often not as effective as expected. Several approaches already focused on the analysis of meetings to determine the reasons for inefficiency and dissatisfying meeting outcomes. In addition to meetings, text-based communication channels such as chats and e-mails are frequently used in development teams. Communication via these channels requires a similar appropriate behavior as in meetings to achieve a satisfying and expedient collaboration. However, these channels have not yet been extensively examined in research. In this paper, we present an approach for analyzing interpersonal behavior in text-based communication concerning the conversational tone, the familiarity of sender and receiver, the sender's emotionality, and the appropriateness of the used language. We evaluate our approach in an industrial case study based on 1947 messages sent in a group chat in Zulip over 5.5 months. Using our approach, it was possible to automatically classify written sentences as positive, neutral, or negative with an average accuracy of 62.97% compared to human ratings. Despite this coarse-grained classification, it is possible to gain an overall picture of the adequacy of the textual communication and tendencies in the group mood., Published in the proceedings of the 8th International Conference on Human-Centered Software Engineering
- Published
- 2020
- Full Text
- View/download PDF
37. Organizational Network Analysis as a Tool for Leadership Assessment in Software Development Team
- Author
-
Anton Chornyi, Vladimir Dzhuliy, Oksana Zhylinska, and Liudmyla Yemchuk
- Subjects
Knowledge management ,Team software process ,business.industry ,Mechanism (biology) ,Computer science ,Ukrainian ,05 social sciences ,Organizational network analysis ,language.human_language ,Leadership competencies ,Software ,0502 economics and business ,language ,Task analysis ,050211 marketing ,business ,050203 business & management - Abstract
The paper deals with theoretical and methodological fundamentals and practical recommendations aimed to improve the toolkits for assessing and developing leadership competencies of IT-enterprises personnel. The paper considers organizational network analysis as a new approach to assess and develop competencies of software developers on real-time basis. Case-study of Ukrainian company GoIT LTD is described to show mechanism of organizational network analysis.
- Published
- 2020
- Full Text
- View/download PDF
38. Examining The Work Experience of Programmers with Visual Impairments
- Author
-
Kwajo Boateng, Earl W. Huff, Julian Brinkley, Makayla Moster, and Paige Rodeghero
- Subjects
Team software process ,business.industry ,Visual impairment ,Internet privacy ,Equity (finance) ,Software development ,020207 software engineering ,02 engineering and technology ,Work experience ,Software ,Work (electrical) ,020204 information systems ,0202 electrical engineering, electronic engineering, information engineering ,medicine ,medicine.symptom ,Project management ,business ,Psychology - Abstract
The rapid rise and ubiquity of computing has led to tremendous growth in the field of software development; growth that has outpaced society’s ability to fill available positions. The gap between this large number of openings and the decidedly smaller pool of qualified candidates available to fill them has created opportunities for individuals from non-traditional backgrounds to pursue careers in software development. Due to the nature of their disability, blind and low vision persons have not to date been heavily pursued as candidates for software development positions given the arguably visually demanding nature of the practice. As such, we argue, there are significant knowledge gaps as it pertains to how visual impairment may impact a developer’s contribution to a software development team. To explore this issue we interviewed 11 visually impaired software developers about their experiences. Our findings suggest that workplace dynamics, project management practices, and tool accessibility are among the most significant challenges for these developers. We argue that this work furthers the understanding of visually impaired software developers which contributes to the movement towards accessible workplace environments and employment equity in software development.
- Published
- 2020
- Full Text
- View/download PDF
39. Client Request Analysis Tool for CERN ALICE Grid Services
- Author
-
Cristian Margineanu, Nicolae Tapus, Maria-Elena Mihailescu, Mihai Carabas, Costin Grigoras, Darius Mihai, and Sergiu Weisz
- Subjects
Large Hadron Collider ,Database ,Team software process ,Computer science ,Server ,computer.software_genre ,Grid ,Alice (programming language) ,computer ,computer.programming_language - Abstract
ALICE is an experiment hosted at the CERN facilities in Geneva. The data collected by the experiment is distributed in multiple geo-locations. ALICE software development team is managing the technologies that offer a unitary view to the distributed resources. AliEn API Services and JAliEn Services are used by the researchers to access and analyze the collected data. The ALICE developers cannot analyze the client-server interactions, while the only information available is gathered in the log files. The main requirement of the project is to provide an analysis tool to extract vital information out the log files. The tool is tested against log files generated by the ALICE production servers and is deployed on a custom ALICE-owned instance. As of June 2020, the project is being used by the developers to extract near real-time viable requests information and have a correct picture of the researcher’s interaction with the services.
- Published
- 2020
- Full Text
- View/download PDF
40. Detection of Violation of MVVM Design Pattern in Objective-C Programs
- Author
-
Wat Wongtanuwat and Twittie Senivongse
- Subjects
Computer science ,business.industry ,Team software process ,Programming language ,Design pattern ,Maintainability ,Software development ,computer.software_genre ,Software ,Component (UML) ,Software design pattern ,Software design ,Business logic ,business ,computer - Abstract
In object-oriented software development, several design patterns are used to design software to solve different problems. The Model-View-ViewModel or MVVM pattern is a design pattern that can be used to design structure of software which comprises three components. The Model component holds application data. The View component displays visual elements and controls on the screen. The ViewModel component is the intermediary between the Model and View and transforms model information for display on a view. The advantages of this pattern are that there is a clear separation between domain logic in the Model and the display on the View, and tests and maintenance of different components are facilitated. However, there are several developers in a software development team, and not all developers use the MVVM pattern. This makes the code not compliant with the pattern and affects code maintenance. To help developers to revise the code to comply with the MVVM pattern, this paper has studied the MVVM design pattern, summarized principles of the pattern, and proposed the criteria to detect pattern violation in Objective-C code. An automated tool has been developed to detect MVVM violation and report violation locations in the code so that developers can revise the code to follow the pattern. An experiment shows that the tool performs satisfactorily in pattern violation detection, compared with manual detection, with the precision of 0.81, recall of 0.77, and F1 of 0.79.
- Published
- 2020
- Full Text
- View/download PDF
41. Multi-objective optimization in the agile software project scheduling using decomposition
- Author
-
Humberto Cervantes, Saúl Zapotecas-Martínez, and Abel García-Nájera
- Subjects
business.industry ,Computer science ,Team software process ,0102 computer and information sciences ,02 engineering and technology ,Schedule (project management) ,01 natural sciences ,Multi-objective optimization ,Industrial engineering ,Scrum ,Development plan ,Software ,010201 computation theory & mathematics ,0202 electrical engineering, electronic engineering, information engineering ,Decomposition (computer science) ,020201 artificial intelligence & image processing ,Software requirements ,business ,Agile software development - Abstract
Scrum is an agile software development framework followed nowadays by many software companies worldwide. Since it is an iterative and incremental methodology, the software is developed in increments. For each increment, the software development team and the customer agree upon a development plan. However, the context of the software project may change due to some circumstances that generally arise, for example, new software requirements or changes in the development team. Consequently, these factors force the plan to be adjusted. When the plan is modified, it is necessary to consider at least three criteria to minimize the economic and operational impact of these changes. Therefore, this activity can be analyzed as a multi-objective problem. In the last two decades, multi-objective evolutionary algorithms based on the decomposition principle have become an effective and efficient tool to solve multi-objective problems. In this paper, we evaluate the potential of decomposition-based MOEAs when approximating the agile software project scheduling problem. Mainly, we focus our investigation on analyzing the performance of emblematic decomposition-based MOEAs in a set of test instances introduced in this study.
- Published
- 2020
- Full Text
- View/download PDF
42. Knowledge Sharing Challenges and Solutions Within Software Development Team: A Systematic Review
- Author
-
Firas Thekrallah, Said A. Salloum, Khaled Shaalan, and Orabi Habeh
- Subjects
Project success ,Systematic review ,Data collection ,Knowledge management ,Order (exchange) ,Computer science ,Team software process ,Process (engineering) ,business.industry ,Paper based ,business ,Knowledge sharing - Abstract
Effective and efficient management of project teams and effective knowledge sharing policy imposed by organization have significant positive impact on the knowledge sharing among software development team. Thus, organizations should enhance and improve its culture in order to offer an effective knowledge sharing process that leads to project success; thus, address challenges. This paper conducts a systematic literature review of the knowledge sharing challenges within software development team and evaluate the suggested solutions based on the methods used for the selected studies. This systematic literature review emphasizes on all knowledge sharing challenges and recommend the optimum knowledge sharing solutions based on comparing and contrasting all challenges and barriers gathered from the literature. Data collection is performed, and 9 research papers were found related to the stated objective, which can answer the stated research questions. In our methodology, 37 challenges explored, and 19 suggested solutions were gathered, compared, and discussed in the systematic literature review. Generally, challenges and suggested solutions across all selected studies were structured under four main pillars: individual, technology, project, and organization. Recommended framework and solutions have been addressed in this paper based on the results of this systematic review.
- Published
- 2020
- Full Text
- View/download PDF
43. Lean kanban in an industrial context
- Author
-
David Granada, Juan M. Vara, Esperanza Marcos, and Roberto Hens Pato
- Subjects
Process management ,Corrective maintenance ,Information technology consulting ,Team software process ,business.industry ,Software development ,Kanban ,020207 software engineering ,Context (language use) ,02 engineering and technology ,020204 information systems ,Manufacturing ,0202 electrical engineering, electronic engineering, information engineering ,Information system ,business - Abstract
Even though Lean principles have already been broadly applied to the manufacturing industry [1] , we cannot say the same regarding software development. The objective of this article is therefore to present a real experience where the Lean Kanban method [2] was applied by a software development team from an IT consulting firm. The team (7 people) is responsible for the maintenance of internal management applications at a large governmental organization (over 4,000 employees). It had to combine new evolutionary developments with corrective maintenance and incident resolution within the production area of 20 to 25 information systems with heterogeneous purposes and technologies.
- Published
- 2020
- Full Text
- View/download PDF
44. Building Implicit Vector Representations of Individual Coding Style
- Author
-
Alberto Bacchelli, Timofey Bryksin, Egor Bogomolov, and Vladimir Kovalenko
- Subjects
Social and Information Networks (cs.SI) ,FOS: Computer and information sciences ,Team Structure ,Computer science ,Team software process ,Computer Science - Social and Information Networks ,020207 software engineering ,02 engineering and technology ,Software Engineering (cs.SE) ,Computer Science - Software Engineering ,Human–computer interaction ,020204 information systems ,0202 electrical engineering, electronic engineering, information engineering ,Knowledge transfer ,Coding (social sciences) - Abstract
With the goal of facilitating team collaboration, we propose a new approach to building vector representations of individual developers by capturing their individual contribution style, or coding style. Such representations can find use in the next generation of software development team collaboration tools, for example by enabling the tools to track knowledge transfer in teams. The key idea of our approach is to avoid using explicitly defined metrics of coding style and instead build the representations through training a model for authorship recognition and extracting the representations of individual developers from the trained model. By empirically evaluating the output of our approach, we find that implicitly built individual representations reflect some properties of team structure: developers who report learning from each other are represented closer to each other.
- Published
- 2020
- Full Text
- View/download PDF
45. Mining Hypernyms Semantic Relations from Stack Overflow
- Author
-
László Tóth, Tibor Gyimóthy, László Vidács, and Balázs Nagy
- Subjects
Information retrieval ,business.industry ,Computer science ,Team software process ,WordNet ,Software development ,020207 software engineering ,02 engineering and technology ,Semantic field ,Semantic network ,Software ,020204 information systems ,0202 electrical engineering, electronic engineering, information engineering ,Software requirements ,business ,Information exchange - Abstract
Communication between a software development team and business partners is often a challenging task due to the different context of terms used in the information exchange. The various contexts in which the concepts are defined or used create slightly different semantic fields that can evolve into information and communication silos. Due to the silo effect, the necessary information is often inadequately forwarded to developers resulting in poorly specified software requirements or misinterpreted user feedback. Communication difficulties can be reduced by introducing a mapping between the semantic fields of the parties involved in the communication based on the commonly used terminologies. Our research aims to obtain a suitable semantic database in the form of a semantic network built from the Stack Overflow corpus, which can be considered to encompass the common tacit knowledge of the software development community. Terminologies used in the business world can be assigned to our semantic network, so software developers do not miss features that are not specific to their world but relevant to their clients. We present an initial experiment of mining semantic network from Stack Overflow and provide insights of the newly captured relations compared to WordNet.
- Published
- 2020
- Full Text
- View/download PDF
46. Inherent Mapping Analysis of Agile Development Methodology Through Design Thinking
- Author
-
Prasun Chakrabarti, Archana Magare, and Madonna Lamin
- Subjects
Swift ,Software ,business.industry ,Computer science ,Team software process ,Software development ,Design thinking ,Set (psychology) ,business ,Software engineering ,computer ,Agile software development ,computer.programming_language - Abstract
Software engineering is a systematic set of activities which leads to the development of software solutions of the user’s requirement. In today’s information era, there is a need to fulfill the user’s requirements quickly in a swift and systematic manner, which is done through agile development methodology. Design thinking facilitates the software development team not only to identify the explicit requirements but also the implicit requirements very keenly. This paper introduces the new framework—Intelli-A, which inherently maps the design thinking approach in agile methodology.
- Published
- 2020
- Full Text
- View/download PDF
47. Different Approaches to Complementing Software Platforms: A Case Study of Digital Innovation Across 10 Developing Countries
- Author
-
Nilza Collinson, Petter Nielsen, Masoud Mahundi, University of Oslo (UiO), Eduardo Mondlane University, University of Dar es Salaam (UDSM), Julian M. Bass, P. J. Wall, TC 9, and WG 9.4
- Subjects
Knowledge management ,Software platform ,business.industry ,Team software process ,media_common.quotation_subject ,05 social sciences ,Developing country ,02 engineering and technology ,Maturity (finance) ,Complementors ,Scarcity ,Software ,Fringes ,Leverage (negotiation) ,020204 information systems ,Multiple time dimensions ,0502 economics and business ,0202 electrical engineering, electronic engineering, information engineering ,[INFO]Computer Science [cs] ,business ,Human resources ,Innovation ,050203 business & management ,media_common - Abstract
Part 1: Session 1; International audience; Software platforms offer a foundation for digital innovation and have the potential to take advantage of and leverage the knowledge and skills of distributed and diverse software organizations as ‘complementors’. Due to their location far away from platform owners, scarce resources, and limited capacity to hire and retain skilled human resources, organizations in developing countries typically face barriers for participating in digital innovation. This paper aims to improve our understanding of how these organizations can take part in digital innovation. The basis for our research is a case study of software organizations located in different developing countries and their role as complementors related to the DHIS2 software platform, a platform made for the public health sector in developing countries. We contribute by exploring and showing how these organizations differ along multiple dimensions, for instance, the maturity of their software development team, their relation to the platform owners, and their access to resources. Further, we identify and develop a taxonomy consisting of six different forms of digital innovation unfolding in the fringes of a software platform ecosystem and identify contextual factors influencing these different forms.
- Published
- 2020
- Full Text
- View/download PDF
48. CompliancePal: A Tool for Supporting Practical Agile and Regulatory-Compliant Development of Medical Software
- Author
-
Vlad Stirbu, Tommi Mikkonen, Department of Computer Science, and Empirical Software Engineering research group
- Subjects
Service (systems architecture) ,Process management ,business.industry ,Computer science ,Team software process ,020207 software engineering ,02 engineering and technology ,computer.software_genre ,113 Computer and information sciences ,Documentation ,Software ,Unified Modeling Language ,020204 information systems ,Medical software ,0202 electrical engineering, electronic engineering, information engineering ,business ,computer ,Risk management ,Agile software development ,computer.programming_language - Abstract
As digital transformation affects more and more industries, the increased role of software and the skills required to develop software trigger a ripple effect. Entire industries, where regulations and government standards play an important role (e.g. health care, avionics, etc.), have used long development cycles that relied on detailed up-front planning before advancing to any detailed decision. In contrast to this mindset, agile software development has proven to deliver results that satisfy customers needs faster than traditional waterfall methodologies. The lack of detailed upfront planning and fast delivery cycles have led to situations where the use of agile became synonymous with lack of documentation and poor quality, and hence the perception that the approach is not suitable for regulated systems. In this experience paper we describe the implementation of a service that integrates medical device software compliance specific activities such as architectural design and limited risk management into the daily agile practices of a software development team.
- Published
- 2020
49. Birds of a Feather Gel Together: Impact of Team Homogeneity on Software Quality and Team Productivity
- Author
-
Nosheen Qamar and Ali Afzal Malik
- Subjects
Process management ,General Computer Science ,Team software process ,Computer science ,social aspects of software development ,02 engineering and technology ,Empirical research ,Software ,020204 information systems ,0202 electrical engineering, electronic engineering, information engineering ,General Materials Science ,business.industry ,General Engineering ,Software development ,software developer personality traits ,020207 software engineering ,personality assessment ,software quality ,Software quality ,team homogeneity index ,Test case ,Systems development life cycle ,Task analysis ,Five factor model ,lcsh:Electrical engineering. Electronics. Nuclear engineering ,business ,lcsh:TK1-9971 - Abstract
Even though a lot of projects fail due to social issues or personality conflicts, only a small number of empirical studies have been conducted to quantitatively assess the impact of individual personality attributes on the software being developed and the team developing that software. The goal of this paper is to quantify the abstract notion of team homogeneity and to measure its impact on software quality and team productivity. A metric called team homogeneity index (THI) is proposed for this purpose. The six-step process of calculating the THI of a software development team is described and illustrated with the help of an example. Finally, the utility of THI is assessed by conducting a controlled experiment in two different phases of the software development life cycle (SDLC), i.e., implementation and testing. The results reveal that, during the implementation phase, teams with greater THI values were noticeably more productive and produced better quality code. Similarly, during the testing phase, teams with higher values of THI tested more features and wrote better quality test cases. Therefore, the evidence obtained so far suggests that the newly proposed metric, THI, appears to be useful in predicting the quality of software and the productivity of software development teams. Future work includes determining the weights of the five traits using input from the software industry and replication of this empirical study on different phases of SDLC with software practitioners to validate our findings.
- Published
- 2019
50. Significance of Agile Software Development and SQA Powered by Automation
- Author
-
Dipali Sawant and Bilal Gonen
- Subjects
Scrum ,Engineering management ,Software ,Process (engineering) ,Team software process ,business.industry ,Computer science ,Scale (chemistry) ,Software development ,business ,Automation ,Agile software development - Abstract
Today's software industry is fast moving and has daily changing demands. Many organizations are struggling to cope up with these emerging demands and they are looking for change in software development. Agile is most popular software development strategy in today's software industry, Agile provides different methods, organizations can choose suitable method to implement agility. Among all agile methods, Scrum is the most popular as of today. Although, agile is well suitable for large organization with distributed systems. Agile method such as 'scrum' can be improved further and it can work with other process and automation tools coupled with agile artifacts to improve software development team's performance such a solution can be applied to large scale industries. As no one solution is best suitable for today's business, hence the concept of 'Agile Genome' is becoming more popular, which encourages organizations to use combination of other methods and automation tools that can be used based on the application. Hence there is a need of discussing areas where agile and automation can work together and finding different ways of utilizing full potential of agile methods along with automation tools to achieve maximum benefits for the software industries.
- Published
- 2020
- Full Text
- View/download PDF
Catalog
Discovery Service for Jio Institute Digital Library
For full access to our library's resources, please sign in.