Software Quality

What is Software Quality? How do you define quality of  software?

In Software engineering/software development/software programming, quality is most important factor that is very much essential for any software.
So lets start the definition of Software Quality in two prospective:
  1. Software Quality with respect to Functionality: How well the given design/specification or requirements are implemented into the software.
  2. Software Quality with respect to Structurally: Measurement depth of implementation, like source code, comment, Unit test design etc.
From Client point of view, Software Quality could be the one that have minimum bugs, work according to the given requirements, user friendly, easy to use etc. However it does not care about its implementation and architecture design, coding style etc.

But again, is that enough to give tag of good quality if the given software has less bugs??
I think NO,
Lets see from programmer point of view,
Software quality could be not only have less bugs, however minimum bugs must be there which should be first priority,  but code must be standard, having less complexity and etc as below:
So, as per my experiences , for programmers like me and you, Software Quality should be :
  1. Software as per the requirements,
  2. Less Bugs
  3. Good coding  standard
  4. Having full comments
  5. Having Unit test cases
  6. Having minimum complexity,
  7. Readable
  8. Proper and understanding class/method/variable name
  9. Maintainability

Many of the time, team are crazy to finish the project before time and skip very much important things like comments, unit test cases, don't care naming convention etc, but same team keep on struggling through out life time of that project in maintenance .

Because skipping  above things might definitely decrease development time,  but increase the maintenance time for ever. But if we just keep in this thing in mind while writing code, write comment, improve code optimization etc, our life will become easy to maintain this project after development.




No comments:

Post a Comment