Pair programming in Agile requires us to double the salary paid to single programmer. Of course with such approach the quality of the code is far cry better, bugs are found much earlier and so forth, but is that still worth that money? Maybe we should pay the 2nd developer's salary to the few testers (the latter are usually much cheaper than the qualified programmer)? Does anybody have any experience with such comparison?
1. Higher development costs. The idea of having two developers working on a single task at the same time seems like a waste of valuable resources. It's true that when practicing pair programming, these team members aren't going to complete a project in half the time.
The biggest mistake in pair programming is for the navigator to tune out and let the driver do all the work. The navigator has to be paying attention; otherwise you're just taking turns doing the entire work instead of making use of the benefits of having two people.
Pair Programming: Reasons to Love ItIt can make the code better, the employees happier, and the organizations more successful. It may seem counterintuitive, but two people working on the same code can actually be more productive than if they worked separately.
How do you know your unpaired programmers are any more efficient ? I sometimes think the single/pair is comparable to the old fairytale of the rabbit and the tortoise.
Pairing doesn't drift off into days of counter-productive work. I have no idea of how often I've seen developers spending weeks working on stuff that later turns out to be replaced by something far simpler. The single programmer "in the zone" often does stupid things. It's just too easy to produce too much code, when what you want is more punch with less code.
And in posterity, when the dust settles, you find hundreds, if not thousands of lines of code that could have been not written because someone didn't know about library X or technique Y. Pairing improves this problem, but does not remove it. It encourages both individuals and the pair to do more research before diving into mindless code euphoria.
I wish I was able to pair more....
We use this approach in our company, but only for the difficult tasks or when you're unsure about something someone else has worked on already which I believe works very well. It saves you getting stuck in a rut and being able to bounce ideas off people where necessary while still being able to work independently for most simple tasks.
I also believe it is more beneficial than a code review, which is something else we do where I work. It is often difficult to know fully what's going on when doing a code review without providing significant context, at which point you don't always have the time to think about all the in's and out's. Pair programming gives you that context from the start and allows you to spend more time thinking about edge cases that may or may not cause problems.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With