"A software factory is a software product line that configures expandable tools, processes and content with a software factory template based on a software factory scheme in order to automate the development and maintenance of variants of an archetypal product, by adapting, assembling and configuring framework-based components.
What is a software factory?
Pazila Software Factory
Pazila’s software factory is founded on some basic principles that form its processes, structures, tools and methodologies.
Automation is one of the main aspects of our software factory. That is a prerequisite for agility, reacting fast to market changes, and innovation. Pazila has automated CI/CD pipelines and through integrating them with associated DevOps methodologies enhances the speed and quality of build, test, release and deploy of software.
Pazila uses micro-services. Micro-service is an architectural style that divides software into small, lightweight, independent, and manageable parts or services. It is in fact a distributed software development architecture.
One of the main assets of Pazila software factory is its intellectual capital. With focusing on developing and managing these assets in both domain and product engineering layers, Pazila tries to have a knowledge management mechanism, which helps its developers to concentrate more on innovation and new features rather than routine works.
Part of the valuable assets of this factory is Domain-Specific Modeling Languages (DSMLs). They refer to modeling languages in specific domains that allow users to deal with those domains directly. In fact, Model-Driven Engineering (MDE) with a closer look at the problem domain than the implementation domain alleviates the complexity of platforms..
Pazila Software Factory Players
Pazila has three players that each manage some assets. An asset describes components, libraries, frameworks, documentation, how-to’s, etc., that are used to build the work products for a player.