Building a solution starts with writing down the entire problem meticulously, goes through a phase of modeling a general solution around some main components and culminates with the definition of a detailed, actionable, specification of the agreed solution.