It's definitely a challenge for them, and it requires immense self-discipline.
Coincidentally, I just posted this morning about the three qualities of successful Ph.D. students--perseverance, tenacity and cogency:
http://matt.might.net/articles/successful-phd-students/
The middle part of grad school is generally depressing: you're failing constantly, your work is getting rejected everywhere, and you get consumed with self-doubt.
It's tough to get a Ph.D. part-time because to do it right, it must consume you. Exceptions are rare.
Also, if you're hoping that what you have at the end of a Ph.D. will be ready for end users, you might want to consider that the benchmark for software in academia is "proof of concept." Most academic code is a disaster in terms of usability and maintainability.
The code is so awful that I even drafted a special open source license to encourage academics to release it--the CRAPL: