Skip to main content

2 Different sources of defects in Software development

Miscommunication is a common factor, which can be defined as inaccurate statements or information missing that is required for the action to be done successfully. This miscommunication ends up in the documentation or verbal communication that occurs.

Instead of spending time to make sure everything is accurate, statements are made that are untrue or unclear. When this occurs at the beginning of the change process the bad information continues down through the process. Decisions and design are made based on it. At some point it gets realized that the information is bad and a defect is created. In the common project process that could be classified as linear, most defects are not found until in the later phase of development and unit testing has started.

[More IT Development Jobs]
[More IT Development Jobs]
The other type of defect is a system-generated result.

This would be similar to a defect a machine makes in manufacturing. Even though the input is accurate, the process itself causes a defect to occur. The original process was prone to defects no matter how careful the work was done. Randomly at some point in time a widget would not be created correctly. When the process was changed to reduce the number of handoffs and some steps were moved around, the possibility of creating a defect was reduced.

This same concept occurs with processes. As processes add more handoffs and complexity, the process itself is introducing more spots in which a defect can occur, which increases the possibility of defects occurring. It becomes a catch 22 in that when companies have issues with the number of defects, they create more complex processes to try to stop them from happening. By doing this they only add to the problem. The defects initially do go down, but it's only because of the amount of additional resources and the priority given to the defects. Once both resources and priority are moved to other things, then the defect counts go back up and might even increase because with the more complex process there are more spots in which a defect might occur.

It would be wonderful if processes could be made to eliminate all defects, but they don't. There is always some unique situation—whether machine or human—that will always create a defect. Attaining zero defects in most situations is impossible. The best that can be done is to greatly reduce the risk of having a defect. This is not to say that each defect does not need to be analyzed, but every defect does not need to be resolved. For system-generated ones it might not be monetarily feasible to make changes to eliminate them from happening. Even Six Sigma addresses this by originally stating that the quality goal is to obtain 3.4 defect parts per million (PPM) opportunities. It would be impossible and also very costly to attempt to obtain a defect ratio of 0.00.

W. Edwards Deming's point #3 states that processes need to be created so that instead of opening up the possibility of defects occurring they will eliminate defects. If the possibility of defects is eliminated, then no rework and mass inspections are needed. Companies need to look at their processes and make changes to reduce the possibility of defects. Fewer handoffs in a process is a good start. Proper staffing of work is another process.


Popular posts from this blog

The best 5 differences of AWS EMR and Hadoop

With Amazon Elastic MapReduce (Amazon EMR) you can analyze and process vast amounts of data. It does this by distributing the computational work across a cluster of virtual servers running in the Amazon cloud. The cluster is managed using an open-source framework called Hadoop.

Amazon EMR has made enhancements to Hadoop and other open-source applications to work seamlessly with AWS. For example, Hadoop clusters running on Amazon EMR use EC2 instances as virtual Linux servers for the master and slave nodes, Amazon S3 for bulk storage of input and output data, and CloudWatch to monitor cluster performance and raise alarms.

You can also move data into and out of DynamoDB using Amazon EMR and Hive. All of this is orchestrated by Amazon EMR control software that launches and manages the Hadoop cluster. This process is called an Amazon EMR cluster.

What does Hadoop do...

Hadoop uses a distributed processing architecture called MapReduce in which a task is mapped to a set of servers for proce…

Top 20 ultimate ETL Questions really good for interviews

How to print/display the first line of a file?  there are many ways to do this. However the easiest way to display the first line of a file is using the [head] command.  $> head -1 file. Txt no prize in guessing that if you specify [head -2] then it would print first 2 records of the file.  another way can be by using [sed] command. [sed] is a very powerful text editor which can be used for various text manipulation purposes like this.  $> sed '2,$ d' file. Txt how does the above command work?  The 'd' parameter basically tells [sed] to delete all the records from display from line 2 to last line of the file (last line is represented by $ symbol). Of course it does not actually delete those lines from the file, it just does not display those lines in standard output screen. So you only see the remaining line which is the 1st line.  how to print/display the last line of a file?  the easiest way is to use the [tail] command.  $> tail -1 file. Txt if you want to do it using…

5 Things About AWS EC2 You Need to Focus!

Amazon Elastic Compute Cloud (Amazon EC2) - is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale cloud computing easier for developers.
Amazon EC2’s simple web service interface allows you to obtain and configure capacity with minimal friction.

The basic functions of EC2... 
It provides you with complete control of your computing resources and lets you run on Amazon’s proven computing environment.Amazon EC2 reduces the time required to obtain and boot new server instances to minutes, allowing you to quickly scale capacity, both up and down, as your computing requirements change.Amazon EC2 changes the economics of computing by allowing you to pay only for capacity that you actually use. Amazon EC2 provides developers the tools to build failure resilient applications and isolate themselves from common failure scenarios. 
Key Points for Interviews:
EC2 is the basic fundamental block around which the AWS are structured.EC2 provides remote ope…