A product is being developed and delivered as features rather than releases, meaning on completion of a feature, it's pushed to staging and then to production. There can be multiple features in development and overlapping the delivery timeline. So, at any point of time the dev database and source control has more than one feature in development. When a feature is completed, i would like to push only the feature specific code and db changes to staging. This process is proving to be error prone and time consuming for the reasons:
- DB entities of a specific feature are not independant, but dependant and intertwined with other features. So, separating out the entities specific to the feature is time consuming and sometimes difficult to achieve. Is there any better way to do it?
- On the server side code, similarly separating out the feature specific code is equally cumbersome as the db. With .NET Entity Framework layered on top of DB and other performance optimizations such as Pre-generated views in place, is there a better way to deploy feature based development?
The dev environment comprises of SQL Server 2008, .NET, Entity Framework with SVN for source control.
The term feature here is not related to FDD Agile Model.
Has anyone been through a similar experience?
Many thanks!