An Improved, Efficient and Cost Effective Software Inspection Meeting Process

Автор: Dilawar Ali, Ali Javed, Awais Tanveer, Shahroon Saleem

Журнал: International Journal of Modern Education and Computer Science (IJMECS) @ijmecs

Статья в выпуске: 2 vol.5, 2013 года.

Бесплатный доступ

Normally, the inspection process is seemed to be just finding defects in software during software development process lifecycle. Software inspection is considered as a most cost effective technique, but if these defects are not properly corrected or handled it would cost you more than double later in the project. This paper focus on the last phase of inspection meeting process showing the importance of Follow-Up Stage in software inspection meeting process. This paper also suggests a set of activities that should be performed during the Rework and Follow-Up Stages so to get inspection meeting results productive and efficient. In this paper we focus on the over the shoulder reviews so to ensure the software quality having less impact on the total software cost.

Еще

Software, Inspection, Inspection Meeting, Follow-Up, Defect Detection, Over the shoulder reviews, Quality in under developed Countries

Короткий адрес: https://sciup.org/15014523

IDR: 15014523

Текст научной статьи An Improved, Efficient and Cost Effective Software Inspection Meeting Process

Published Online February 2013 in MECS

Inspection is a process of identifying, monitoring, controlling and changing the software development activities according to the requirement of customer / user for improving the software quality and productivity of software product. Mostly people think that it is a defect finding exercise.

Follow-Up is an important part of software inspection process. It is the final step to detect the errors after this these errors becomes defects. Following the correct Follow-Up activity leads us to reduce inspection time and cost, which in return reduce the overall project budget and makes you able to deliver project earlier with high quality.

The objective of this paper is to introduce the importance of Follow-Up phase in the software inspection meetings. In this paper we focus on ‘over the shoulder reviews’ which takes less cost but ensure quality if and only if they are properly reviewed. So this is a need in underdeveloped countries to ensure high quality using less project cost they have to use over the shoulder reviews. So for this purpose we did some experiments that are further discussed in this paper to show that ‘over the shoulder reviews’ can be used to ensure high quality using low cost. This paper also defines the set of tasks that should be performed in the software meeting process.

This research starts from the study of different research papers and learning the market environment in Pakistan, regarding software development. We observed many small software houses that develops software but can’t ensure the product quality due to low budget. As compromising the software quality is a big challenge so we study the cost effective software inspection procedures. That leads us to the ‘Over the shoulder reviews’ that takes less cost then other inspection processes. The only problem in this is that there is not a proper follow up stage in this. So we introduce a follow up stage in this. The follow up is conducted on periodic basis so to improve the product quality.

The sequence of this research is as in first section we discussed the introduction, background and the need; in second section we describes the literature or some related studies; in third section we discuss the general software inspection process. Then in forth section we present a proposed follow up stage that includes the some basics of the correction and rework, then we discuss the software product acceptance or rejection criteria, considering the alternatives, re-inspection, solution verification and one most important inspection exit criteria are also the part of this section. The fifth section includes the experimental results and the analysis of research results and then we conclude this study by proving proposed solutions.

  • II.    Literature Review

The follow up stage is normally considered as the final stage of the inspection meetings but it is not properly tracked in the over the shoulder reviews. The over the shoulder reviews are the least expensive in case of taking suggestions from the inspectors from different countries that are far away.

In different studies the inspection meetings are considered as one of the important part of SDLC. But no one focuses on the importance of follow up stage. As if an over the shoulder review is performed but if it is not properly followed up the importance of that review decreases. Mostly people think that software inspection is just a defect finding activity and inspector’s roles is just to find defects [1]. But this study shows that yes it important for inspectors to find defect but more important thing is to verify that detected defects are properly handled ( or recorded in case if not able to handle in current stage) or not. Because once the defect left in inspection phase it becomes the part of work product and will effect later in the project. In most of research studies the overall inspection process is given the importance [2].

In some of the research studies the discussion is made on the importance of the coordination with the inspector and having knowledge about inspection material leads to effective inspection meeting [3]. Also now a day ‘Agile software development’ technique is used for fast development if we not properly followed up it become much complex and its difficult to handle [4]. Cost of change increases if it is not controlled earlier [5].

Self inspection, Validation and Follow-up process are the cyclic process which helps in the continuous improvement [6]. And for continuous improvement there are different model presented the importance of measurement model characterization as the demand of efficient and effective software process increased [7]. Now a day for flexible inspection process virtual software inspection techniques are normally preferred [8].

Some paper focus on the two feedback mechanism’s the process maturity and inspector’s proficiency [9]. In some papers the authors makes survey of software inspection research [10]. Previous work is used for improvement of software estimation research [11].

  • III.    General Inspection Process

General inspection process is normally divided in to following three steps;

  • A.    Planning and Preparation

This is the pre meeting step. In this objective, meeting materials, participant’s selection and their roles are defined. Each individual user inspects the work product before meeting and notes his reviews.

  • B.    Collection

This step of inspection includes; Meeting Process i-e. Activities or plans their complete steps and the sequence in which they execute to find defects in work product.

  • C.    Correction

This step includes the rework and follow up process.

  • IV.    Proposed Follow-Up Stage

  • A. Background

In Over the Shoulder Reviews when a reviewer reports defects, it is very rare chance that reviewer come back and follow-up the inspection process that the reported defects are cleared and no new defects introduced in it. In other cases the reviewer doesn’t follow up the inspection process which cause one of the following problems [5];

  •    The product cost increased.

  •    Product building time increased

  •    Product may fail if changes suggested by reviewer not handled properly.

Figure 1. Cost of defect correction if not properly Followed-Up in inspection [5].

The graph in “Fig. 1” shows that the cost increases with respect to technicality of the document. Graph also gives the statistics that earlier the defect is corrected it will costs you lower but correction of defect late in software development process costs you double or triple than it controlled earlier because defect remaining in end of one phase will transferred to next phase with increased impact [12].

Major problems that are discussed in this paper are that in Pakistan there are many software houses that are located in one or two rooms having very low investment amount too invest to build a software product. And some are working with different developed countries like USA, UK that normally prefer to conduct all meetings online. These software houses also focused on online or remote monitor inspection meetings. This is normally due to one or many of following issues;

  • 1)    Low Budget

Fall short of budget. And are not to much economically strong enough to run software house with luxurious resources.

Low budget also refers;

  • a)   Low budget for requirements

  • b)  Low budget for design phase

  • c)   Low budget for development

  • d)  Low budget for improving Quality

  • e)    Low budget for inspection meetings.

  • f)    Low budget for Software Testing

  • g)    Low budget for deployment and maintenance

This study focuses on only three points that are low budget refers to low budget for Quality; low budget refers less time for inspection meeting and low budget for Software Testing. So for improving the software productivity, these software houses follow the way to invest low budget to achieve good quality product.

Over the shoulder review is the one review process that require low budget but problem with it is that proper follow up process is not done in this kind of review later in this paper we defines a version of over the shoulder review with proper follow up meeting and hen discuss the results with an over the shoulder review with out proper follow up.

  • 2)    Small Teams

Short budget also refers to small teams. But it shows that every team person have very big responsibility.

Small teams refer;

  • 3)    Short Time

As technology changes rapidly, requirements becomes unstable, which cause lot of cost so they can’t afford changing requirements. High competition in market also refers to deliver product in short time.

Short time refers;

  • a)    Short time to deliver product to meet the market competition

  • b)    Less time for testing.

  • c)    Less time for performing the inspection meeting

Short times refers that they normally prefer the online meetings, which requires less time to arrange and would be productive if after a week of meeting proper follow up process is performed.

  • 4)    Independent Observer

When there is a need of the Involvement of independent test observer which is more far away from the location of inspection meeting.

  • 5)    Less Resources

Refers to all other resources except time and budget; Less resources normally refers to virtual software houses environment which normally do their work in online networked environment and the normally prefer online meetings to avoid time constraints.

Over the shoulder reviews are normally done when;

  • a)    We have fewer amounts of time and budget to perform inspection meeting

  • b)    We have fewer resources to perform inspection process

  • c)    We want to include some independent observer that is far away from meeting location.

  • d)    Simple execution is required.

  • e)    Virtual meetings are required to performed.( Many software houses in Pakistan also works for USA, UK or different foreign countries that don’t afford face to face meeting for each software product so perform virtual meetings.)

By the above discussion it shows that over the shoulder review is very important for under developed countries that invest low to get more profit. The only issue is that they don’t do proper follow-up of each inspection meeting. If the perform proper follow-up it would give them a high quality product with less cost.

  • B.    Correction Phase

Correction phase includes the rework and follow-Up stage. To do the proper Follow-Up we have to look at proper rework process also. For this we defined a check list to check either a proper Follow-Up is done or not.

Check List is as follow:

И Rework

И Coordination

И Feedback

И Solution and Alternatives

И Solution Verification

И Solution Re-Inspection

Figure 2. Suggested Checklist for Follow-Up Stage in Inspection

  • C.    Rework in Inspection

Errors found in the inspection phase are than send to author to correct them. We suggest a better rework process. In this process the current work product is send for either correction or rejected.

If the ratio of errors is as it conforms less than 50% of user requirements the current build is rejected because it requires too much time and budget to correct so its better to start with a new face.

  • 1)    Work Product Rejected:

If the proposed change in the rework phase is more than 50% of previous line of code you have to reject the current build and starts from the requirements again because it is very complex to handle changes in lengthy codes.

  • 2)    Work Product Accepted:

If proposed change is less than 50% o line of codes the work product is accepted on certain conditions;

  • a)    If it is more than 10% change, than after change it has to pass from inspection process again.

  • b)    If it is less than 10% change, change is made according to standards and verified, here there is no need to repeat the whole inspection process.

  • D.    Follow-Up in Inspection

In this study a Follow-Up stage is presented which includes Coordination Sessions, Feedback, Solution and Alternatives, Solution Verification, Solution ReInspection, Inspection Exit Criteria.

In Follow-Up process our goal is;

  • 1)    Correct all reported defects

  • 2)    Correction doesn’t generate defect in other part of work product

  • 3)    All unhandled defects are reported to the defect tracking systems

  • E.    Coordination

There should be a strong coordination between the inspectors of a work product, author and also the actual user of that product. The involvement of user helps the development team to give suggestion and identifies that they are de-tracking from their original goal.

  • F.    Feedback

An important session of follow up stage is to take feedback from all stakeholders. Involvement of user / customer in this session is vital to get earlier to the solution. Because the user is one for whom the product is going to develop or he is the actual one who uses this product.

  • G.    Solution and Alternatives

Inspection team point out the major and minor defects that are discovered in the inspection phase these defects are than treated on the basis of their priorities. The author is responsible for making the change. Author has to evaluate the results of inspection and present solution of the problem. But before implementation of that solution author has to discuss the solution with inspection team so that to find either the proposed solution to correct the defects found will affect the other parts of work product or the proposed solution turns the project into complex situation which lead it towards failure. Author also has to see different alternatives for the solution. After the analysis of solution by inspection team best alternative is chosen for correction of proposed defects. Once the proposed solution is verified by the inspection team solution is implemented by the author.

  • H.    Solution Verification

Solution verification is of two types;

  • 1)    Before Implementation :

As discussed in above phase (Solution and Alternatives).

  • 2)    After Implementation :

In this checking the behavior of system after correction of errors by executing the system to verify that all found defects are corrected and the correction doesn’t generate any defect in other parts of        work product and also there is no contradiction between any work product modules.

  • I.    Solution Re-Inspection

We recommend inspection meeting process to repeat again, if more than 10% of work product is modified.

  • J.    Inspection Exit Criteria

As inspection is the final stage to detect the defect and a work product must pass the inspection process to get into next stage so there should be the proper criteria defined before the tart o the meeting to exit the inspection process. In our case if defects detected in inspection cause less than 10% of work product, just go to correct those defects and after proper follow up there is no need to repeat the inspection process.

  • V.    Experimental Result – Results Analysis

We perform the both inspection process one with proper follow-Up and other is over the shoulder inspection (not proper follow-Up) on a group of Software houses in Pakistan

We choose two software houses, introduce the importance of inspection process and we get most satisfied results to convince them the importance of proper Follow-Up in inspection meeting.

We also show you the comparison that we found in our studies that if a proper follow-up process is followed or not its effect to product.

TABLE I. N umber S of D efects with out proper F ollow -U p in

INSPECTION PROCESS

No’s of Defects

Software Development Life Cycle Phases

Requir ement

Analysis

Design

Code

Test

Previous phase

-

2

4

8

18

Current phase

5

8

12

33

30

Corrected

3

6

8

23

22

Remaining

2

4

8

18

26

No Follow-Up / Transferred to next phase

2

4

8

18

26

From the Table I. we come to the solution that proper Follow-Up is needed to reduce the defects cost and time. As for the process that is not properly follow-up i-e. in over the shoulder reviews we get a work product with 26% of errors in it at final stage which required to much cost and time to reduce now we shows the results of a process that is completely followed up.

TABLE II. N umber S of D efects with proper F ollow -U p in

I nspection process

No’s of Defects

Software Development Life Cycle Phases

Requir ement

Analysis

Design

Code

Test

Previous phase

-

0

1

2

5

Current phase

5

8

12

33

30

Corrected

3

6

8

23

22

Remaining

2

2

5

12

13

Follow-Up / Transferred to next phase

0

1

2

5

8

The defect ratio is minimizing from 26% to just 8% which is clearly shown above in Table II.

Comparisons of Table I and Table II shows that defects can be reduced by proper follow up in ‘over the shoulder review’ but these are not as much as required for an excellent software but it is far better then compromising on software quality.

In Table I, the remaining and transferred to next phase defects are same because there is no proper follow up (by original over the shoulder reviews where there is no follow up stage) and now see in the some rows in Table II, we found that remaining defects are again reduced before moving to next phase this is only due to inclusion of follow up stage in ‘Over the shoulder reviews’. Thus a cost effective solution is presented to get high or you can say a better quality product having low budget.

This solution is considered as extremely well as most of foreign investors wants cheep labor for software development which they found in under developed countries so to get high quality product with low budget they should focus on the presented version of over the shoulder reviews with periodic follow up stages.

One other solution of problem that normally they think that inspection Follow-Up process costs high is provided by us. Surely it costs high in earlier phases but if you properly followed up in earlier phase it will automatically lower the cost in the future. But if it is not properly followed-Up it will cost you more than double later.

Inspections follow up process takes time and cost for initial phases but as defect is controlled earlier it remains stable in later phases, graph in “Fig. 3”shows it.

Figure 3. Cost of defect correction if not properly Followed-Up in inspection VS if properly Followed-Up in inspection

By following our proposed solution these software houses starts performing proper inspection process and hence the our all projects cost lowers and rate of failure of project turn to less than which is due to not proper Follow-Up. Graph in “Fig. 4” shows stats;

Figure 4. Number of project’s Pass or Fail in each Years (2009 - 2011)

The year by year rate of failure of project falls after properly following the Follow-Up stage in inspection Meeting shown above in Fig. 4. In start i-e. 2009, the number of failed projects are too high as compared to those who succeeded in same year. Then by applying our methodology the number of failure of projects fall’s down and at the end of 2011 the rate of failure is now different as earlier (Now the failure occurred due to time extension or some requirement conflicts or inconsistencies, these problems and their solution will be address in our further studies). And also each year they start getting their high ranking in market and get more projects and profit as well.

All above results shows that over the shoulder review is the one of best technique if we ensure the proper follow-up process in the inspection process as it takes low budget which is helpful for short software houses and as per their requirement it works for online and remote meetings. We can also take feedback on our projects from independent test observers. Over the shoulder review technique also supports virtual software houses and online Projects meetings. Our result shows that by ensuring proper follow-up the productivity of over the shoulder review increases.

  • VI.    Conclusions

Producing the high quality product having a low budget is a big task to achieve in this era of technology. This Study shows that inspection process is not just to find defects. It is also a well driven meeting or activity by which you can easily get to right path and found solution to problem earlier. Each phase of inspection meeting has its importance and we can’t omit any phase for any reason. Like in “Over the shoulder” Reviews Follow-Up stages is not properly ever executed which cause the meeting result not much productive. Over the shoulder review is one of best review process performed even if some user is far away having low cost and low budget if it ensure the properly Follow-Up stage in inspection meetings.

In this study we provide a cost effective solution to ensure the product quality. Instead of compromising on the product quality the over the shoulder review with our presented follow up stages takes low cost to ensure the good results. And also this process is much better then self inspection as in that the author it self inspect his code (too much difficult to find error in own code).

This study shows the importance of follow up stage that if an inspection process is not properly followed up it is useless. And when proper inspection meetings follow up process is done it turned the least expensive over the shoulder review to a one of the best review process. In the future work we can still improve the inspection process by training the reviewers.

Acknowledgment

The authors wish to thank Software Engineering Department, University of Engineering and Technology, Taxila for kind support to our research work.

Список литературы An Improved, Efficient and Cost Effective Software Inspection Meeting Process

  • Ronald Kirk Kand, 'A Software Defect Detection Methodology', Jet Propulsion Laboratory, California Institute of Technology.
  • Louis A. Franz, Jonathan C. Shih, 'Estimating the value of inspection and early Testing for Software Projects', Dec 1994, Hewlett-Packard Journal, Page 60 – 67.
  • 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.
  • 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)
  • Meagan Parrott. 2011. Self-Inspection, Validation and Follow-Up: A cyclic process for continuous improvement in Lab Saftety, ABSA Conference, November 1, 2011.
  • Kollanus S. 2009. Experiences from using ICMM ininspection process assessment, Software Quality Journal, published online 10 January 2009.
  • 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.
  • Thomas Lee Rodgers, Douglas L. Dean. Process Maturity and Inspector Proficiency: Feedback Mechanisms for Software Inspections. University of Arizona, Tucson, Arizona.
  • Sami Kollanus, Jussi Koskinen. Survey of Software Inspection Research, Department of Computer Science and Information Systems, P.O. Box 35 (Agora), FI-40014 University of Jyväskylä, Finland.
  • Magne Jørgensen, Martin Shepperd. A Systematic Review of Software Development. Cost Estimation Studies. Brunel University.
  • Thomas Schulz, Łukasz Radliński, Thomas Gorges, Wolfgang Rosenstiel. Defect Cost Flow Model – A Bayesian Network for Predicting Defect Correction Effort.
Еще
Статья научная