in mijn ervaring gaat het als volgt:
1) je bedenkt in concept wat je met je site wilt, welke schermpjes (voor uit- en invoer) er moeten komen die gerelateerde gegevens laten zien;
2) je denkt na over de database: stamtabellen, tabellen met data, en je normaliseert deze grondig;
3) je werkt in- uitvoer schermpjes in groter detail uit, zodat je weet wat je mist in je model en je database;
4) je past je DB aan en gaat nogmaals normaliseren;
5) je werkt je schermpjes uit en past zonodig de DB ook weer aan;
uiteindelijk heb je dan een Db met in- en uitvoer-schermpjes en heb je een uitgenormaliseerde database.
Ook voor nieuwe schermpjes en nieuwe functionaliteit moet je telkens weer opnieuw gaan kijken of alles goed genormaliseerd is, en in hoevere het zinvol is om koppeltabellen te gebruiken.
De HTML is maar een façade, bedenk van te voren welke styles je allemaal wilt hebben en zet dat in je stylesheet. Het wordt nogal ondergeschikt, maar wel belangrijk om dat in punt 3 al uit te werken.