When starting any project, the first thing I do is analyze the content blocks in order to mark it up.
I use as few classes and ids as possible and I don’t start with the CSS until the content is all marked up.
I find this way of working to be the best in order to get the most semantic code possible, and it also turns out to be the fastest method for me.
Another advantage of doing it like this is that if the deadline is very short, the back-end guys can start integrating the htmls.
This is what happened with IdeaScale. When they approached me, they were pressed for time and wanted to start integrating ASAP. So I marked up the home page in a few hours and they were able to start integrating it with their Velocity Template Engine.
I find this approach to be very efficient in terms of project management, making it able to optimize the work flow and parallel tasks that otherwise would have had a waterfall model.














