Featured Post

Event Sourcing Video from Michael Ploed

Event Sourcing I want to share a great video I found few days ago that describes very well what Event Sourcing is.

Saturday, February 10, 2018

Software Quality Requirements



Here are some quality measures that should be consider in the development process of a software product:

Rigidity

A software is affected by rigidity is the design is difficult to change. The development team has serious problems to change a previous decision, so most of choices are influenced by past decision.

Fragility

The design is easy to break and even if unit tests help in preserving the current behaviours, every future action is aimed at keeping certain components repaired from changes.

Immobility

The design is difficult to reuse and developers prefer wrap functionalities instead of using. This increases the amount of code for a certain feature and paves the way for the bad habit of circumventing solutions.

Viscosity

It is difficult to do the right thing because the design and responsibilities are clear and documented but the software is closed to modification.

Needless complexity

Design is a balance between openess and closure to changes. TDD helps in the development of new features.  So avoiding overdesign leads to semplicity.

Opacity

The software has unclear targets, design and aims. This confusion leads to waste of time for the development team, especially in the case of poor documentation.


These quality requirements for software should be monitored and any quick or slow actions must be planned regardless of costs.  There is no money return for software that is affected by these problem: the absence of love for the software production, reflects itself in the trust and love of customers.

No comments :

Post a Comment