I am sure that anyone who has gone through a complete software life cycle will understand what I am talking about. As the release date starts nearing, discussions starts on the number of defects that are still open and how we plan to address the same. This debates proceeds almost till the date of the release and many a times as the software is released, a plan for the "Service pack" that will address critical issues that have seeped through the product is put in place.
Many of these discussions are painful and one of the primary reasons for the pain is due to the different perceptions on "Quality" of the software and whether one can say with a "clear conscience" that the product is ready to ship even though he knows that there are defects in the software. Obviously a good software practioner will not want to cause undue to pain to the end user of the software.
If one scans through the litrature on Software quality, we will find two broad views. One view which leans towards shipping defect free software and the other leaning towards shipping software with "Acceptable Quality".
I am not a great votary of "zero defect" software concept. In my view the goal of "zero defect" is achievable in manufacturing and related fields but is a very difficult goal in software engineering. "Defect" by its very name implies non conformance to a specification. This means that to have zero defects, we need to have the specifications spelled out completely and correctly. How many software practioners (especially people building comercial software) been exposed to a "Complete and correct set of specifications".
Over the release, software evolve and simultaneously the specifications also evolve. Software engineering is constrained heavily by the schedule and cost. Business mandate more features, in less time and with lesser cost. Given this reality, any goal of having a fully qualified specification will end up as mirage. My personal view is that, having such a goal itself is absurd. A good software practioner has to factor for change/modifications and should be able to control it.
In absence of a complete specification, the goal of a defect free software also end up as mirage and an absurd goal. On the contrary an ideal goal would be to define "Acceptable Quality". Doing so will remove the ambiguity and pain people undergo when making a decision on whether to ship or not ship the software to the field.
And indeed, I’m just always astounded concerning the remarkable things served by you. Some four facts on this page are undeniably the most effective I’ve had.
ReplyDeleteData science Course Training in Chennai | Data Science Training in Chennai
RPA Course Training in Chennai | RPA Training in Chennai
AWS Course Training in Chennai | AWS Training in Chennai
Devops Course Training in Chennai | Devops Training in Chennai
Selenium Course Training in Chennai | Best Selenium Training in Chennai
Java Course Training in Chennai | Best Java Training in Chennai
great blog.
ReplyDeleteAcceptance is to offer what a
lighted
A reduction of 20 in the price of salt
Power bi resumes
Qdxm:sfyn::uioz:?
If 10^0.3010 = 2, then find the value of log0.125 (125) ?
A dishonest dealer professes to sell his goods at cost price
but still gets 20% profit by using a false weight. what weight does he substitute for a kilogram?
Oops concepts in c# pdf
Resume for bca freshers
Attempt by security transparent method 'webmatrix.webdata.preapplicationstartcode.start()' to access security critical method 'system.web.webpages.razor.webpagerazorhost.addglobalimport(system.string)' failed.
Node js foreach loop