User Tools

Site Tools


principles:keep_it_simple_stupid

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
principles:keep_it_simple_stupid [2016-09-04 01:00] – [Rationale] 5.12.30.152principles:keep_it_simple_stupid [2018-12-30 05:21] – [Evidence] fixing a few of the grammar mistakes 72.178.89.198
Line 80: Line 80:
 The following hypotheses can be stated: The following hypotheses can be stated:
   - Simpler solutions are faster to implement.   - Simpler solutions are faster to implement.
-  - Simpler solutions yield less implementation faults (which reduces testing effort).+  - Simpler solutions yield fewer implementation faults (which reduces testing effort).
   - Simpler solutions are easier to maintain, i.e. detecting and correcting defects is more effective and efficient.   - Simpler solutions are easier to maintain, i.e. detecting and correcting defects is more effective and efficient.
-  - Simpler solutions yield more reliable software, i.e. less defects show up after releasing the software.+  - Simpler solutions yield more reliable software, i.e. fewer defects show up after releasing the software.
  
 All these hypotheses can be examined with respect to different complexity metrics. All these hypotheses can be examined with respect to different complexity metrics.
  
-Hypothesis 1 can be regarded true by definition. If the solution cannot be implemented fast, it is not simple. +Hypothesis 1 is true by definition. If the solution cannot be implemented quickly, it is not simple. 
  
 Though hypotheses 2 and 3 are not true by definition but they can be regarded intuitively clear. Nevertheless there is some research. In ((Virginia R. Gibson and James A. Senn: //[[http://dl.acm.org/citation.cfm?id=62073|System Structure and Software Maintenance Performance]]//)) a system was improved in two steps resulting in three variants of the same system. Several metrics show that the improvements reduced complexity. 36 programmers with varying experience conducted three different maintenance tasks and their performance was measured. The results indicate that the improvements also improved maintainability. Several other studies support the correlation between complexity and maintainability((Chris F. Kemerer: //[[http://link.springer.com/article/10.1007%2FBF02249043?LI=true|Software complexity and software maintenance: A survey of empirical research]]//)). Though hypotheses 2 and 3 are not true by definition but they can be regarded intuitively clear. Nevertheless there is some research. In ((Virginia R. Gibson and James A. Senn: //[[http://dl.acm.org/citation.cfm?id=62073|System Structure and Software Maintenance Performance]]//)) a system was improved in two steps resulting in three variants of the same system. Several metrics show that the improvements reduced complexity. 36 programmers with varying experience conducted three different maintenance tasks and their performance was measured. The results indicate that the improvements also improved maintainability. Several other studies support the correlation between complexity and maintainability((Chris F. Kemerer: //[[http://link.springer.com/article/10.1007%2FBF02249043?LI=true|Software complexity and software maintenance: A survey of empirical research]]//)).
principles/keep_it_simple_stupid.txt · Last modified: 2021-10-20 21:09 by christian