1. Someone gets an idea. "Hey, we really need a web application that will do ___________". Everyone ignores that person. He is soon fired.
2. Three months later, the pain of doing things the old way starts to grow and lots of people grumble about it, but nobody does anything about it.
3. Another month goes by. The pain can no longer be ignored and the higher-ups decide to get a committe together to work up some requirements.
4. Six months, many hours in meetings, and several gallons of coffee later, still nothing is decided but someone tells the analyst (me) to go ahead and make a prototype, and "we'll tell you if we like it or not".
5. I bribe the one member of the committe who wasn't sleeping to create a use case document based on what the committee wanted.
7. When presented with the prototype, the committe argues for hours. Finally when a fist fight breaks out, the committee is adjourned and I am told to make a lot of revisions.
8. Repeat steps 6 and 7 several times.
9. Finally, I am told "We still don't like it, but we're under pressure to do something, so go ahead and build it".
10. I argue with the DBA over the data model, and after I offer him my firstborn child and all my lunch money for the next 6 months, he finally agrees to do it my way.
11. My team creates the model classes from the diagrams. At this point they are mostly properties without many methods. There is also no data access yet.
12. The team creates ActionForm classes from the data in the mock-up screens.
13. The team creates real JSPs from the mock-up screens and replace some of the html tags with Struts tags as needed.
14. We create Action Mappings, forwards etc. We also create Action classes, but at this point they are just empty shells with the correct names.
15. Using the use cases as a guide, we build each use case scenario one by one by creating the Action class logic, and also augmenting the model logic as needed. It is at this point that we add the data access logic.
16. We demo the product to the committe. Another fist fight breaks out.
17. We repeat steps 11 through 16.
18. The site goes live, everyone is happy. World peace is achieved and hunger is eliminated.
(not really, but I had to think of a happy ending!)