About
58
Publications
49,577
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
796
Citations
Introduction
I'm a Co-Founder and former CTO of Talentwunder where I was responsible for driving the company’s technology vision.
Dr. Jörg Rech was a senior scientist and project manager at SAP Research Karlsruhe, Germany. Previously, he worked for Fraunhofer IESE in Kaiserslautern and the University of Kaiserslautern, Germany. His research mainly concerns the context-sensitive diagnosis of quality-defects, their refactoring and treatment, semantic technologies in software organizations, experience and knowledge management, knowledge patterns, and software engineering, with a focus on model-driven software engineering.
Current institution
Techmap.io
Current position
- Founder & CEO
Publications
Publications (58)
In many agile software engineering organizations there is not enough time to follow knowledge management processes, to retrieve knowledge in complex processes, or to systematically elicit knowledge. This chapter gives an overview about the human-centered design of semantically-enabled knowledge management systems based on Wikis used in agile softwa...
In software engineering Experience Factories have been in use for a long time to store and manage experiences from software projects, typically in large organizations. Beside the preservation of quantitative or numerical experiences, e.g., in form of project effort data or data from empirical studies, many experience facto-ries also preserve subjec...
Technology-enhanced learning (TEL) systems and intelligent assistance systems aim at supporting software engineers during
learning and work. A questionnaire-based survey with 89 responses from industry was conducted to find out what kinds of services
should be provided and how, as well as to determine which software engineering phases they should f...
In many agile software engineering organizations there is not enough time to follow knowledge management processes, to retrieve knowledge in complex processes, or to systematically elicit knowledge. This chapter gives an overview about the human-centered design of semantically-enabled knowledge management systems based on Wikis used in agile softwa...
Knowledge patterns are one way to formalize and describe lessons learned and best practices (i.e., proven experiences) about structuring knowledge, the design of KM systems, or the development of underlying ontologies. Such patterns capture aspects that positively or negatively influence the KM activities. In the later case, where negative influenc...
Knowledge management is a relatively young discipline. Nevertheless, it has accumulated a valuable body of knowledge in the structuring of knowledge and in the design of socio-technical knowledge management systems. However, concepts to describe common, recurring patterns of how to describe, structure, interrelate, group, or manage knowledge elemen...
Students have to cope with new technologies, changing environments, and conflicting changes in capstone projects. They often lack practical experience, which might lead to failing to achieve a project’s learning goals. In addition, the Net Generation students put new requirements upon software engineering education because they are digitally litera...
A part of software quality assurance is concerned with the diagnosis of defects, which decrease quality aspects of software systems, such as maintainability, reusability, portability, or performance. Concurrent approaches for defect diagnosis focus on post-development manual inspections of the software's source code. The context-sensitive diag-nosi...
Developing human-engineered systems is considered as a challenge that addresses a wide area of expertise; computer scientists as well as social scientists. These experts have to work together closely in teams in order to build intelligent systems to support agile software development. The methodology developed in the RISE project enables and suppor...
Developing human-engineered systems is considered as a challenge that addresses a wide area of expertise; computer scientists as well as social scientists. These experts have to work together closely in teams in order to build intelligent systems to support agile software development. The methodology developed in the RISE project enables and suppor...
Many software organizations have a reputation for producing expensive, low-quality software systems. This results from the inherent complexity of software itself as well as the chaotic organization of developers building these systems. Therefore, we set a stage for software development based on social software for knowledge and learning management...
Self-organized reuse of artifacts from software and system development, using the lightweight Wiki-Technology, promises a sustainable preservation and availability of business-critical information. However, due to the organic, sometimes chaotic growth of content inside a Wiki, additional support for structuring the knowledge and finding interrelate...
Students have to cope with new technologies, changing environments, and conflicting changes in capstone projects. They often lack practical experience, which might lead to failing to achieve a projectpsilas learning goals. Reusing experiences from other students provides a first step towards building up practical knowledge and implementing experien...
Model-driven software development (MDSD) drastically alters the software development process, characterized by a high degree of innovation and productivity. However, quality assurance application in the domain of software models and model-driven software development is still in an emergent phase. Model-Driven Software Development: Integrating Quali...
Additional information about software models comes in different forms such as defects detected, design patterns used, traceability information to other abstraction levels, etc. In this paper, we present how additional informa-tion about defects, context, traceability, etc. can be embedded into UML-and BPMN-based PIM-and CIM-level software models. F...
Knowledge management is a relatively young discipline. It has accumulated a valuable body-of-knowledge on how to structure and represent knowledge, or how to design socio-technical knowledge management systems. A wide variety of approaches and systems exists that are often not interoperable, and hence, prevent an easy exchange of the gathered knowl...
A Learning Software Organization (LSO) often supports such information retrieval needs by installing an Experience Base (EB) or another Knowledge Management (KM) system. However, even in such environments, searching for the right information can still be a challenge. In this paper, we identify some of the reasons for these challenges. Based on our...
Today's work is characterized by a high degree of innovation and thus demands a thorough overview of relevant knowledge in the world and in organizations. Semantic Work Environments support the work of the user by collecting knowledge about needs and providing processed and improved knowledge to be integrated into work. Emerging Technologies for Se...
Software engineering curriculum guidelines state that students should practice methods, techniques, and tools. A capstone project is one possibility to address this aim. A capstone project helps the students to increase their problem solving competencies, improve their social skills (e.g., communication skills), and gather practical experience. A c...
Software projects in small-and medium-sized enterprises (SMEs) produce similar work products when building interactive software systems. For each project, software engineers create requirements, design specifications, source code, data schemes, and so forth, gain experience with these work products, and create associated products such as test cases...
Although many environments explicitly or implicitly use ideas from intelligent assistance research, users aren't always aware of its existence and potential. A survey of 135 German participants sheds light on the usage of and demand for intelligent assistance in software engineering activities. The project aimed to clarify intelligent assistance co...
Requirements elicitation and documentation are complex activities. So, not only the requirements themselves but also the people involved and the means for managing the requirements will evolve during the project. For example, it might be necessary to add RE personnel, to document templates, or to change the requirements classification scheme. In su...
Software systems have reached a level of complexity that puts them beyond our ability to evolve and maintain them easily. This increases the need for soft-ware organizations to develop new or rework existing systems with high quality. CodeSonar was developed to support software engineers during software development and maintenance activities throug...
Trends are a valuable tool to shape one's research, decide on acquisitions, inform about technologies or standards used in the development process. Google Trends is a new service by Google for researching the amount of searches and news articles collected by their search engines, which can be used to discover trends in software engineering. In May...
Knowledge management is a relatively young discipline. Nevertheless, it has accumulated a valuable body-of-knowledge in the structuring of knowledge and in the design of socio-technical knowledge management systems. However, concepts to describe common, recurring patterns of how to describe, structure, interrelate, group, or manage knowledge elemen...
Im Bereich Software Engineering werden Erfahrungsmanagement-Systeme wie Experience Factories schon seit lan-gem dazu verwendet, Erfahrungen aus Softwareprojekten zu speichern und zu verwalten. Viele Experience Factories bewahren nicht nur quantitative oder numerische Erfahrungen, z.B. in Form von Projektaufwandsdaten oder Daten aus empirischen Stud...
Software quality assurance is concerned with the efficient and effective development of large, reliable, and high-quality software systems. In agile software development and maintenance, refactoring is an important phase for the continuous improvement of a software system by removing quality defects like code smells. As time is a crucial factor in...
Our society needs and expects more high-value services. Such "knowledge-intensive" services can only be delivered if the necessary or- ganizational and technical requirements are fulfilled. In addition, the cost-benefit analysis from the service provider point of view needs to be positive. Continuous improvement and goal-directed (partial) automa-...
The indiGo project offers a solution for tackling resistance against and problems while executing process models: eParticipative Process Learning. Via moderated, web-based discussions, consensus about a process is created and process models are reviewed to achieve better understandability or other quality aspects. Furthermore, problems during the e...
The development of software is often accompanied by poor documentation of experiences, decisions, or architectural information. Reuse of experiences and knowledge, using the lightweight Wiki-Technology, promises a sustainable assurance and availability of business-critical information. In this paper we give an overview of the RISE research project...
Object oriented source code occurs in diverse programming languages with documentation us- ing miscellaneous standards, comments in indi- vidual styles, or associated test cases that are hard to exploit through information retrieval or knowledge discovery techniques. Typically, the information about object-oriented source code for a software system...
In software engineering, the quality of development and business processes and their models is of utmost importance for (a) the quality of the software products developed and (b) the operational success of the organization. Nevertheless, many organizations neglect these processes and leave the knowledge about them in the heads of their experts. In...
The disciplines of Artificial Intelligence and Software Engineering have many commonalities. Both deal with modeling real world objects from the real world like business processes, expert knowledge, or process models. This article gives a short overview about these disciplines and describes some current research topics against the background of com...
In agile software development refactoring is an important phase for the continuous improvement of software quality. Unfortunately, the application of refactorings is very subjective and heavily based on the expertise of the developers resulting in an unstable quality assurance. In this paper, we present an experience- based approach for the semi-au...
In agile software development refactoring is an important phase for the continuous improvement of software quality. Unfortunately, the application of refactorings is very subjective and heavily based on the expertise of the developers resulting in an unstable quality assurance. In this paper, we present an experience-based approach for the semi-aut...
In software engineering, the quality of processes and their models is of utmost im- portance for the quality of the software products developed. Nevertheless, many organizations neglect these processes and leave the knowledge about them in the heads of their experts. In this paper we present the indiGo method for eParticipa- tive Process Learning b...
The indiGo project aims at improving process knowledge by successive consolidation of feedback, ranging from private annotation, through structured communication in communities of practice, to improved process models and lessons learned. It develops a methodology and integrates previously independent software for process modeling, moderated discour...
Within this paper we describe the indiGo approach to preparation, moderation, and analysis of discourses to enhance experience management. In the indiGo project this has been exemplified for the process learning domain. indiGo includes an integration of approaches for e-participation, experience management, process modeling and publishing, as well...
Experience Management (EM) is an area that is increasingly gaining importance. Its roots lie in Experimental Software Engineering ("Experience Factory"), in Artificial Intelligence ("Case-Based Reasoning"), and in Knowledge Management. EM is comprised of the dimensions methodology, technical realization, organization, and management. It includes te...
Experience Management (EM) is an area that is increasingly gaining importance. Its roots lie in Experimental Software Engineering ("Experience Factory"), in Artificial Intelligence ("Case-Based Reasoning"), and in Knowledge Management. EM is comprised of the dimensions methodology, technical realization, organization, and management. It includes te...
The amount of methods, techniques, and tools in software engineer-ing is increasingly growing. In order to keep track of the progress of these tech-nologies and methodologies, a software engineering manager needs an easy and fast access to evidence about their effectiveness and efficiency. A semantics-based evidence portal for software organization...
Software engineering is a highly collaborative and complex process involving a large number of different roles. In this process, every activity com-prises the development of software artifacts that are created by a specific role or provided by others and that might serve as input for subsequent activities. Hence, software engineering highly depends...
The management of experiences from projects is an important issue for modern software organizations. In this paper we describe our initiative for experience management (EM) called COIN based on case-based reasoning technology. We present several examples of application from data mining and text mining to enhance our system at Fraunhofer IESE. Our g...
Today, reuse-oriented software engineering covers the process of the development and evolution of software systems by reusing existing experience (i.e., products, processes, and knowledge). One of the major problems of software reuse is the lack of knowledge and skills for understanding reusable experience. This paper explains how the reuse process...
Dieser Beitrag adressiert sowohl die Erwartung als auch das Bedürfnis unserer Gesellschaft nach mehr hochwertigen Dienstleistungen. Solche "wissensintensiven" Dienstleistungen - auch bekannt als Wissensarbeit - können nur erbracht werden, wenn die entsprechenden organisatorisch-technischen Voraussetzungen erfüllt sind und insbesondere es sich für d...
Software repositories are typically used to store code together with additional information. These reposito- ries are a valuable source to train knowledge discovery al- gorithms to detect code smells and other qualitative defects. In this paper we present a lightweight framework to detect previously unknown knowledge from software reposit ories to...