This article describes an approach to how a general theory of software engineering could be developed. It argues that the approach should be top-down in nature. It also argues that the theory should include predictive capabilities that are empirically corroborated and as a result of the ambition to be general the theory needs to be probabilistic. Brief examples of such theories are provided.
QC 20140214