Microsoft has coined the word software factories to describe the concept of creating a customizable and extensible baseline architecture for a project to start on.

They are expecting to leverage the domain expertise and experience of senior developers by creating software factories. The software factory is a software development tool that can automate a software solution addressing a well known and described specific problem. To know more on software factories, visit: Building software factories

Be sure to read the above post before make a decision on creating a software factory. Then get Software Factory Toolkit from clarius consulting.

A medium sized company can make the software factory concept without automating it if they feel it will be costly. They can set up a team of architects, senior software engineers, and domain expertees. This team will create an initial platform for all the projects in their company. So the developers can build onthis baseline architecture. Gradually this will create a feeling of re-usable components and many of the components can be reused in the next project. Then they can automate the creationof solution and reusable components.

I don’t know whether this is a good idea or not. Nor I don’t know whether this kind of practice already exists in software industry. Sorry if I posted anything wrong 🙂

-Happy Coding