Software design problems are often characterized as ill-structured because the requirements are not clearly defined. These problems offer various solution paths and the criteria used to select the solution may not be known initially. The expertise and experience of designers play a crucial role in determining the quality of software design. Less experienced designers often tend to prematurely narrow down their options to a single solution without fully exploring the problem-solution space. This tendency has a negative impact on the overall quality of software design. Studies have shown that systematically expanding the problem space before reducing to problem formulation and exploring the solution space before reducing it to a single solution (expand-reduce skills) improves the quality of the design. We have designed and developed a technology-enhanced learning environment (TELE) named Fathom for scaffolding expand-reduce (ER) skills in software design problems in a data structures course. In this paper, we present three cycles of design, development, and evaluation of Fathom based on the design-based research (DBR) approach. In the first DBR cycle, we identified and evaluated Fathom’s pedagogical features in learning ER skills. In the second cycle of DBR, the aim was to improve the design of Fathom for the learning and transfer of ER skills. Fathom was revised in the third cycle of the DBR to scaffold metacognitive skills. The main contribution of this research is pedagogical design for facilitating the learning of expand-reduce skills in solving software design problems.