A new software fault tolerance scheme, called the Self-Configuring Optimistic Programming scheme, (SCOP), is proposed. It attempts to reduce the cost of fault tolerant software and to eliminate some inflexibilities and rigidities present in the existing software fault tolerance schemes. For obtaining these goals, it is structured in phases in order to produce acceptable results with the minimum possible effort and to release these results as soon as available, and it can be parameterized with respect to both the desired reliability and the desired response time. SCOP allows a trade-off between various attributes of system services (such as reliability, throughput and response time) as desired by designers and it is thus a flexible and cost-effective redundant component for gracefully degradable systems.