I have been on the other side. I'd like to think of myself as an excellent programmer, but occasionally I'm hard to motivate myself.
The main reasons for that is that the job is boring, and the feeling of getting nowhere, being stuck. The thing that motivates me the most is the feeling of getting things done, fast.
In other words: it's a vicious circle. People are demotivated because they are in a rut, and people work fast because they get results, fast.
The best thing to do now, to get them out of the rut, is to stay on top of them. Deadlines are meaningful only if they are real deadlines, like "this feature must be done by next week", and not some artificial goal like "work on this for 30 hours". BTW 30 hours for a single task is much too long, it should be broken up in smaller tasks. Set real short term goals. And if they are getting nowhere because there is something that they cannot finish, you may switch tasks, so they get something new to do, instead of just continuing working on the same old. Let a few people work on one task together, I've noticed that often that is a motivation booster, myself. But always: small, meaningful goals.
And, yeah, I agree with the others: switching to new people will not help, though it might seem to do so temporarily, for as long as those new people are new to the tasks. Once they get in a rut, it's back to the old situation.
I agree. My current project was turning into a bit of death march (due to a number factors), and I was finding motivation hard to come by. My manager decided that we would begin doing "pre-releases" to QC in order to give them a chance to kick the tires before writing all their test cases. This has been a huge help to my motivation. Now our goals are "get these bits of functionality into the weekly build" instead of "get this massive app done by the end of the quarter."
The second best thing to do is watch for creeping featurism. If you're setting and holding them to deadlines for things that aren't of any importance, or that a client hasn't shown a need for, perhaps you should table it for later.
The main reasons for that is that the job is boring, and the feeling of getting nowhere, being stuck. The thing that motivates me the most is the feeling of getting things done, fast.
In other words: it's a vicious circle. People are demotivated because they are in a rut, and people work fast because they get results, fast.
The best thing to do now, to get them out of the rut, is to stay on top of them. Deadlines are meaningful only if they are real deadlines, like "this feature must be done by next week", and not some artificial goal like "work on this for 30 hours". BTW 30 hours for a single task is much too long, it should be broken up in smaller tasks. Set real short term goals. And if they are getting nowhere because there is something that they cannot finish, you may switch tasks, so they get something new to do, instead of just continuing working on the same old. Let a few people work on one task together, I've noticed that often that is a motivation booster, myself. But always: small, meaningful goals.
And, yeah, I agree with the others: switching to new people will not help, though it might seem to do so temporarily, for as long as those new people are new to the tasks. Once they get in a rut, it's back to the old situation.