An audit is the final process just before deployment of the product. An audit is a follow up process that ensures whether the software system to be delivered to the end user, has been able to meet the required functionalities along with the desired performance criteria. Typically a phase end audit process is broken down into four phases – status check I, follow up I, status check II, follow up II.
Phase end audit is performed at the end of each phase of the software development life cycle to validate the results whether they meet the specifications meant for that phase. Now when the phase meets the expected results, then it is eligible to pass the gate towards the next phase. Reviews to determine that the system is ready to move in to the next phase is also called 'gate reviews'.
Types of Phase audit review :
The reviews are done at different phases as they near its completion. The types of reviews can be classified as follows :
In-process Review:Reviews conducted during the software development life cycle phase's ongoing stage, such reviews are known as 'in-process review'. The aim of in-process review is to ensure that an input to the system is correct or not. A process review helps in rectifying issues if any, before that phase ends. In -process reviews are of the following types -
Milestone Review :A milestone review is the one which is conducted periodically on the basis of completion of one phase or completion within a stipulated time period or a predefined milestone is achieved. For instance, requirement review at the end of requirement phase, design review at the end of design phase, status review at the end of each week etc.
Phase-end Review :This is simply conducted at the end of each phase – requirement, design, coding and testing. Phase end review may generally be applied at various levels as per the classical waterfall model.
Post implementation Review :This type of review is conducted after a product is finally delivered to the customer. The aim of this review technique is to record the findings about the project's issues or bug reports, if any. Even if a bug is caught during the this phase, not much could be done in this regard as the final product has already been deployed. The purpose of such a review process is to organise a statistical record of the lessons learnt during the software development life cycle.
Phase end audit check-list :
Few points are worth noting with regard to delivery of a software product, are as follows :
Are the previous audits closed?
Have the requirements been understood, prioritized, and validated?
Have the client approved the final system design?
Are size and effort estimates been aptly taken into consideration?
Have all the defects been closed?
Have the traceability matrix been updated?
Check whether consistency is maintained between the results in the metric sheets.
The aforementioned statements are some of the key points the quality assurance team must make sure to cross-check as it is an important factor that contribute towards an efficient audit process.
Components of Software Development Process :
The very essential components of a software development process are :
Quality of procedures
An audit is an important step towards the final delivery of a product, as it assures whether the decisions taken regarding the software product has been appropriate with respect to quality. Reviews or audit at the end of each phase assures the current phase is devoid of any error and conforms to the specifications meant for that phase. Thus the final product is prone to least number of errors/bugs.