There must be time for analysis. Otherwise, there’s not enough time for development either.
If you don’t have time to do the necessary analysis and write specifications, then you probably don’t have enough time to develop the code.
What usually happens in these cases is the developer blindly stumbles forth and wastes time developing features and functionality that don’t match what is desired by the business. He writes a lot of code, but he doesn’t deliver working software.
Specifications are important. Without them, you will end up developing the wrong thing.
Not understanding business requirements is the biggest cause of delays in proper delivery of working software. The best practice is to get it right the first time, and you can’t do that if you don’t fully understand the desired outcome.