As a dev, I find it very hard to only work in 25m increments. It takes about 15m to sync up mentally to the task at hand and pull up my mental map of the code base I am working in.
1. You don't have to stop when the timer is up. The timer is really a forcing function to get you into the zone. When you're being productive, keep going!
2. You can adapt it to longer intervals if that better fits your day and schedule - plan for 50min work and 10min breaks?