CSC/ECE 517 Fall 2012/ch2a 2w9 ms: Difference between revisions
No edit summary |
No edit summary |
||
Line 5: | Line 5: | ||
= Introduction = | == Introduction == | ||
Pair programming is a style of programming in which two programmers work side-by-side at one computer, continuously collaborating on the same design, algorithm, code or test. Use of this practice has been demonstrated to improve productivity and quality of software products in one of the paper <ref name = ref-paper />. | Pair programming is a style of programming in which two programmers work side-by-side at one computer, continuously collaborating on the same design, algorithm, code or test. Use of this practice has been demonstrated to improve productivity and quality of software products in one of the paper <ref name = ref-paper />. | ||
Line 14: | Line 14: | ||
[[#top|Back to top]] | [[#top|Back to top]] | ||
= Principles of Pair Programming = | == Principles of Pair Programming == | ||
[[#top|Back to top]] | [[#top|Back to top]] | ||
= How to achieve Pair Programming = | == How to achieve Pair Programming == | ||
[[#top|Back to top]] | [[#top|Back to top]] | ||
= Benefits of Pair Programming = | == Benefits of Pair Programming == | ||
[[#top|Back to top]] | [[#top|Back to top]] | ||
= Advantages = | == Advantages == | ||
[[#top|Back to top]] | [[#top|Back to top]] | ||
= Disadvantages = | == Disadvantages == | ||
[[#top|Back to top]] | [[#top|Back to top]] | ||
= Ongoing Research = | == Ongoing Research == | ||
[[#top|Back to top]] | [[#top|Back to top]] | ||
= Conclusion = | == Conclusion == | ||
[[#top|Back to top]] | [[#top|Back to top]] | ||
= References = | == References == | ||
<references> | <references> | ||
<ref name = ref-paper> http://www2.yk.psu.edu/~sg3/cmpbd205/assign/week01/ACMarticlePairProgramming.pdf </ref> | <ref name = ref-paper> http://www2.yk.psu.edu/~sg3/cmpbd205/assign/week01/ACMarticlePairProgramming.pdf </ref> | ||
</references> | </references> |
Revision as of 06:20, 24 October 2012
Pair Programming
This chapter will explain basic concepts of pair programming which is one of the popular Agile Software Development technique. We would also explain its benefits, advantages and disadvantages of pair programming. In the end we will conclude the topic by mentioning ongoing research in this field.
Introduction
Pair programming is a style of programming in which two programmers work side-by-side at one computer, continuously collaborating on the same design, algorithm, code or test. Use of this practice has been demonstrated to improve productivity and quality of software products in one of the paper <ref name = ref-paper />.
In Pair programming practice, two software engineers work on one task at one computer. One of the engineer acts as a driver who has control of the keyboard and mouse and (s)he creates the implementation. The other engineer acts as a navigator (also called as an observer) and watches and reviews the driver's implementation to identify defects and participates in on-demand brainstorming. The roles of driver and navigator are periodically rotated between the two software engineers. The observer also considers the strategic direction of the work, coming up with ideas for improvements and likely future problems to address. This frees the driver to focus all of his/her attention on the "tactical" aspects of completing the current task, using the observer as a safety net and guide.
Extreme Programming (XP), is an emerging software development methodology. Pair programming is one of the corollary practices of Extreme Programming. XP attributes great success to the use of “pair programming". XP advocates pair programming with such fervor that even prototyping done solo is scrapped and re-written with a partner.
Principles of Pair Programming
How to achieve Pair Programming
Benefits of Pair Programming
Advantages
Disadvantages
Ongoing Research
Conclusion
References
<references> <ref name = ref-paper> http://www2.yk.psu.edu/~sg3/cmpbd205/assign/week01/ACMarticlePairProgramming.pdf </ref> </references>