When I have worked on apps in the past, there has never been a shortage of ideas for features. When you have a good feel for the business problems you are solving and know the users you serve, then ideas to take the application forward flow freely. Working those ideas into the right priority comes next and takes a lot of consideration, but soon enough, there is a healthy pipeline waiting for you and plenty of features to attack.
But sometimes as a developer, you just need to work on something fun.
When you are feeling a little burnt out, and the next feature request in the queue is not looking too exciting, a good way to refresh your mind while still making progress is to work on what we call a rainy day feature.
The phrase 'save it for a rainy day' means setting something aside for leaner or less prosperous times. That's a little dramatic for a software feature queue, but we like to apply it to development as 'saving a feature that looks extra fun or exciting to work on for when you are feeling a little exhausted, and the main feature queue looks a little heavy'. Not quite as catchy.
Maybe a rainy day feature or task means finding a replacement component for something you are using but are not 100% happy with, cleaning up and refactoring a section of code you know isn't as clean as it could be or connecting your application to another service via a new integration. Or changing the navigation menu. Again.
How you define it is really up to you, but the idea is that you find things that are reasonably small in scope and that have an exciting vibe about them. Despite not being your top priority, they are perfect for those times you are feeling a little stale and need an energizing boost.
That's not to say that the features can be unnecessary or useless additions to your app. You only ever want to be adding features that enhance your users' experience and solve problems for them. The distinction is that they are extra exciting and fun to work, and provide a refreshing way to take a quick break from the main development flow. Refresh your mind, while still taking your application forward.
For our projects, we created a RainyDay tag in SpecFuse. We add that tag to any specs that fit this category so we can quickly find one when we need it.
A rainy day feature I worked on recently was auto-save. All forms in SpecFuse now automatically save each time you make a change. Forms can now be restored as a draft even if you lose internet connection, accidentally navigate away from the page or have your session expire before saving. It's something that would unlikely ever have been the top priority, but is now a useful utility and was an enjoyable problem to solve.
Try keeping a separate list of fun rainy day features for your next app. When you are losing momentum or need a break, try switching to something fun instead of stopping altogether.