The Pros and Cons of Pair Programming
来源:互联网 发布:字体修改软件 编辑:程序博客网 时间:2024/05/17 07:49
link:http://www.devx.com/blog/agile/the-pros-and-cons-of-pair-programming.html
Posted by Gigi Sayfan on Sep 4, 2015
Pair programming is one of the most controversial agile practices and is also the least commonly used in the field, as far as I can tell. I think there are very good reasons this is the case, but perhaps not the reasons everybody thinks about.
Pair programming consists of two programmers sitting side-by-side, working on a given task. One is coding the other is observing, suggesting improvements, noticing mistakes and assisting in any other way, such as looking up documentation.
The benefits are well known. For more information you can download a PDF of The Costs and Benefits of Pair Programming
An IT Survival Guide: The Great Perils of Travel Download Now
But, why didn’t it take off as so many agile practices that have become mainstream staples? The reason that is often mentioned is that managers don’t like seeing two expensive engineers sitting together all day and working on the same code. That may be true for some companies. But, often it’s the developers themselves who dislike pair programming.
There are many reasons that some developers dislike pair programming. Many developers are simply loners and prefer to focus on the task at hand and their flow is disrupted by the constant interaction. Many developers like to work unconventional hours or from home/coffee shop and that makes them difficult to pair. The original extreme programming called for a 40 hour work week in which everybody arrived and departed at the same time, but in today’s flexible work environment this is not always the case.
I, personally, have never seen full-fledged pair programming practiced and it was never even on the table as a viable alternative. My experience is based on many years of working for various startups that used many other agile practices. I tried to institute pair programming myself in a few companies, but it never caught on.
So, is pair programming a niche practice that can only be used by agile zealots that follow the letter of the law? Not necessarily. There are several situations where pair programming is priceless.
The most common one is debugging. I’ve used pair debugging countless times. Whenever I get stuck and can’t make sense of what’s going on I’ll invite a fellow developer and together we are usually able to figure out the issue relatively quickly. The act of explaining what’s going on (often referred to as “rubber ducking”) is sometimes all it takes.
Another typical pair programming scenario is when someone is showing the ropes to a new member of the team. This a quick way to take the newcomer through each and every step involved in completing a set task and showcasing all the frameworks, tools and shortcuts that can be used.
What are your thoughts on pair programming?
- The Pros and Cons of Pair Programming
- The pros and cons of job hopping
- Pros and cons of SVM
- Pros and Cons of Angularjs
- Pros and Cons of AngularJS (转)
- Pros and Cons of X command vs. SYSTASK command
- pros & cons of Meson,CMake, Autotools and Tup
- Pros & Cons of the Top Mobile App Tracking Methods
- C++ Exceptions: Pros and Cons
- BlackBerry, iPhone, or Android? Pros and cons of mobile devices for business
- MySQL Engines: InnoDB vs. MyISAM – A Comparison of Pros and Cons
- Difference between synchronized and reentrantlock? Pros and Cons [closed]
- The pros and "conns" of Intel's ConnMan for Linux
- Speech Codecs: Pros & Cons
- Audio Codecs: Pros & Cons
- Video Codecs: Pros & Cons
- Image Codecs: Pros & Cons
- Requirements of pair programming
- 用户组
- JAVA使用正则表达式Demo
- 【HNOI2010】【BZOJ2003】Matrix 矩阵
- Contiki常用数据结构
- js时间转化为指定格式时间
- The Pros and Cons of Pair Programming
- AlarmMananger及PendingIntent的首次使用
- 工作中常用命令总结
- 第二周项目-c语言中函数参数传递的三种方式
- hdu 2011 多项式求和
- 快速径向对称 只检测暗对称 代码(2)
- 寻找凸包
- redis常用命令
- Contiki之父Adam Dunkels经典论文介绍