A software factory is a development environment that allows building specific kind of computer application in a quickly way. In this line, it is possible to think that the key to achieving the highest levels of productivity lies in having the ability to quickly configure, adapt, and assemble independently developed components; for building similar families systems, but different ones.
Software development based on components has always been the revolutionary idea that led us think that it was possible to build quality software quickly. Looking backward, we see the progress made in understanding the right way to reuse software and existing knowledge, and we are increasingly astonished to realize that this is just the beginning. In this way the software development based on components became the mainstay of the Industrial Software Revolution and is projected today in several new ways to make quality software with the lowest costs on the market and in times that were previously unthinkable .