Software Inspection in Software Industry: A Pakistan's Perspective
Автор: Waqas Ali, Zia-Ur-Rehman, Akhter Badshah, Ali Javed
Журнал: International Journal of Modern Education and Computer Science (IJMECS) @ijmecs
Статья в выпуске: 3 vol.7, 2015 года.
Бесплатный доступ
Today in software world the qualifying criterion for a software product is to be of high quality. Quality enables a software product to conform to customer's expectations. It is another name for best available services and is made acceptable through many practices like reviews, inspections and testing. Among these software inspection is the one which is cost efficient and easy to implement technique. Software inspection is composed of many activities to result in improving the underlying document better and creates consistent understanding. This research presents the different activities in the inspection and practicing of these activities in the software industry of Pakistan. This research is carried out through questionnaires. The answers demonstrate that software inspection is source of better quality products and customer satisfaction without using any proper framework of inspection.
Software Inspection, Inspection Meeting, Software firms, Software Quality Assurance, Pakistan
Короткий адрес: https://sciup.org/15014741
IDR: 15014741
Текст научной статьи Software Inspection in Software Industry: A Pakistan's Perspective
Published Online March 2015 in MECS DOI: 10.5815/ijmecs.2015.03.07
-
I. Introduction
Software development is one of a fastest growing business in a world. There is immense competition in every walk of life; software development has no exception from this. Achieving quality is one way to be separated from others. Quality in software products is made possible through many standards like ISO 9000 series, Capability Maturity Model (CMM) and Capability Maturity Model Integration (CMMI). An ISO framework is applied in more than 170 countries worldwide [5]. All models consist of different activities to achieve quality. Software inspection is one of them.
Software inspection is the best technique to make rid of defects. It was successfully adopted in functional programming model to detect and fix early defects [22]. It is accompanied by an exhaustive analysis of the code or other software artifacts like blueprints, requirements and test cases. It is basically a rigorous activity performed mostly by colleagues of producer of product for review. Coordination among multiple inspectors is required and may involve multiple meetings. Size of team performing inspection depends upon the characteristics of the work product being inspected. The primary objective is to find flaws in the current project and equally a reference in future tasks. Effective inspection performed at proper time saves time and money to be spent in testing activities. They are most efficient when executed at the conclusion of work product, before we establish the passage into a new phase, merely they can accommodate any time when product seems ready for review. Inspection of half complete product or document results in a tragedy. Inspection is an origin of fault identification in the first place by humans. Defects are removed and also verified. Activities which were originally in software inspection have employed many changes over the years by different companies; this depends upon the type of application, culture, etc. Basic trainings must be provided to inspectors and managers to conduct inspections in a right manner. Michael Fagan invented the inspection process in 1970 [1]. IBM was the first corporation to employ inspections. The main motive to do inspections is to reduce costs as defects discovered in last phases will have greater impact on overall project cost.
The aim of this research is to show how much of the inspection process of software artifacts is practiced in software development firms of Pakistan and how much it is efficacious in improving quality of projects. This study uses questionnaires to target many firms as possible.
Questionnaire includes different questions about the inspection process in a firm. Initially, some activities were not part of the inspection process like analysis meeting, prevention meeting. These steps are also discussed in this paper.
This paper is organized in different sections, introduction, literature review, overview of an inspection process using ETVX model, roles in an inspection. Then there are the consequences of applying inspection process from different software firms. The final part is about acknowledgement and a conclusion.
-
II. Literature Review
Numerous studies were carried out in different countries to investigate SQA practices in software industries. Surveys regarding South Asia are really scarce in number which shows SQA practices in Software industry [4]. Set of different tools reviewed by Sneed and Mary, which supports both software development and quality of software artifact from start to end [2]. In Malaysia survey was directed by Owe and Yaacob to extend the former written report, they showed investment trends of SQA, problems encountered by people in achieving a quality, the tools support in SQA and their weaknesses and manpower involved in SQA [3].
Some studies show the importance of different activities involved in an inspection process. For example, one study focuses on the inspectors and their knowledge of the inspection material, through this inspection can be successful [6]. Agile development is a hot issue in software development today. The alterations are a lot more frequent, if not properly treated can result in chaos [7]. The inspection takes much time to accomplish, this is the principal reason for its an un adoption. One study shows how to cut time in inspecting for large software projects [8]. Cost is the most important factor in all this phenomena. Uncontrolled changes can result in an increase cost many fold [9]. Traditionally inspection is an activity that is not comfortable to arrange and requires much effort to gather geographically dispersed person involved in many projects simultaneously [10]. Inspector’s skill and feedback in an inspection process is likewise very important [11]. One study shows the effectiveness of over the shoulder reviews, rework and follow up stage of the inspection operation in software organizations of Pakistan [15].
Because of labourness of the inspection process, software virtual inspection is also preferred nowadays [12]. In present world WWW is playing an effective role in the inspection process [13]. Some surveys indicate the success of the computer based inspection [14]. Study by using inspection in software organizations of Sri Lanka revealed many benefits of improving quality [16]. Study in [17] shows “Age of quality” and “Use of Software” in quality has partial control over the software quality management in software houses of Pakistan.
-
A. Definition of Software Inspection
A source of flaws identification of software artifacts. It includes detection, definition and correction of errors prior to release [18].
-
B. Software Inspection Process
Following section presents an overview of the inspection process using an ETVX (Entry, Task, Verification/ Validation, Exit) model discussed in [21]. Steps involved in Inspection are given in table 1:
Table 1. Inspection Process
Steps |
Description |
Planning and Scheduling. |
Inspection requires some resources and time, the apportionment of these resources takes place in this footstep. |
Overview |
Source gaining an insight of planned material for inspection meeting. |
Preparation |
A phase which gives time to inspectors to get an insight of material which is going to discuss in inspection meeting. |
Inspection Meeting |
Phase of defect identification before passing of defects into the succeeding stage. |
Analysis Meeting |
Now follows an inspection meeting for initiating actions for defect prevention. |
Rework |
Inspection form to solve known defects and open events |
Follow Up |
Phase of verification of resolution of all defects and open issues. |
Prevention Meeting |
It conforms to the set of inspections aided by data about defects to determine the potential reasons of faults. |
Data Recording and Reports |
This is step is for recording of data which is gathered during inspection and defects which are identified during it. |
Inspection Process Monitoring |
This step also occurs in parallel and at the end of the inspection process. |
The steps in ETVX model are discussed in Table 2
Table 2. ETVX Model
Steps |
Description |
Entry |
This step requires inputs and conditions which must be met to begin the procedure. |
Tasks |
It is set of activities, that is to be done in the process, activities are not strictly sequential may overlap. |
Verification/ Validation |
This section consists of activities which must be done to ensure that process has been properly done and its associated work product meets its objectives |
Exits |
It sets the standards which must be satisfied to terminate a procedure. It is denoted by qualitative aspects. |
The following part gives an overview of an inspection using an ETVX model
Planning and Scheduling
Inspection requires some resources and time, the allocation of these resources takes place in this step.
Entry
Policies exist for an inspection. Preparation for an inspection occurs. Planning procedures exist for an inspection. Inclusion of requirements in inspection plan. Types of work product to be inspected are identified. A well defined work product completion criterion is available. Initial estimates of the size of work product to be inspected are available.
Tasks
Determine what will be inspected. Budget allocation and resource estimation for inspection. Milestones are set and dependencies among components are placed.
Verification/ Validation
This action is performed by SQA professionals in a firm. Documentation regarding the different plans in the projects complete and it includes planned inspections required by an organization.
Exits
The design is finalized for inspections in the future, milestones are specified and resources are allocated which are necessary for inspection.
Overview
It is a beginning of acquiring an insight of planned material for inspection meeting. It is not really inspection meeting. It can be skipped if inspectors are well conversant with the work product. Also results in identifying any open issues in work product.
Entry
Notice for an inspection is sent by the project lead. Overview for an inspection is compulsory to capture an insight of the software product, size of material and requirement specifications.
Tasks
The best style is format is adopted by producer to present the overview, invitation to participants by moderator for overview meeting. Open events are documented in an inspection report.
Verification/ Validation
The necessity of overview meeting is assessed by using entry criteria and procedure of overview meeting.
Exits
Satisfaction over overview meeting is shown by inspectors and SQA. Open issues are documented.
Preparation
A stage which makes time to inspectors to capture an insight of material which is going to discuss in inspection meeting.
Entry
Completion of overview is checked and open issues are addressed in the overview. Preparation of work product for inspection is assessed. These are like a precursor for preparation.
Tasks
Preparation is done as planned and presented in a way which makes inspectors comfortable. Questions, concerns and possible flaws in the material are broken off
Verification/ Validation
Preparation procedures have been properly followed in moderator and enough preparation has been made out by inspectors. It is ensured by audits or sampling of inspections.
Exits
Sufficient training has been executed by each inspector to satisfy organization and project preparation time criteria. Preparation notes are recorded on defect list.
Inspection Meeting.
Phase of defect identification before passing of defects into the succeeding stage. Discussions and agreement on suspected defects to prove as real defect. If not agreed, termed as an unresolved event. Common inspectors are producer, reader and moderator.
Entry
Availability of inspectors and inspection material is determined.
Tasks
Brief introduction (moderator).
Preparedness check (moderator).
Read the work product (reader).
Identify defects (inspector).
Record defects (recorder).
Verification/ Validation
Training of inspectors and procedures for the meeting is checked by SQA professionals. It is ensured by audits or sampling of inspections. Participation of inspectors in effective meeting.
Exits
The inspection carried out as planned, acceptance and outcomes are in tolerance level as determined. Procedures in case of rework are also agreed upon.
Analysis Meeting
Immediately follows an inspection meeting for initiating actions for defect prevention. It was appended to the original review process after some time.
Entry.
Agreement to arrange analysis meeting between project leadership and moderator. Expertise of inspectors in formal analysis is required. Taxonomy of defects is formed.
Tasks.
Selection of defects for discussion and determination of the causes of defects discussed.
Verification/ Validation.
Inspectors have participated or not, in case of absence moderator is informed through notification before inspection meeting.
Exits.
Inspection coordinator is provided with complete records of analysis meeting.
Rework
Inspection phase to solve known defects and open issues. Accompanied by change requests in some cases, depending upon the nature and impact of the defect.
Entry
Producer is provided with a list of faults and open issues to be decided. How to perform rework and to solve unresolved issues is discussed by inspectors specially moderator. Complete inspection report is available to inspectors.
Tasks
Repairing of accepted defects and open issues identified during the inspection meeting is done by producer. Moderator and producer also define some steps to solve unresolved open issues. Modification request is frequently performed for some flaws.
Verification/ Validation.
Schedule for follow up activity is set so that designated person can verify rework. SQA professionals also review selected results of this action.
Exits
The producer has resolved defects and open issues and certification is updated consequently.
Follow Up
Phase of verification of resolution of all defects and open issues.
Entry
Rework of defects has been finished, including decision for which are not fixated. Rework regarding identified defects and unsolved, open issues is also reached by the producer. Modification requests are also integrated.
Tasks
Detailed discussion and agreement on procedures to solve defects and open issues takes place by of moderator and producer. If not agreed, the issue will be resolved by the project lead.
Verification/ Validation
The operation of repairing defects and solving open issues is accompanied by a moderator. The final review report goes over by producer and SQA group.
Exits
Unresolved issues are solved through proper change control procedure. The report is agreed by producer. Decision for re-inspection takes place. Unresolved issues referred to project lead. The inspection is now formally terminated.
Prevention Meeting
It conforms to the set of inspections aided by data about defects to determine the potential reasons of faults.
Entry
Participants of prevention meeting are provided with defect data and verify that analysis and inspection meeting was held.
Tasks
Data recording and proposing actions for defects prevention meeting during prevention meeting is done. Management is presented with proposals about future precautionary measures.
Verification/ Validation
Participants of prevention meeting have met all the criteria which were defined for the meeting. Review of report by SQA professionals.
Exits
Participants of prevention meeting clear the information.
Data Recording and Reports.
This is step is for recording of data which is gathered during inspection and defects which are identified during it. Takes place in parallel with other forms of inspection and also at the final stage.
Entry
Optional overview meeting, optional analysis and inspection meeting were taken.
Tasks
Information gathered through phases like overview if held, optional analysis, inspection meeting and follow up activities occur.
Verification/ Validation.
Information gathered at the last point of inspection and analysis meeting is validated. Reviewing of samples by SQA group.
Exits
Participants of both meetings like inspection and analysis confirm that the data is readable in every regard. Producer and moderator also agree upon the data gathered during follow-up activity.
Inspection Process Monitoring.
This step also occurs in parallel and at the end of the inspection process. The objective is to assess the results and suggestions for improvements in procedure of inspection.
Entry
Data from multiple inspections is available to teams responsible for monitoring. Focal person is assigned from a team and resources are allocated for this process.
Tasks
Participants of monitoring team are provided with all reports and results which gained in due process of inspection to present before management.
Verification/ Validation
Monitoring for analysis is performed by inspection coordinator. The inspection process improvement team meets for recommendations about the inspection process. Random monitoring by the SQA group to make sure that it is being done
Exits
Analysis reports developed, actions for improvement are proposed and implementations of actions for improvement.
Roles Involve in an Inspection.
Number of people in inspection team depend upon the character and nature of the task. The minimum is three (a moderator/ recorder, a reader, and an author). Additionally, the role of the tester was also suggested by Michael Fagan. A concept of super saturation also applies here, so study suggests a maximum of seven people in inspection team [19].
Roles involve in an inspection are summarized below.
Moderator
Ensures that procedures regarding inspection are followed, that inspectors fulfil their responsibilities. It is not a full time job, but a part time appointment. It is mostly made by senior members in the team. He/ She is not a representative of management [20].
Producer
Creator or modifier of work product for inspection also termed as an author. Also participates in all steps of the inspection process [20].
Reader
One of inspector who will get the inspection team through inspection material during the inspection meeting. The motive behind reading is to maintain the flow for inspectors and to focus on inspection material [20].
Recorder
Inspector
A character in an inspection in which everybody is prepared for. An inspector participates in preparation, inspection and analysis meeting during the inspection process [20].
-
III. Objectives
The primary aim of this research is to demonstrate how much of software inspection methods are accompanied in the software industry of Pakistan, benefits and drawbacks of software inspection in software firms. In order to get more response and to target many firms, a questionnaire was used. A questionnaire was sent to one of staff members known to us. It was also distributed by online social networks like It was mailed to more than 60 firms, but only 24 replies were received. The results were then collected along the basis of information received from firms. The questionnaire included 21 questions which covered different aspects of inspection in a firm. The next section presents results of the study.
-
IV. Survey Results
In the survey the first question was about the job title of the respondent of the questionnaire, respondents were like Senior Manager, SQA, Senior Software Engineer, Team Lead, Project Manager, Managing Director, Software Engineer, Web Developer etc. Most respondents were from managerial background.
Answers of primary activity in quality assurance in firms were like Software Testing, Requirements checking, Testing and debugging with different expected problematic scenarios, test automation, unit testing, integration testing, alpha testing, functional testing, Requirements validation and verification etc.
Support of top management for using inspection in a firm has like an umbrella and the question of it received a very unique answer by replying YES. Top management always encourages the use of inspection to make development and gain the confidence of clients.
All the respondent firms in survey dedicate some percentage of the project budget for review. Variation occurs in percentage. Some firms dedicate 2 to 7%, one firm is with 30 %, and all others dedicate not less than 10 % and not more than 20 % of the project budget for inspection.
The percentage of staff for inspection also employees variations like each firm takes in not less than 10 % and not more than 30 % of staff for inspection.
Experience of staff conducting inspection is a very significant aspect of the inspection. Every respondent firm in the survey has experienced persons with not less than 1 year and not more than 6 years in conducting inspection, the only exception of 15 years is shown by Auto Soft Dynamics (Pvt) Ltd.
Time to conduct inspection is very important for successful inspection. Some firms specify it as it depends upon the project and the task is not finalized until it meets customer demands. Multiple firms dedicate not less than 10 % and not more than 20 % of project time for inspection. Availability of staff also determines time for inspection in some firms. Some firms specify this with a number of days not less than 1 a day to not more than 2 weeks depending upon a project.
The bug’s identification ratio are some other important aspect for inspection. Range of not less than 10 % and not more than 30% ratio of bug’s identification are present in nearly every firm. 10 errors/ document is marked as well. Experience of developer also effects bugs identification, work of a more experienced developer is less prone to bugs and vice versa. A ratio of 75 % is also present in a firm. 4 firms didn’t answer this question.
All firms in a survey gained the advantages of using an inspection like requirements become clearer so results in increased quality and lessen time and cost, better execution, usability, staff training, well inspected products are always better and complete. Products that release after inspection are more stable one. Besides a source of error finding and correction, identification and killing of bugs, to produce the quality software product. Inspection results in a high quality, when reflected in software product, it results in increased trust of client of a firm.
Data gathered during an inspection is very important for the future. In the house developed tracking system called Task Management System to save data is in use by a firm, other one uses online tools like Jira and Unfuddle, all other firms use word processing software like Microsoft Word documents to maintain data in electronic shape.
History is a better predictor and if used by automated tools to save data gathered during the inspection in the firm can result in many benefits. This is done by Test Monkey, Junkins and another one uses tool mentioned above called Task Management System.
CMMI level of a firm is indicative of how much of all standards are being followed in a firm, only two out of all firms are at level 5, two at level 3 and rest of firms are on level III. Table 3 below presents summary of information:
Table 3. CMMI level of Firms
CMMI Level |
Number of Firms |
1 |
20 |
2 |
|
3 |
2 |
4 |
|
5 |
2 |
A kind of projects which involve inspection was also surveyed. Inspection is used in all sorts of projects which are frequent businesses of a firm.
Every respondent firm is in the software business for more than two years.
Success percentage of projects in which inspection was used was not less 75 % and was up to 100 %. Success percentage of projects without inspection lies in the range of 30 % to 50 %. Table 4 below gives the success part of projects with and without inspection.
Table 4. Successful Projects with and Without Inspection
Project Type |
Percentage |
Successful Projects with Inspection |
75-100 |
Successful Projects without Inspection |
50-100 |
Some of frequent drawbacks identified by the responding firms are that this process requires rich resources to do with full soul. Due to low budget projects dedicated time is impossible as it adds extra time to project timeline and causes delay in deliverables.
Acknowledgment
Список литературы Software Inspection in Software Industry: A Pakistan's Perspective
- Software Testing Best Practices by Ram Chillarege, IBM Technical Report RC 21457 Logs 96856 April 26, 1999.
- Sneed H.M., and Mary A. (1985) Automated Software Quality Assurance" IEEE Transactions on Software Engineering. 909-916.
- Owe S.W and Yaacob M.H. (1996) "A Survey on Software Quality Assurance - A Malaysian Perspective". Proceedings of the 1996 IEEE Computer Society Information Systems Conference of New Zealand (ISCNZ'96) pp 154-163.
- Sison R, Jarzabek S, Hock O.S., Rivepiboon W., And Hai N.N. (2006) Software Practices in Five ASEAN Countries: An Exploratory Study. ACM Press, ICSE, Shanghai, China 628-631.
- Yoo C., Yoon J, Lee B, Lee C, Lee J, Hyun S and Wu C. (2004) An Integrated Model of ISO 9001:2000 and CMMI for ISO Registered Organizations. IEEE Computer Society, 2004, Proceedings of the 11th Asia-Pacific Software Engineering Conference (APSEC 04).
- Carolyn B. Seaman, Victor R. Basili, "Communication and Organization: An Empirical Study of Discussion in Inspection Meetings", IEEE Transactions on Software Engineering, 1998.
- Victor Szalvay, co-founder Danube Technologies, Inc, "An introduction to Agile Software Development", Nov 2004.
- Dewayne E. Perry, Michael W. Wade, "Reducing Inspection Interval in Large-Scale Software Development", IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 28, NO.7, JULY 2002.
- Craig Murphy, "Improving Application Quality Using Test-Driven Development (TDD)" Methods and Tools, Global knowledge source for software development professionals ISSN 1023-4918, Spring 2005 (Volume 13 - number 1) X.
- Fagan, M.E. Design and code inspections to reduce errors in program development. IBM Systems Journal, ~0115, no 3, 1976, 182-211.
- Thomas Lee Rodgers, Douglas L. Dean. Process Maturity and Inspector Proficiency: Feedback Mechanisms for Software Inspections. University of Arizona, Tucson, Arizona.
- Henrik Hedberg, Lasse Harjumaa. Virtual Software Inspections for Distributed Software Engineering Projects. Department of Information Processing Science. University of Oulu. Finland. International Workshop on. Global Software Development ICSE 2002.
- Berners-Lee, T. WWW: Past, present and future. IEEE Computer, Vol 29, no 10, 1996, 69-77.
- Hqumaa, L., and Tervonen, I. A WWW-based tool for software inspection. Proceedings of the 3 1" HICSS conferences, Vol III, 1998, 379-388.
- Dilawar Ali, Ali Javed, Awais Tanveer, Shahroon Saleem, "An Improved, Efficient and Cost Effective Software Inspection Meeting Process", Department of Software Engineering, University of Engineering and Technology Taxila, Taxila, Pakistan. I. J. Modern Education and Computer Science, 2013, 2, 48-54.
- S.M.DJ.T. Jayatilake, S.K.K.M. De Silva, U.T. Settinayake, S.A.S. Yapa, J.M.D.A.M.M.S Jayamanne, A.G.A.M. Ruwanthika and C.D. Manawadu, "Role of Software Inspections in the Sri Lankan Software Development Industry". The 8th International Conference on Computer Science & Education (ICCSE 2013) April 26-28, 2013. Colombo, Sri Lanka.
- Asim Iftikhar, Sheikh Muhammad Ali, "Software Quality Assurance A Study s on Pakistan's Software Industry". Pak. j. eng. Technol. sci. Volume 1, No 2, 2011, 65-73.
- B. Sapsomboon "Software Inspection and Computer Support" University of Pittsburgh, 1999, Available: http://www.sis. pitt.edu/-cascade/bordin/soa _inspection. Pdf, [Assessed: Aug, 23, 2012].
- Fan, F. Fang and S. Lacy "Chapter 3 Using Formal Inspections in Software Quality Assurance" Available: http://users.csc.calpoly.edu/:jdalbey/20SlResources/lnspections/ Usinglnspections.html#l.l, [Assessed: Aug, 23, 2012].
- Eickelmann, Nancy S, Ruffolo, Francesca, Baik, Jongmoon, Anant, A, 2003 An Empirical Study of Modifying the Fagan Inspection Process and the Resulting Main Effects and Interaction Effects Among Defects Found, Effort Required, Rate of Preparation and Inspection, Number of Team Members and Product 1st Pass Quality, Proceedings of the 27th Annual NASA Goddard/IEEE Software Engineering Workshop.
- Ronald A. Radice, Software Inspections, Tata-McGraw Hill, 2003.
- P. Kang, "Softare inspection Process: Integration into a SoftareDevelopment Cycle", 2009, Available: http://artic1es.puthik.comlse/code_inspection.pdf.