Monthly Archives: November 2012

Factories in software

Factories form the basis of production industry. Are there factories in the software world?

Factories can be in any industry. Factories essentially puts the required machinery in place and sets a process around it. In case of automobile industry, from cars to airplanes, we call it an assembly line. In case of pharmaceutical industry, there are manufacturing units that convert chemicals to packaged drugs.

In case of software too there are factories. The idea of having factories in this world is to take care of the common processes which are essential in (good) software development. Some processes are inbuilt in the development platform. These assemblies can be included by anyone using that particular platform. Other processes are developed by software engineers to use and reuse their best practices. These processes are activities like error logging, messaging, sending alerts and emails, maintaining connections with databases and so on. Factories in software provide the necessary efficiency and reduces the probability of human error.

Volume vs. Premium

When you are out to sell anything, an important decision you make is to either make something for the mass market, keep margins low and make it up by selling large volume or make something too good for a niche market not to not have it and charge a premium. There’s no wrong way to do it and the decision is more often dependent on the industry and competitive landscape to position the product right and gain competitive edge.

But then every once in a while there comes along a company (read Apple or Nike) with a premium on their products and attract a mass audience to sell huge volume. But history will confirm that at beginning of their sales process, they made the same decision of choosing between volume and premium. Eventually they made great products, had outstanding marketing and a well oiled supply chain and sales machinery to hit the bull’s eye of selling high volume at premium price.