In software lifecycle the design step is mandatory, but not all methods consider that a spec is the only way to perform a good design, take the example of Scrum as an agile methodology, it consider that user stories are sufficient enough to begin coding.
There is tools helping to obtain code quickly from user stories like cucumber.
--
Hatem Ounis.
"Command line is user-friendly. It's just very selective about who its friends are"