The Importance Of Peer Inspections

770 Words2 Pages

Peer Inspections: A Pragmatic View
Software peer inspection:
A formal review of a work product by peers. A standard process is followed with the purpose of detecting defects early in the development lifecycle
Aims at detecting and removing software development defects efficiently and early while defects are less expensive to correct
Emerged as an effective approach to Improving software quality
But it is not the PANACEA!

Inspections to:
Check artifacts for consistency, feasibility, understandability at various stages
Check key use cases against measurable parameters-milestone demonstrations
Check requirements compliance
Study metrics related to changes
Inspections using Automated Tools

The Good and Bad of Peer Inspections:
Important components are reviewed by key stakeholders
All artifacts cannot be inspected-both time and cost factor
Major issues related to performance, concurrency found through modeling, experimentation
ROI on meetings, inspections is debatable
Everyone is responsible for Quality assurance

Peer Inspections: A Useful Guideline
Keep the review team small
Find problems during reviews, but don't try to solve them
Limit review meetings to about two hours
Require advance preparation
Critical component deserves to be inspected by several people, preferably those who have a stake in its quality, performance or feature set
Random human inspections tend to degenerate into comments on style and first-order semantic issues
The Old Way and the New
Old gave way to new
To meet changing needs, motivated by the insatiable demand for more software features produced more rapidly under more competitive pressure to reduce cost.
Davis Top 30 principles-Conventional Principles
Make quality #1
High-quality software is p...

... middle of paper ...

...ed Development Environments, Round-trip engineering

Necessary Technology insertion
Component Based, Architecture first approach

Scope Creep
Use-case approach, Iterative approach, demonstration based review
Risks in Conventional Process overcome by Modern Process: Built-in Risk Management
Too focused on artifacts
Quality Control-Metrics
Analysis Paralysis
Use-case approach
Insufficient Function
Early prototyping
Insufficient Performance
Early feedback on Architecture, Demonstration based assessment

Transitioning to a Modern Process
Some Features of Modern process:
Have an initial version developed early
Address the high risk areas early in the life cycle
Multiple iterations are developed (called spirals, increments, generations, releases)
Focus on domain experience
Process flexibility and change management
Team synergy and cohesion
Software process maturity

Open Document