Sunday, April 23, 2006

Software Factories

I recently watched an interview on theserverside.net (A great site for .NET developers, if you are into java, you should check out its siebling .com) about software factories. A sloppy summary below:

- Assumes that there is a need to industrialize software development through reuse of patterns and concepts related to an industry or an area of functionality.

- Essentially a software factory is an advanced IDE that incorporates functionality to create an own modelling language that can be used to generate code, together with patterns and guiding principles for implementation.

- Example from www.softwarefactories.com: "For example, we might set up a Software Factory for thin client Customer Relationship Management (CRM) applications using the .NET framework, C#, the Microsoft Business Framework, Microsoft SQL Server and the Microsoft Host Integration Server. Equipped with this factory, we could rapidly punch out an endless variety of CRM applications, each containing unique features based on the unique requirements of specific customers".

My head has allready started spinning with ideas on how you could grow a business based on the appliance of software factories, such as:

- Have a consultancy geared towards one or more fields that utilize software factories to build high quality applications quickly.

- Use software factories to achieve mass customization in a product company.