SiS Software Factory develops its software based on the Rational Unified Process (RUP), assuring high quality in all projects.
In SiS Software Factory we understand the software development process as an incremental development by iterations with continuous quality control. This philosophy comes from the idea of accepting the change as something natural and beneficial for the project.
As part of the software engineering process we allocate tasks and responsibilities in a disciplined way inside the organization, to assure high quality in software production and meet the needs of final users –all with a predictable planning and budget.

The RUP development software encourages many good practices:
  • Incremental development by iterations: The development is organized in several short projects with fixed durations called iterations. The result of each of iteration is a system that can be tested, integrated and executed. Every iteration involves an analysis of its own requirements, design, implementation and testing.
  • Iterations directed by the risk and centered in the architecture: We start with the most risky iterations, since they usually influence the whole system architecture and allow the early detection of problems, which are then solved in the next iteration.

In SiS Software Factory the project cycle is divided in 4 sequential phases: START, ELABORATION, CONSTRUCTION and TRANSITION, each one being a principal milestone. At the end of each phase, an evaluation is made to determine if the goals of each phase have been reached. A satisfactory evaluation allows to continue with the next phase of the project.
Once the 4 phases are completed, the "development cycle" is accomplished, producing a software "generation".
Unless the project "dies", this will evolve towards the next generation, repeating the same sequence but this time with a different emphasis.
The following cycles are called "evolving cycles". As the project goes through several cycles, new versions are generated.
The evolving cycles can be started by changes proposed by the user, changes in the user context, technology changes, reaction to competitors, etc.