Software quality 101

--Originally published at Blog Oliver

Quality standards are implemented or used in many areas for example in food chains, cloth or car industries, this allows different products or services to maintain certain qualities and specifications. Imagine you want to buy a car and you decide to buy the one you see in a specific exhibition, they will make another exactly the same just for you. The time has come and you go to see your new car but is not what you expected. The color is opaque, it feels slower and its not like the other even though you bought the same model, color and specifications. Thats why quality controls exist to ensure the standards and conditions that a product or service must meet in order to be delivered.

Diagram of software quality

Software industry is not the exception we must have strict regulations and standards of quality in order to develop the best software we can. Depending on the area it will be used it can cause severe damage or consequences. For example imagine a program used in a radiology device malfunctioning and exposing patients to more radiation than they should be. Or a problem in software used in air traffic control, leading to a crash. Now-days we depend on software to live our daily lives so its important to have a regulation to determine the characteristics and specifications software must have.

According to asq.org software quality focus mainly in the following 8 attributes:

  1. Functional suitability (Functional completeness)
  2. Reliability (Availability)
  3. Operability (Learnability)
  4. Performance efficiency (Resource use)
  5. Security (Integrity)
  6. Compatibility (Interoperability)
  7. Maintainability (Modularity)
  8. Transferability (Adaptability)

This 8 attributes focus on delivering a quality software with all the right specifications and standards. As we can see most of them involves more that just good coding or using the best programming practices, it also involves all

Continue reading "Software quality 101"

Software Quality

--Originally published at Erick learning experience

Software quality is a very important topic that is sometimes overlooked in the school because you are just focus that the program runs and the output is correct but there is a lot more things you have to consider.

So to start talking about the topic first is important to clarify what is software quality, in general a definition to it is that software quality is bug or defect free software that is delivered on time and within budget and the most important part meets requirements and expectations and is maintainable. So there are five principal characteristics:

  • Effectiveness
  • Efficiency
  • Satisfaction (solve the problem)
  • Safety
  • Usability

So why this is important? this things are of common sense no some might say, but when you are working on a real project you are not on your own, you have to write good code that runs well and do what is expected to do but you have to do some extra considerations, first the facilities you have in order to increase the functionality of your software and integration of new functions or external libraries, this is important because I have seen cases when the client wants some changes and the code written is not scalable, so the programmer has to change a lot of things and recode some functionality in order to integrate that new function. Another consideration that is ignored a lot of the times is that you have to write code that others can understand, this is very important to create good software, this because imagine the case that you are no longer in the company and they have to make changes to your code, if the code is hard to read then the software is hard to maintain and the new programmer will spend unnecessary time trying to understand your

Continue reading "Software Quality"

css.php