Q:

Web Application Development Process

What have you guys found to good approaches to developing web applications? 
For example, do you start with the user interface and then begin adding function?  Do you focus on a single resource and code everything around it before moving on to the next?  Or do you go layer by layer, starting with the model/DB layer and building up? 
I'm working alone. 

A:

"user stories" > prototype > design > coding > iteration1 > iteration2 > ... > release
Here is a good example of iterations:
http://www.asp.net/mvc/
Scroll down to "ASP.NET MVC Contact Manager Sample Application", it looks like:

Iteration #1 - Create the application
Iteration #2 - Make the application look nice
Iteration #3 - Add form validation
Iteration #4 - Make the application loosely coupled
Iteration #5 - Create unit tests
Iteration #6 - Use test driven development
Iteration #7 - Add Ajax functionality

A:

I'm assuming you have some user stories, and requirements already.  I like to create a rudimentary domain model (basically a class diagram), perhaps not having ALL of the fields that everything will contain, but enough to get a general idea of how everything is connected, inheritance hierarchies, and what everything is. 
As for coding, I like to start with a single resource, and get some basic functionality built up around it.  I don't generally hook it up to a DB at this point, I'm using a pretty simple DAO that stuffs things into a collection of domain objects. 
Next, I add a handful of minor connected resources, and start building up the various links between them.  At this point, I've got a few domain objects in place, but might not have built up all the fields and stuff they need.  Just a few important fields that are enough to differentiate between instances of the objects and link a handful of them together. 
At this point, I try to flesh out the domain objects I have with fields and behaviors, and add the required bits to the view(s) to make those features usable.  Then, I get some sort of real usable persistence working, set up validation, and make the views pretty. 
Refine what you've got, then iterate to cover the remainder of your model. 

A:

Start with the user if you want an application that people like to use.  Then work back to the database design that works with the user stories. 
If you want an application that works like many we're familiar with, where the users are just there to perform database maintenance, start from the database.  You'll probably finish faster, but your users won't be as happy with the result.