I have students complete a long-term project over a very wide spectrum of CS and applied ICT areas. Each student has one project of their own choice and design. Topics proposed by students at present include architectural design, phone apps, animation, video and sound, typography, robotics, coding, story-telling, website, and research projects.
I use two main strategies to encourage good use of time and thus meaningful progress. These are reflective learning journals and group meetings. A bonus is that this scrutiny discourages plagiarism.
Students keep a reflective learning journal in OneNote that they share with me, and I expect at least three meaningful entries describing what they are doing (photos, screenshots, video, etc) per week. Along with moving around the classroom, this is my primary check of on-task progress.
I also run meetings with about 6 - 10 students in a group (every 3 weeks or so), where each student describes what they are doing, obstacles, and solutions. These meetings are a cross between the Harkness Method and Dragon's Den/Shark Tank, where students have to front up and own their project and their progress. Other students (and me) chime in with thoughts and suggestions. I call these meetings "The Table", and ask students - what are you going to bring to The Table? Are you ready for The Table?
I find students need to be taught/cued in to the reflective learning journal and The Table, but once they have experience and confidence they respond very well. Both the learning journal and The Table are graded.
This frees me to be able to move around the room interacting with individual students.
To summarize, I find that a triangulation between learning journal, The Table, and classroom interaction is an effective way to promote and monitor effective progress in individualized project settings.