Software Development Philosophy
The Good Experience is essentially delivering systems within the clients budget, time and functional expectations. In order to accomplish such quality systems, it is necessary to have in place a guiding philosophy that governs the way in which the software is developed. Systeme Ouverts Software Development Philosophy is based on a number of components: the lifecycle model, the approach, the quality system, the Software Professionals providers, and the mission principles.
A generic lifecycle model has been constructed, which highlights not only the stages involved throughout the project, but also the deliverables expected, and Quality Symmetry - the relationship between specification and acceptance, and design and testing. This symmetry illustrates that quality is built into the entire lifecycle.
The approach to the design and development of software is essentially the path through the lifecycle model. Systeme Ouvert has a flexible approach, which is a blend of the more "traditional" SSADM, which gives control, with RAD, more renown for its speed. It is similar in many ways to DSDM (Dynamic Systems Development Method). In particular, the approach advocates Verification and Validation. At each stage of the development, verification is used to build the system right. Validation with the users, on the other hand, is used to build the right system.
The Quality System
Quality is an ingredient in software engineering that cannot be added in at the end of the project. It must be an inherent property of the entire process. The common sense and self-discipline of the Software Professionals are of paramount importance in any Quality System, but these characteristics must be employed within a more formal framework.
The lifecycle describes the project as a series of stages, each with expected deliverables. There are a number of roles defined within the Quality System, and each role has specific responsibilities through the project. Each stage is completed with a sign-off, which along with the deliverables provides tangible evidence that the project has progressed in a controlled and professional manner. There are internal software systems that assist as process management tools.
The definition of quality used in Company is "the commitment to the continual improvement of the process". As such, the Quality System is regularly updated to reflect new business practices and client feedback.