The process of gathering and defining what a system needs to do, typically involving stakeholders and domain experts.