International Journal of Computer Trends and Technology (IJCTT) – volume 17 Number 6 Nov 2014 Optimization of using Management and Technical Review Techniques

Inibehe Emmanuel Akpannah Post Graduate Student (MSc. Information Technology), SRM University, Chennai, India

Abstract compromising the security of the entire system. Optimizing the quality of software is a function of Improving the quality of our software process leads the degree of reviews made during the early life of to minimal rework, cost effectiveness and also a process. Reviews detect meeting up with schedules, which all lead to errors and potential errors early in the software improvement in capability measurement. Software development process. The errors detected during review is a chain process, it is dynamic and review the early life cycle of software are least expensive needs to be performed at every phase of the to correct. Efficient involvement in software development process until there is a transition to the inspections and technical reviews, help developers testing phase. improve their own skills, thereby mitigating the and is a phase in the occurrence of errors in the later stage of software software development process in which development process. The ideas gathered on this programmers (authors of codes), quality assurance paper point that a properly implemented program of (QA) team, and peer reviewers get together to technical and management reviews drastically review design and code [9]. One way of optimizing reduces the time as well as the cost required for the quality of software is finding and correcting testing, , and reworking, and dramatically errors at the early stage of a software development improves the quality of the resulting product. This process. Finding and fixing errors at the early stage paper, Optimization of Software Quality using of a software development process is relatively management and technical Review Techniques, inexpensive and tends to minimize the more provides its readers with the opportunity to learn expensive process of managing, identifying and about and experience using this indispensable fixing defects during later stages of development or software quality tools. even after the software are delivered to the users. Reviewers who are responsible for reading software Keywords— Optimization, quality, management, codes read the code line by line to check for: technical, review.  present flaws and potential flaws  The correctness and uniformity of the overall Introduction program design. In software, either as a process or a product, quality  Validity of comments, some comments may result is essentially known to be an important factor. In into misinformation other to achieve greater improvement in the quality  Adherence to the generally accepted coding and productivity of a software process, it is standards. important to perform design and code reviews. In software development process, a small coding error A software product, during the process of its can result in a critically vulnerability that ends up development, developers should never assume it to

ISSN: 2231-5381 http://www.ijcttjournal.org Page 304

International Journal of Computer Trends and Technology (IJCTT) – volume 17 Number 6 Nov 2014 be free of flaws. Employing review techniques will Management Reviews limit the number of coding errors and thereby reducing the degree of impact it will have on the According to IEEE, in , software. Management Review is defined as a systematic

Problem Definition evaluation of a software acquisition, supply, development, operation, or maintenance process performed by or on behalf of management to The underlying problem is the question of how to monitor progress, determine the status of plans and use existing review techniques (management and schedules, confirm requirements and their system technical reviews) to optimize the quality of allocation, or evaluate the effectiveness of software. Although there are other techniques of management approaches used to achieve fitness for optimizing the quality of software during its purpose [8]. Management reviews support decisions development process other than review, the goal of about corrective actions, changes in the allocation this paper is to present how review techniques can of resources, or changes to the scope of the project. be applied in a software development process in Management review is performed by those directly other to improve and optimize its quality on an responsible for the system. They monitor the economical basis. progress of the system and determine status of plans

and schedules. The management team confirms Contribution requirements and their system allocation or, evaluates management approaches used to achieve This paper proposes a dynamic approach to fitness or purpose. Management review requests evaluate the quality of software using review that support decisions are made about changes to techniques based on the opinion of experts and the scope of the project. Software developers may predicted behaviour of the software. It shows a at a given point determine to change or modify the more cost effectiveness over testing at the later scope of the project, the support for this decision stage of the software development process. Based comes directly from the management. The on reliability models, it is seen that the quality of a management reviews the progress of the program software product is higher than a similar product and evaluates why changes and/ or modifications that has not been reviewed. should be made. If there is a strong reason for alteration, the management produces a statement of Types of Review support otherwise it is not allowed. It is different from both a software engineering peer review The Institute of Electrical and Electronic Engineers which evaluates the technical quality of software (IEEE) Standard for software Reviews defines five products, and a software audit, which is an types of Review [3]: externally conducted audit into a project's  Management Review compliance to specifications, contractual  Technical Review agreements, and other criteria.  Inspections(Formal Peer Review)  Walk-through  Audits

ISSN: 2231-5381 http://www.ijcttjournal.org Page 305

International Journal of Computer Trends and Technology (IJCTT) – volume 17 Number 6 Nov 2014 The Aim of Management Review Technical Review A software technical review is a form of The aim of Management Review is to manage peer review in which a team of qualified personnel the quality of software and of its development examines the suitability of the software product for process. A quality product is one which meets its its intended use and identifies discrepancies from requirements and satisfies the user requirements. A specifications and standards. Technical reviews quality culture is an organizational environment may also provide recommendations of alternatives where quality is viewed as everyone's and examinations of various alternatives (IEEE responsibility. Standards 1028 -1997, IEEE Standard for Software Review, Clause 3.7)[9].A technical review is a Products Reviewed by Management software quality assurance activity performed by software engineers with well-defined objectives. The following are the products reviewed by management: Objectives of Technical Review  plans Audit Reports  Contingency Technical review offers the following objectives:  Installation plans  To uncover errors in function, logic or  Risk management Plans implementation of the software ;  Software quality Assurance(Q/A)  To verify that the software meets its  Progress Report requirements ;  Software Project Management Plans  To ensure that the software has been  Software Safety Plans developed according to the standards ;  Backup and Recovery Plans  To achieve uniformity in software  Technical Review Reports development process;  Software Product Analyses  To make projects manageable.  Verification and Validation Reports The formal technical review serves to promote Outputs of Management Review backup and continuity because a number of people become familiar with parts of the software that they From the series of reviews carried out by the may not have been seen. Each technical review is management, each activity reviewed is properly conducted as a meeting and is considered successful documented [1]. The document is helpful to the only if it is properly planned, controlled and management in identifying: the project under attended. review, review team members to check for their skills and technical know- how in case there is need Software Products Reviewed Technically for replacement of a team member, review objects Examples of software products reviewed and, review input and also list of defects identified technically include but not limited to the following: by the review team.  Installation Procedure  Software Design Description  Software Test Documentation

ISSN: 2231-5381 http://www.ijcttjournal.org Page 306

International Journal of Computer Trends and Technology (IJCTT) – volume 17 Number 6 Nov 2014  Software User Documentation unnecessary costs of testing and  Release Notes amendments.  System Build Procedure  Compliance with standards and best  Maintenance Manual practices: It may be necessary to ensure that the project has implemented quality Factors that enhance Technical Review of assurance processes to ensure that project Software deliverables comply with appropriate standards and best practices. There are some factors that spur the need for a technical review in software [9]: Approaches to a Technical Review  Technological factors: Underlying technologies may have some changes. For Discussed below are the basic approaches to a example the software that was initially technical review: thought to be useful or provide alternative  Team Review: The project development measures may not come up as earlier team may wish to reflect on the approaches envisaged. So doing a technical review will they have taken. It is expected of the help to analyse the changes and thereby development team to make reports to the avoiding developing software of poor project manager stating the progress of the quality. project.  Man Power/Staffing factors: Poor staffing  Review by project partners: The project can result into software with poor quality. partners are also granted the responsibility To avoid this, it is recommended that staff of reviewing the project. with reputable record of software  Invitation of third parties: The project development experience and good team may wish to invite external bodies to understanding of programming languages participate in the review. This approach is are employed. Staffing plays a major factor very dynamic. It reviews the project in in software development. 70% of the quality various dimensions. of a product directly or indirectly lies in the  Comparison with one’s peers: One may hands of the staff involved. Proper staff also chose to compare one’s deliverables selection is advised. with one’s peers, such as projects with close  Organizational factors: There may be similarity. changes within the organization which is handling the software project. These Outputs of a Technical Review changes can affect the quality of software.  Changing requirements: There may be It is important to note that any improvements or some changes in the requirements for the changes which may have been identified during a project. The client may decide to alter the review need not necessarily be implemented. There requirements and this should be reviewed may be a temptation to implement best practices technically before implementation. when good practices are sufficient, and that Everyone involved in the process should be implementation of best practices may take longer to aware of the changes in other to prevent

ISSN: 2231-5381 http://www.ijcttjournal.org Page 307

International Journal of Computer Trends and Technology (IJCTT) – volume 17 Number 6 Nov 2014 implement than anticipated. The outputs from a the defects they made, the engineers cut their review may be: average compile and test time by nearly four times  Better understanding: The review may [3]. have an educational role and allow project partners to gain a better understanding of issues.  Enhanced workflow practices: Rather than implementing technical changes the review may identify the need for improvements to workflow practices.  Documenting lessons: The review may provide an opportunity to document limitations of the existing approach. The documentation could be produced for use by project partners, or could be made more widely available.

 Deployed in other areas: The Figure 1.0 Range for Compile and Test Time. recommendations may be implemented in

other areas which the project partners are involved in. Conclusion  Implemented within project: The The purpose of software review is to ensure that recommendations may be implemented programs produced are of the highest quality and within the project itself. If this is the case it thereby optimized to achieve that state of quality. is important that the change is driven by Of the many kinds of reviews available today, the project needs and not purely on technical major ones are the management and technical grounds. The project manager should reviews, they are the backbones and gangways to normally approve significant changes and other reviews. The optimization of software quality other stakeholders may need to be informed starts by reviewing the requirements, design, documentation and perhaps any other product element. Doing the review of all these elements Compile and Test Time Range contributes greatly to ascertaining the quality of our software product. Figure 1.0 shows the maximum, minimum and average percentage of total development time that six engineers in one project spent compiling and Future Enhancement testing the software. Initially the engineers averaged around 40 percent of their time in compile and test, Practitioners can make of these review methods and with the percentage of their development time in combination of other methods that have not been ranging from around 10 percent to over 50 percent. explicitly explained here to further improve on the As the engineers worked through the project the quality of software. The technical review can be quality of their programs improved substantially. extended to industrial scale and more analyses can By introducing reviews and being more aware of predict a more optimized way of improving the

ISSN: 2231-5381 http://www.ijcttjournal.org Page 308

International Journal of Computer Trends and Technology (IJCTT) – volume 17 Number 6 Nov 2014 quality of software products other than management [2] Michael Fagan, “Advances in Software Inspections”, IEEE Transactions on Software Engineering, vol. SE -12, no. 7 (July and technical reviews. 1986). [3] W.S. Humphrey, “Managing the Software Process” (Reading, Acknowledgement MA: Addison Wesley, 1989) [4] Knight, John C. et al:” An Improved Inspection Technique”, Communications of the ACM, 1993, vol. 36 no. 11, pp. 51-61. The author hereby acknowledges the grace of God [5] Mc Connell, Steve: “Software Project Survival Guide”, upon his life for his devotion towards this work. Microsoft Press, 1998. [6] Rigby, Ken: “Design Reviews”, (visited 19/11/2014), Also special thanks go to his favorite lecturers for http://sparc.airtime.co.uk/users/wysywig/desrev.htm their encouragement and inspiration: S. Kanchanna, [7] Weiss, Alan R. & Kimbrough, Kerry: “Weiss and Kimbrough K.Kanmani. Inspection Materials”, (visited 19/11/2014), http://www2.ics.hawaii.edu/~johnson/FTR/Weiss/weiss. [8] IEEE Std. 1028-1997, IEEE Standard for Software Reviews, References clauses "Entry criteria"; 4.5, "Procedures"; 4.6, "Exit criteria" [9] James C. Collofello,” The Software Technical Review Process” SEI Curriculum Module, June 1988. [1] Michael Fagan, “Design and Code Inspection to Reduce Errors [10] Ranganathan, Kala:”How to Make Software Peer Reviews in Program Development”, IBM Systems Journal, vol. 15, no. 3 Work”, Quality Process, Bell & Howell Information and (1976). Learning Company, American Society for Quality, 22/11/2014.

ISSN: 2231-5381 http://www.ijcttjournal.org Page 309