Software Inspection Guiding Principles
Software inspection, also known as Fagan Inspection is simply considered as a peer review of a product i.e. Evaluation of work product by one or more peoples working in same field as producers of work. Main focus of software inspection is to identify all defects and errors in product.
Inspection has been used on a wide variety of software artifacts, code as well as all of other documents like specification, test data, design, etc. since its introduction. There are several principles that are needed to followed to perform a successful inspection. These principles are given below :
- Ego :
Ego is one of main problems. We should keep in mind that the ego has adversely affected inspection spirit. So, its better to not bring egos into inspection process. It is very difficult to expose our carefully created work to co-workers for criticism.
- Criticism :
Important thing to remember is that product or work should be criticized, not producer of product. Never ever make a criticism to producer. Criticism when done constructively that too in positive way, can simply improve performance of producer. Focus should be mainly on making error-free product while performing inspection.
- Identifying errors :
Another important thing is that focus should be on determining and detecting error rather than fixing error during inspection activity.
- Time Consumption :
Time required for inspection should not be greater or more than two hours at one time. We know that our spirit and enthusiasm die down naturally after two hours and we don’t feel energetic much more that why we will not be giving our 100% effort and contributing or helping towards output of inspection process.
- Style and Design :
Style is not main issue during inspection process. Each and every one of us has different ways of writing, thinking, designing, and programming in his/her own way. So, we should not pay more focus on issue regarding style and design unless and until they disturb performance or understand-ability.
- Performance :
We need to perform inspection in a formally and informally manner. Software inspection should be performed as soon as possible.
Advantages of Software Inspection :
- Helps in discovering and identifying defects, errors, faults all at once.
- It also improves quality like coding style, best practices, etc.
- Error detection takes place very early.
- Communication is also improved among team members and all participants.
- Testers and developers also can ensure product quality and functionality by software inspection.
- It can also be applied in early stages of Software Development Life Cycle (SDLC).
- It also saves time, effort, and as well as cost that might have been spent in solving errors, issues, and defects.
- Maintenance costs are also reduced up to one order of magnitude.