TL;DR: In this article, the authors present a comprehensive and unifying theory to promote the under standing of technical systems, which is useful as a foundation for a ratio nal approach to the engineering design process, as a background to engineering education, and other applications.
Abstract: This book presents a comprehensive and unifying theory to promote the under standing of technical systems. Such a theory is useful as a foundation for a ratio nal approach to the engineering design process, as a background to engineering education, and other applications. The term "technical system" is used to represent all types of man-made artifacts, including technical products and processes. The technical system is therefore the subject (in the grammatical sense of the word) of the collection of activities which are performed by engineers within the processes of engineering design, including generating, retrieving, processing and transmitting of information about products. It is also the subject of various tasks in the production process, including work preparation and production planning, and in many economic considerations, company-internal and societal. In this way, the Theory of Technical Systems is a contribution to science, as in terpreted in the wider, Germanic sense of a "co-ordinated and codified body of knowledge." It brings together the various viewpoints of engineers, scientists, economists, ergonomists, managers, users, sociologists, etc., and shows where and how they influence the forms of engineering products. It also explains the influ ences that a product exerts on its environment. This Theory of Technical Systems should thus interest design engineers, and en gineers involved in production, management, sales, etc. In an interdisciplinary ap plication of value analysis, the Theory of Technical Systems should provide answers to many questions raised in this field."
TL;DR: In this article, the authors highlight the results of a survey of software professionals to uncover the perceived relevance (or lack thereof) of software documentation, and the tools and technologies used to maintain, verify and validate such documents.
Abstract: This paper highlights the results of a survey of software professionals. One of the goals of this survey was to uncover the perceived relevance (or lack thereof) of software documentation, and the tools and technologies used to maintain, verify and validate such documents. The survey results highlight the preferences for and aversions against software documentation tools. Participants agree that documentation tools should seek to better extract knowledge from core resources. These resources include the system's source code, test code and changes to both. Resulting technologies could then help reduce the effort required for documentation maintenance, something that is shown to rarely occur. Our data reports compelling evidence that software professionals value technologies that improve automation of the documentation process, as well as facilitating its maintenance.
TL;DR: Researchers investigated how 10 common documentation problems manifested themselves in practice and found the three severest problems were ambiguity, incompleteness, and incorrectness of content.
Abstract: Formal documentation can be a crucial resource for learning to how to use an API. However, producing high-quality documentation can be nontrivial. Researchers investigated how 10 common documentation problems manifested themselves in practice. The results are based on two surveys of a total of 323 professional software developers and analysis of 179 API documentation units. The three severest problems were ambiguity, incompleteness, and incorrectness of content. The respondents often mentioned six of the 10 problems as "blockers"' that forced them to use another API.
TL;DR: The results show that the documentation within corrective maintenance is still a very neglected issue within the organisations studied, and none of the authors' organisations has fully implemented all their documentation requirements.
Abstract: The purpose of documentation is to describe software systems and software processes. Consistent, correct and complete documentation of a software system is an important vehicle for the maintainer to gain its understanding, to ease its learning and/or relearning processes, and to make the system more maintainable. Poor system documentation, on the other hand, is the primary reason for quick software system quality degradation and ageing. Proper process documentation records the process, its stages and tasks, executing roles, their decisions and motivations, and the results of each individual process task. It is extremely important for achieving insight and visibility into the processes, important for their meaningful process measurement and thereby pivotal for achieving high process maturity. In this paper, we report on the results of an explorative study in which we have identified a number of rudimentary documentation requirements relevant within corrective maintenance, and found out how they were implemented within eighteen software organizations in Sweden. The goal was to examine the industrial documentation practice within corrective maintenance. Our results show that the documentation within corrective maintenance is still a very neglected issue within the organisations studied. None of our organisations has fully implemented all our documentation requirements.
TL;DR: To discover the part played by users in developing new computer software, Chris Voss traces the development path of a large number of software applications and finds some particular circumstances where users lead the development of new products.