Possibly one of the hardest concepts to get a handle on is being flexible. Being dogmatic or inflexible takes a lot of practice to recognize. Namely because it’s generally something you believe. “I need to do A. If I don’t do A, I won’t accomplish anything.”
Sometimes, if you do B, A takes care of itself.
Here’s an example.
My wife, Elizabeth, was working on products for her first craft show. She’d planned on 5 products; Dresses, bloomers, stuffed owls, pants and blankets. As she came closer to her deadline, she realized she could get all 5 products done. However, she’d only have one or two of each item. To me, this made little practical sense. Why have multiple products but appear to have almost nothing in stock? My advice to her was concentrate on fewer products which would allow her to have more of each item. You can get on a roll working on one thing, thereby increasing productivity and progress. It worked really well for Libs. She ended up with 12 dresses, 9 owls and 9 bloomers. That’s a very good table at a craft show.
In the developer world, this applies itself thusly; (I always enjoy an excuse to use “thusly”)
Let’s say you’ve planned a site. You have multiple sections, multiple features. If, in concentrating on the whole, you start to run out of time. Can you identify features that aren’t required for launch? Post-launch mini-launches (otherwise known as staged launches) can actually be exciting for your users and provide a fresh experience. As long as you’ve correctly identified what is absolutely necessary for the correct user experience, you can launch initially with a complete (from the point of view of the user) site. Every additional element you add becomes icing on the cake.
It’s flexibility that’ll keep you from going mad and living with 2 AM bedtimes. That’s just an opinion. Maybe you enjoy 2 AM bedtimes.