Each and every project I start I find myself in need to a data access layer code to talk to database and I find myself in bad need to a good business model , I like to make the biz classes interrelated to each other the relations between biz classes is very important , Again you will be in bad need to a consistent usable UI layer and if you want to release yourself from the burden of maintenance it's advisable to build your pages using XML and XSLT together with the aid of CSS , So what about exception management and error logging ; I am sure that you will also need to manage your exceptions and it'll be great if you have someway to log exceptions into a file or into event log if you have the permission to , if you want more manageable exception management startegy you can send application administrators group a mail with the exception details and the user faced that exception.
I will not dig into this too much, but if you are like me and all the other poor developers who are getting bored from the reusable work they are forced to do from project to the other , you will like the idea of using Application blocks and using proven successful solution to common problems and situations (Design Patterns), so if you need to use a DAL code there is no need to re-invent the wheel and build your own from scratch you can use Data Access Application Block , to talk to your database regardless of the type of database you are using ( Oracle or SQL Server ).
Now , using the same idea Microsoft has presented the idea of Software Factories , we can define the software factory as a software product that can be plugged into or configure another extensible another bigger product, and the software factory itself is a combination of patterns , frameworks, and domain-specific languages.
So just like any factory you have seen, the software factory is just a factory to make one type of applications for example HR applications, and provide a plug 'n play components to make the creation of HR applications easier.
Microsoft launched Visual Studio Team System (VSTS) with the release of VS.NET 2005 Beta 2 , this is the next generation product from Microsoft to standardise the life cycle of software development applying all the good practices and schemes, it's a very big suite that is using SQL Server as a repository, MSF as the underlying methodology.
I am busy to say more , I hope this could be a short brief !