Towards Knowledge Evolution in Software Engineering

Author(s):  
Yves Wautelet ◽  
Christophe Schinckus ◽  
Manuel Kolp

This article presents an epistemological reading of knowledge evolution in software engineering (SE) both within a software project and into SE theoretical frameworks principally modeling languages and software development life cycles (SDLC). The article envisages SE as an artificial science and notably points to the use of iterative development as a more adequate framework for the enterprise applications. Iterative development has become popular in SE since it allows a more efficient knowledge acquisition process especially in user intensive applications by continuous organizational modeling and requirements acquisition, early implementation and testing, modularity,… SE is by nature a human activity: analysts, designers, developers and other project managers confront their visions of the software system they are building with users’ requirements. The study of software projects’ actors and stakeholders using Simon’s bounded rationality points to the use of an iterative development life cycle. The later, indeed, allows to better apprehend their rationality. Popper’s knowledge growth principle could at first seem suited for the analysis of the knowledge evolution in the SE field. However, this epistemology is better adapted to purely hard sciences as physics than to SE which also takes roots in human activities and by the way in social sciences. Consequently, we will nuance the vision using Lakatosian epistemology notably using his falsification principle criticism on SE as an evolving science. Finally the authors will point to adaptive rationality for a lecture of SE theorists and researchers’ rationality.

Author(s):  
Yves Wautelet ◽  
Christophe Schinckus ◽  
Manuel Kolp

This article presents an epistemological reading of knowledge evolution in software engineering (SE) both within a software project and into SE theoretical frameworks principally modeling languages and software development life cycles (SDLC). The article envisages SE as an artificial science and notably points to the use of iterative development as a more adequate framework for the enterprise applications. Iterative development has become popular in SE since it allows a more efficient knowledge acquisition process especially in user intensive applications by continuous organizational modeling and requirements acquisition, early implementation and testing, modularity,… SE is by nature a human activity: analysts, designers, developers and other project managers confront their visions of the software system they are building with users’ requirements. The study of software projects’ actors and stakeholders using Simon’s bounded rationality points to the use of an iterative development life cycle. The later, indeed, allows to better apprehend their rationality. Popper’s knowledge growth principle could at first seem suited for the analysis of the knowledge evolution in the SE field. However, this epistemology is better adapted to purely hard sciences as physics than to SE which also takes roots in human activities and by the way in social sciences. Consequently, we will nuance the vision using Lakatosian epistemology notably using his falsification principle criticism on SE as an evolving science. Finally the authors will point to adaptive rationality for a lecture of SE theorists and researchers’ rationality.


RENOTE ◽  
2019 ◽  
Vol 17 (3) ◽  
pp. 273-284
Author(s):  
Maria Lydia Fioravanti ◽  
Antonio Cesar Amaru Maximiano ◽  
Ellen Francine Barbosa

Despite Software project management (SPM) being one of the most relevant topicsin the area of software engineering that should be addressed in computing programs, SPM skills of recent graduates are not satisfactory yet. In this context, besides being important to know there are skill deficiencies, we also need to gather specific information on how to adjust and improve the education on the corresponding topics. In this paper we attempt to identify what knowledge deficiencies in SPM can persist after a student graduates from a computing degree program. We surveyed practitioners that graduated and worked as software project managers to gather the knowledge deficiencies from the industry perspective. In general, the results indicated that there is a number of professionals who seeks postgraduate programs to fill the deficiencies of the undergrad programs.


Author(s):  
Nuthan Munaiah ◽  
Steven Kroh ◽  
Craig Cabrey ◽  
Meiyappan Nagappan

Software forges like GitHub host millions of repositories. Software engineering researchers have been able to take advantage of such a large corpora of potential study subjects with the help of tools like GHTorrent and Boa. However, the simplicity in querying comes with a caveat: there are limited means of separating the signal (e.g. repositories containing engineered software projects) from the noise (e.g. repositories containing home work assignments). The proportion of noise in a random sample of repositories could skew the study and may lead to researchers reaching unrealistic, potentially inaccurate, conclusions. We argue that it is imperative to have the ability to sieve out the noise in such large repository forges. We propose a framework, and present a reference implementation of the framework as a tool called reaper, to enable researchers to select GitHub repositories that contain evidence of an engineered software project. We identify software engineering practices (called dimensions) and propose means for validating their existence in a GitHub repository. We used reaper to measure the dimensions of 1,994,977 GitHub repositories. We then used the data set train classifiers capable of predicting if a given GitHub repository contains an engineered software project. The performance of the classifiers was evaluated using a set of 200 repositories with known ground truth classification. We also compared the performance of the classifiers to other approaches to classification (e.g. number of GitHub Stargazers) and found our classifiers to outperform existing approaches. We found stargazers-based classifier to exhibit high precision (96%) but an inversely proportional recall (27%). On the other hand, our best classifier exhibited a high precision (82%) and a high recall (83%). The stargazer-based criteria offers precision but fails to recall a significant potion of the population.


Author(s):  
Adrián Casado-Rivas ◽  
Manuel Muñoz Archidona

In Software Engineering, personality traits have helped to better understand the human factor. In this chapter, the authors give an overview of important personality traits theories that have influenced Software Engineering and have been widely adopted. The theories considered are Myers-Briggs Type Indicator, Big Five Personality Traits, and Belbin Roles. The influence of personality traits has provided remarkable benefits to Software Engineering, especially in the making of teams. For software project managers, it is useful to know what set of soft skills correlates to a specific team role so as to analyze how personality traits have contributed to high performance and cohesive software engineering teams. The study of software engineers’ personality traits also helps to motivate team members. Creating teams that involve compatible individuals, each working on tasks that suit them, and having a motivated team improves team performance, productivity, and reduces project costs.


Author(s):  
Marcos Ruano-Mayoral ◽  
Ricardo Colomo-Palacios ◽  
Ángel García-Crespo ◽  
Juan Miguel Gómez-Berbís

Despite the clear relevance of the Information and Communications Technologies (ICT) market in world economics and the evident lack of success of software projects, organizations devote little effort to the development and maturity of the software project manager profession. This work analyzes the figure of project manager from the perspective of the Team Software Process (TSP), and it considers the required skills, attitudes and knowledge for a software development project. The basis for the study is the analysis of relevant references from the literature for their subsequent categorization into different competency concepts. The results of the analysis are compared with the contributions which the Guide to the SWEBOK® and the PMBOK® Guide models provide of the profiles of the project manager. The results indicate that the literature relating to the Team Software Process is focused on the definitions of skills and attitudes, and to a lesser extent on knowledge components. The lack of the definition of the components which comprise competency constitutes a challenge for software development organizations that use TSP, whose project managers should confront the task with full capacities, and without the help of established and recognized competencies. The current work attempts to establish the competencies for project managers identified in the literature, in the environment of the use of TSP for software development, using a study based on content analysis.


Author(s):  
Roy Gelbard ◽  
Jeffrey Kantor ◽  
Liran Edelist

This study proposes and prototypes a model that integrates these three aspects of software projects by automatically mapping SE objects and accounting–costing objects into PM objects. To validate the feasibility of the model and without loss of generality, it is demonstrated using former research platform focused on conversion of data flow diagrams (DFD), which are actually full enterprise set of use cases diagrams reflecting entire system-software project into Gantt charts.


2020 ◽  
Vol 6 (3) ◽  
pp. 27-34
Author(s):  
E.J. Robles Gómez ◽  
J.A. Flores Lara ◽  
J.C. Ontiveros Neri

El juego getKanban es una herramienta para enseñar la metodología Kanban y SCRUM de una manera divertida. Facilita la enseñanza de la gestión de proyectos de software a través de un juego de mesa, donde los jugadores aprenden a formular estrategias de gestión de proyectos y las implementan para elaborar proyectos de calidad en tiempo y forma. El presente artículo muestra los resultados de la implementación del juego en una institución educativa de nivel superior, con alumnos de Ingeniería en Sistemas Computacionales de octavo semestre. Se puede apreciar que al utilizar este juego ayuda de manera efectiva a la enseñanza de Kanban y SCRUM, para la gestión de proyectos de software. Por lo cual se recomienda poder implementar este tipo de juegos como estrategia didáctica para la enseñanza/aprendizaje de Ingeniería de Software aplicada a la Gestión de Proyectos de Desarrollo de Software. The game Kanban is a tool to teach the methodology in a fun way. It facilitates the teaching of software project management through where players learn to formulate strategies and implement them to develop quality projects on time Delivery. This article shows the results of the implementation of the game in an educational institution of higher level, with students of Computer Systems Engineering eighth semester. It can be seen that by using this game it helps in an effective way to teach Kanban for the management of software projects. Therefore, it is recommended to be able to implement this type of games as a didactic strategy for the teaching / learning of Software Engineering applied to the Management of Software Development Projects


Author(s):  
Gary D. Boetticher

Given a choice, software project managers frequently prefer traditional methods of making decisions rather than relying on empirical software engineering (empirical/machine learning- based models). One reason for this choice is the perceived lack of credibility associated with these models. To promote better empirical software engineering, a series of experiments are conducted on various NASA datasets to demonstrate the importance of assessing the ease/difficulty of a modeling situation. Each dataset is divided into three groups, a training set, and “nice/nasty” neighbor test sets. Using a nearest neighbor approach, “nice neighbors” align closest to same class training instances. “Nasty neighbors” align to the opposite class training instances. The “nice”, “nasty” experiments average 94% and 20%accuracy, respectively. Another set of experiments show how a ten-fold cross-validation is not sufficient in characterizing a dataset. Finally, a set of metric equations is proposed for improving the credibility assessment of empirical/machine learning models.


Author(s):  
Roy Gelbard ◽  
Jeffrey Kantor ◽  
Liran Edelist

This study proposes and prototypes a model that integrates these three aspects of software projects by automatically mapping SE objects and accounting–costing objects into PM objects. To validate the feasibility of the model and without loss of generality, it is demonstrated using former research platform focused on conversion of data flow diagrams (DFD), which are actually full enterprise set of use cases diagrams reflecting entire system-software project into Gantt charts.


Sign in / Sign up

Export Citation Format

Share Document