Software inspections
Inspection in simple words means examine and when we speak of Software inspections it means
an extra-ordinary technique which is used to identify errors in a program. The concept of
software inspection can be dated back to 1970 and it has proven to be a time tested
technique which has yielded unparallel results. Computer program(s) can have numerous types
of errors ranging from very simple to complex. Errors like redundant logic, unused
variables, unlatching comments, incorrect Boolean tests, and much more can be detected
before the product is marketed only through
software
inspections.
Using software inspections has its own advantages and I would say that the famous saying “A
stitch in time saves nine” goes perfectly with software inspection. There have been surveys
which proven that the cost of correcting errors is much less when detected early as
compared to the cost when the errors are detected at a later stage. The basic idea of using
software inspection is to deliver superior quality products. Software inspections have now
become a vital part of software development. But then the crux of the success lies in the
proper application of the techniques of software inspection. The inspection team members
may it be a Moderator, an Author, a Reader, a Recorder or an Inspector needs to work in
coordination and perform the special task assigned to give the top results. It is
imperative that the all software inspections are planned and performed in an orderly
manner. The guiding principle should be to let us find the defect and not the customer. In
a nut shell Software inspection provide value in improving software consistency,
accessibility and maintainability.
Pair Programming
Pair programming truly implies the literal meaning of “Pair”. It’s simple! Isn’t it. Yes!
it means two programmers, one known as driver and the other as the navigator work side by
side to develop a software.
Pair programming has
its own pros and cons. The advantages tagged with Pair programming is that it increases
design quality, dwindles the error chances, increases discipline, helps in knowledge
sharing, helps creating better solutions and above all it creates and atmosphere of healthy
competition amongst the workers each want to excel. It is true to say that two programmers
are bound to give more than twice as productive as one for a given task.
Pair programming has its own disadvantages, personality conflicts being the most common
one. It becomes very difficult to compare the performance of individuals. It is a
“Herculean” task to rope in an experienced developer with a less experienced one, the
senior one could impose “Do it my way or get out”. Another major drawback is to synchronize
the two different programming styles of the two programmers put to work under
pair programming.