I go running more days than not, usually in the middle of my workday. My office is right on Lake Michigan, and Chicago has 18 miles of shoreline set aside for public use, with a continuous pedestrian path running its length. It makes for a pretty fantastic midday run. My office doesn't have anywhere that I can shower off so when I'm done running, I just kick off my shoes and shirt and wade into the lake to rinse off and cool down.
When I say cool down, I mean cold. Last week the shoreline water temperature in Chicago was hovering around 65 degrees. Not exactly frigid, but still a shock when you've just been running in 85-degree sun.
It didn't take me long to figure out that I need to charge boldly into the water and dive in head first as soon as the water is deep enough. The shock of the cold water is past before I even know it's happening, and then I'm swimming.
The alternative, which I did the first few times, is to wade in gingerly up to mid-thigh, then stand there gathering my nerve before dropping into the water. Of course, while I'm gathering my nerve I'm fixating on the coming shock.
At that point, all I'm doing is letting a psychological game play out in my head. There's no additional information to be gathered or preparation to be made as I stand there. Just nerves to overcome. And the longer I stand there, the more nerves there are to overcome.
More often than we realize, we need to act on the information we have and jump.
This is why you need to make sure that your development routines are oriented around shipping features, not around a stack of technical to-do items. Putting something out into the world is scary, no matter who you are or what you're doing. There's always some apprehension at the moment before you release it. It's easy to sit there making a million tiny improvements and refinements based on what you think is going to happen when people encounter it. You're not doing your product any good while you stand thigh-deep in cold water.
If a feature meets its acceptance criteria, ship it. Get it out into the world and evaluate how it performs. Then make adjustments if necessary based on the new data that comes from the interaction between user and feature.