Empirical software engineering is a discipline that systematically applies observational, experimental, and analytical methods to study the processes, practices, and outcomes in software development.