Changes between Initial Version and Version 1 of DeveloperGuidelines/Quality


Ignore:
Timestamp:
12/29/13 16:01:36 (11 years ago)
Author:
Dominic König
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DeveloperGuidelines/Quality

    v1 v1  
     1= Code Quality Evaluation Guidelines =
     2[[TOC]]
     3
     4== General Requirements ==
     5
     6The general quality requirements are defined here as attributes of the solution that is to be evaluated ("The solution must be ...").
     7
     8These attributes are grouped in four quality "levels" - a higher level representing a higher quality standard.
     9
     10In order to pass a level, all criteria of this level and all previous levels must be fulfilled.
     11
     12||=Level=||=Priority (MoSCoW)=||=Key Attributes=||=Description=||
     13||1 - '''Minimal'''||Must||valid, correct, safe||minimum standard that must be met by any solution to be considered a "solution" at all||
     14||2 - '''Appropriate'''||Should||usable, maintainable, secure||minimum standard for production use||
     15||3 - '''Good'''||Can||integrated, configurable, robust||goals of long-term development||
     16||4 - '''Optimal'''||Want||efficient, scalable, customizable||goals of optimization efforts||
     17
     18Projects can refer to these levels to define minimum quality goals, to prioritize certain quality aspects vs. other requirements, or to define an iterative approach of continuous quality improvement.
     19
     20=== Level 1: Minimal ===
     21
     22==== Valid ====
     23
     24''"Writing the right code"''
     25
     26  * The specified solution solves the targeted problem and meets the minimum functional requirements
     27         
     28  * The required input data are available in the target scenario
     29       
     30  * The user actions required to apply and/or use the solution or its responses are ''possible'' in the target scenario
     31         
     32  * All dependencies of the feature set are resolvable, and hardware and infrastructure requirements can be met in the target scenario
     33
     34==== Correct ====
     35
     36''"Writing the code right"''
     37
     38  * Processing does not fail for any valid input data or user action.
     39         
     40  * All responses are correct for the respective input data or user actions according to the specification
     41
     42==== Safe ====
     43
     44
     45  * The solution does not break functionality of the application (except for functionality it replaces)
     46         
     47  * All processing always ends with a valid database status regardless whether it succeeds or fails
     48
     49  * All failed processes are effectively removed from the system and their transactions properly rolled back
     50         
     51  * The solution effectively prevents uncontrolled indefinite object or process proliferation
     52
     53  * The solution always returns to a defined system status after a failure so that the application remains accessible
     54
     55=== Level 2: Appropriate ===
     56
     57==== Secure ====
     58
     59  * The solution applies all relevant system configurations for authentication, authorization and accounting (AAA) appropriately and correctly.
     60
     61  * The solution does not allow the user to perform actions or initiate processes beyond the intended functionality.
     62
     63==== Usable ====
     64==== Maintainable ====
     65
     66=== Level 3: Good ===
     67
     68==== Integrated ====
     69==== Configurable ====
     70==== Robust ====
     71
     72=== Level 4: Optimal ===
     73
     74==== Efficient ====
     75==== Scalable ====
     76==== Interoperable ====
     77
     78== Advanced Criteria ==
     79
     80The following ''advanced'' quality criteria that can be used to compare different solutions, or to define quality roadmaps beyond the standard criteria.
     81
     82However, these ''advanced'' criteria do not enhance the general quality levels: a level-2 solution is still of lower quality than a level-3 solution - regardless how many advanced criteria the level-2 solution fulfills.
     83
     84=== Stable ===
     85=== Appealing ===
     86=== Flexible ===
     87=== Standardized ===
     88=== Extensible ===
     89=== Generic ===
     90=== Customizable ===