What is the problem with the software at this point? Are there any underlying aspects of this problem that should be taken into consideration before trying to develop a solution? What’s at stake if a problem is not thoroughly analyzed before trying to fix it? How can software developers get the information they need to thoroughly understand a particular problem they are trying to solve.
These questions based on G. Polya' s Problem Solving Heuristic - may not work here
Who are the stakeholders in this software project? The obvious ones are students, instructors and graders. Less obvious ones: the rest of the CS Department, any others involved in the CS curriculum, educators at other institutions, future employers. Not necessarily "stakeholders", but interesting sources of information: the authors of the previous software products. What kind of input could each group give, and how could you go about getting input from them?