I love to talk shop with fellow .NET developers and other platforms as well. I get a lot out of sharing what each of us are doing and how we do it. I also love to listen to .NETRocks, Hansel Minutes and the ASP.NET Podcast because it gives me some insight into how the smart people work.
There have been many that seem to have a fascination with my process, which I gladly share. I think it is time that I got something in writing so I can refer to it and update as I go forward and improve upon this process. It is not perfect by any means, but does allow me to get projects done fairly quickly and consistently.
This is my process for building a site
1 Create a base site from a Visual Studio project that I exported as a base site. I have several depending on the type of application I am building, Basic, Niche A, Niche B, Simple Store.....
2 Run the base SQL Scripts I have for my base sites, again this can vary, but always includes one script to create core tables and sprocs
3 Modify the core tables as needed to meet customer requirements
4 Add new tables for custom pieces required by client
5 Run CodeSmith to Generate sproc scripts for Basic CRUD
6 Tweak CodeSmith Output as needed then execute the scripts against the database
7 Use CodeSmith to generate basic business and data access layers based on sprocs in the database
8 Add any additional methods to business layer that were not automatically generated, CodeSnippets work great here to simplify the process.
Note: Notice how I use Code Generation and Code Snippets to rapidly increase the development process and reduce potential errors. I think in this day and age there are two things that any developer/firm should do and that is have a strong framework to derive their applications and make use of code generation techniques.
9 Generate initial End user pages based on sprocs with CodeSmith
10 Generate any admin pages based on sprocs with CodeSmith
11 Make end user pages usable by end users
12 Create and apply MasterPages and any Themes I may need
13 Probably before 12, but oh well, slice and dice Photoshop layout in Image Ready and integrate with Master Pages. I am hoping to either create my own image slicer or someone will create one for Paint.net. I can not wait to do away with the bloatware/spyware that Photoshop has become.
14 Clean up the user interface experience and add any custom logic required by the customer.
15 Begin testing and debugging the site.
16 Finish the site and post it for production use.
17 Bill Client (note this may be on ongoing thing depending on the size and scope of project and the trust factor I have for the client).
18 Deposit check (most important step)
19 Maintain site, then repeat steps 17 and 18 as needed.