There must be time for analysis. Otherwise, there will not be enough time for development either.
If you do not have time to do the necessary analysis and write specifications, then you probably will not have enough time to develop the code.
In these cases, developers blindly stumble forth and waste time developing features based on guesses and assumptions. Hence, the functionality will not match what is desired by the business. As a result, the team writes a lot of code but doesn’t deliver working software. The code will require a lot of rework, which will take much more time.
Specifications are important. Without them, you will end up developing the wrong thing.
The development team must fully understand the business requirements; otherwise, the results will be suboptimal. Implementing the wrong thing is the most significant cause of delays in properly delivering working software. The best practice is to get it right the first time; you cannot do that if your analysis is incomplete.