An Epistemological Model of Software Engineering - Centered on Decision-Making and the Progressive Maturation of the Solution
Abstract
Software engineering is traditionally treated as a problem of implementation, processmanagement, and delivery efficiency. This paper proposes a more fundamental conceptual shift:the core problem of software engineering is not the implementation of a previously knownsolution, but the progressive construction of correct knowledge about the solution within acontext of inevitable uncertainty. In real-world projects, the solution is rarely fully known at theoutset and matures as it is used, validated, and confronted with operational reality.Based on this premise, the paper introduces an epistemological model of softwareengineering centered on decision-making and the progressive maturation of the solution,in which software in operation is understood as the temporary materialization of successivehypotheses. In this model, structural decisions play a central role, as they reduce the space ofpossible solutions and generate systemic costs when made under immature knowledge. Changes,in turn, are treated as legitimate evidence of learning, provided they are governed by explicitcriteria of validation and stability.The work draws a strict distinction between a fixed method—responsible for the governance ofthe decision-making process—and variable content, corresponding to the hypotheses of thematuring solution. This distinction enables the management of risk, expectations, and total costof ownership over time. So-called technical debt is reinterpreted as epistemological debt,resulting from the premature crystallization of inadequate conceptual decisions, and solutionmaturity is defined as decision stability observed under real use.This framework is termed Software Engineering 4.0, characterizing a shift in the conceptual coreof the discipline: from a focus on implementation to a focus on decision-making, from delivery tomaturation, and from code to the knowledge embedded in the system. Technologies such asautomatic code generation and artificial intelligence are analyzed as historical amplifiers of thisshift, insofar as they reduce implementation costs, but not as its conceptual foundation. Thischaracterization is presented as an analytical framework derived from observed practice, ratherthan as a normative proposal to replace existing methods.The paper presents definitions, axioms, propositions, and evaluation criteria, aiming to provide arigorous theoretical foundation—technologically and methodologically independent—suitablefor the analysis, teaching, and practice of software engineering in contexts of structuraluncertainty.Keywords— Software Engineering, Decision-Making, Epistemology, Software Architecture,Technical Debt, Software EvolutionThis record contains two language versions of the same article: English and Portuguese.
Fields of Study & Subjects
Software Engineering Techniques and Practices
Software Engineering Research
Information Retrieval and Data Mining
Publication details
- Journal / source
- Zenodo (CERN European Organization for Nuclear Research)
- Publication date
- 8 January 2026
- Language
- EN
- Document type
- Preprint