cho's Blog

March 15, 2008
The Pitfalls and Perils of Pair Programming The Pitfalls and Perils of Pair Programming by V. B. Velasco Jr., Ph.D.

Pair programming: People either love it or hate it.

The concept of pair programming first became popular thanks to ?extreme programming? or XP?a set of practices that supposedly allows companies to develop software in a more efficient, more ?agile? manner. Proponents of XP claim that it allows programmers to respond to changing or ambiguous software requirements without sacrificing quality. Skeptics disagree, arguing that these alleged benefits are either illusory or exaggerated.

XP proponents argue that two programming heads are better than one?that two software developers working together will tend to produce better, more reliable and more maintainable than a single programmer working alone. This practice is known as pair programming, and at first glance, it sounds like a great idea. Personally though, I think that it smacks of a ?one size fits all? mentality. That is, it assumes that two programmers working in concert will indeed be more efficient and that they will produce better results. I think there is good reason to believe otherwise.

The much vaunted Williams study

XP fans typically point to an infamous study headed by Prof. Laurie Williams at the University of Utah. In this study, Williams concluded that pair programming takes 15% more time than solo development, but results in software that is 15% better. They argue that this modest increase in development time is a small price to pay, since better code quality means that less time and effort will be required later down the road ? during testing and maintenance, for example.

I think that there are numerous problems with this study, though. How did the researchers gauge software quality, for example? The used the length of code as the quality metric; that is, the shorter the source code, the better they deemed it to be. The reported, ?[The paired teams] consistently implemented the same functionality as the individuals in fewer lines of code. We believe this is an indication that the pairs had better designs.? I think this is a hasty leap of logic, to say the least!

Does shorter source code exhibit greater quality? Sometimes, perhaps. However, one could just as easily speculate that the longer code contains more bug fixes and safeguards. In addition, adding more code lines ? to implement a design pattern, for example ? can make the software more efficient or easier to maintain. I think that the presumed correlation between code length and lack of quality is poorly justified at best.

The study also exhibited a severe case of participant bias. The students in a class were asked if they preferred to work in groups or alone. 35 of the respondents said that they preferred collaborative working; of these students, 28 of them were selected to constitute the pair programming experimental group. The remaining seven were placed in the solo programming group, i.e. the experimental controls. This created a strong experimental bias; all of the pair programmers were willing volunteers, whereas some members of the control group were there reluctantly.

What?s more, 13 out of the 14 pairs were self-selecting; that is, students were allowed to pick their partners willingly. Once again, this biases the results, since participants are likely to select partners with whom they are particularly compatible.

(Interestingly enough, these biases could have been easily avoided by assigning pairs randomly. I don?t wish to cast aspersions; however, I can?t help but wonder if Prof. Williams and company might have unconsciously biased their experiment to demonstrate the superiority of pair programming.)

Short-circuiting the creative process

In short, the supposed evidence for increased productivity under pair programming is questionable at best. In addition, we should ask if there?s any reason to believe that pair programming can be counter-productive or otherwise harmful.

I believe that it can be. Pair programming can certainly help people catch or prevent bugs; as the hoary cliche goes, two pairs of eyes are better than one. When faced with a thorny problem though, one often needs to let the problem percolate in one?s brain for a while before arriving at a proper solution. Often, that?s how creative minds operate; they need to let their minds sift a problem first before attempting to fix it.

With pair programming though, this process is short-circuited. Instead of letting one?s mind digest the problem in due time, pair programming puts pressure on people to arrive at a solution more quickly. Sometimes, this may produce better results; however, it can also have the opposite effect. I suspect that for the most creative minds, this kind of pressure can stifle creativity rather than hinder it.

But wait! Isn?t there power in numbers? Aren?t there times when the best results are produced by having people brainstorm and confer? Certainly? but these ?meetings of minds? don?t have to occur during the programming process. They can occur during planning sessions, during design reviews, or when sitting around a lunch table. We shouldn?t dispense with group troubleshooting and design; we simply shouldn?t force this to occur at the coding stage. That can do more damage than good.

What?s more, the most creative minds often need a measure of playtime ? an opportunity to play around with the code, tentatively exploring various options and letting one?s mind roam free. This can be difficult to do when another programmer is looking over your shoulder. After all, what should we do ? explain and discuss every tentative step? For a creative mind, this can be stifling indeed.

Conclusion

In short, I think that the evidence for pair programming?s effectiveness is questionable and overblown. I also think that there?s good reason to believe that pair programming can stifle the creative process, instead of helping it. Can pair programming be helpful? Certainly? However, when forced upon people, it becomes a ?one size fits all? strategy?and unfortunately, a single size can?t possibly fit everybody, no matter what the salespeople say.

V. B. Velasco Jr is a senior electrical and software engineer at a small biotech company that provides ELISPOT readers, frozen human PBMCs and serum-free media.

Article Directory: Article Dashboard
sb
0 comments | Email It | Add to Favorites | Category: no category
March 15, 2008
Sorry, but the blog post could not be located.
sb
0 comments | Email It | Add to Favorites | Category: no category
March 15, 2008
A Homeowner Consolidation Loan Could Ease Financial Difficulties A Homeowner Consolidation Loan Could Ease Financial Difficulties by

If you have loan, store and credit cards etc and your monthly repayments are getting on top of you then you should consider taking out a homeowner consolidation loan to combine all your existing payments together and end up paying just one lower repayment each month.

Great care has to be taken when considering a homeowner consolidation loan to make sure that in the long run you are not going to be worse off. To do this you will have to take into account how long any existing loans have left to run compared to how long you are thinking of taking out the consolidation loan for. Even a lower rate of interest on the new loan could end up costing more if existing loans have only a year or so to run.

Providing you have worked out that you would be better off by combining your existing loans and credit cards, then going with a specialist website and allowing them to compare homeowner consolidation loans on your behalf will get you the cheapest. A specialist will know where to look when it comes to finding the cheapest rates of interest based on the amount you wish to borrow. Along with this they should gather together the key facts; the key facts are where you can find all the information relating to the loan including any additional fees that could be added onto the cost of the loan.

When thinking of taking out a homeowner consolidation loan you have to remember that your home will be at risk for the length of time you are taking out the loan. Therefore you have to be sure that you will able to continue repaying the loan otherwise you risk losing the roof over your head if you were to get behind on the repayments.

The amount of money that you are able to borrow for a homeowner consolidation loan will all depend on the equity that you have in your home. Lenders define the equity as being what is left after you have taken off the amount that is outstanding on your mortgage from the value of your home. While the majority of lenders will allow you to borrow up to this amount, some will offer 125% of this value but you can expect the interest rates to be higher.

The beauty of the homeowner consolidation loan is that providing you have worked out you would be better off and have taken out the loan within a realistic timeframe when it comes to repaying; it is an excellent way of making a fresh start if your monthly repayments have got out of control. You only have to make one repayment each month to one creditor which means no more missed payments, plus if you have got a low rate of interest you should have shaved a little off the monthly repayment which means you have a little money left over each month. Of course you will have had to work out the correct ratio between the length of time you take the loan out over and the monthly repayments.

Louis Rix is Director of Netloans Ltd, a leading Secured Loan Broker for UK Homeowners offering homeowner loans and Secured Homeowner Loans for any purpose, ensuring that their customers get the best homeowner loan deal.

Article Directory: Article Dashboard
sb
0 comments | Email It | Add to Favorites | Category: no category
March 15, 2008
Sorry, but the blog post could not be located.
sb
0 comments | Email It | Add to Favorites | Category: no category
March 15, 2008
Do I Need A Degree To Be A Fashion Designer? Do I Need A Degree To Be A Fashion Designer? by Ciara McGrath -

Do I need an education to be a fashion designer? You might be asking yourself this question at the end of high school or sixth form. The answer is preferably yes, as a degree in fashion will give you the practical tools and training and creative stimulation to follow your dream. But if the thought of spending money and time at school or university puts you off, the answer could be an Internet course in fashion training.

A career in the glamorous world of fashion must be one of the most exciting and lusted after jobs in the world. The field attracts people who have high levels of creativity, an eye for matching colours and designs and an interest in popular and designer fashion. Your course will build on these abilities and teach you much more.

Throughout your training you will learn about the different talents that are necessary for you to get the best start in this highly competitive career. Options taught include how to design and present your ideas, and more practical essentials such as textiles and garment making basics.

A degree may also equip you with the knowledge, skills and attitude you will need to succeed in the business side of fashion. You might want your qualification to lead to a job with an established clothing design company- anywhere from Prada to Primark. Or maybe you fancy using your talent and training to start your own business. Individual courses may give you extra training in options such as business studies and media and advertising.

Other complementary courses include Pattern, Cutting and Design training, Dress Making or Textiles courses and related subjects like Free Hand Drawing or Art and Design. Wherever you choose to follow your interest, whether at college or on the net, the education providers should help you choose which combination of fashion degree options is best for you.

An Internet course has the added benefit that you can complete it in your own home, at your own pace. This means you can complete you training without having to give up your current job or even move away to study. These online courses vary in expense and quality, so it is important to think carefully about you decision before committing to anything.

In an online course you will still benefit from the expertise of knowledgeable tutors who should have lots of experience in the fashion business. These tutors will work with you individually, guiding you through your studies via email and interactive websites. There may even be options such as virtual lectures or message boards where you can discuss your ideas with other students.

Most fashion training courses will end with some form of coursework or outside assessment. Upon completion, you should find yourself with the skills, ability and confidence to use your talent and make your mark on the streets and on the dance floor. Good luck!

Ciara McGrath is a full time mother to four teenage daughters. . Find more articles here.For more info check out Fashion or Fashion Education.

Article Directory:
Article Dashboard
sb
0 comments | Email It | Add to Favorites | Category: no category
« older posts
cho


to cho

Recent Posts
Top Posts
Recent Comments
Categories

Archive
Syndication Tools
  • Subscribe to Flixya Blog Feed
  • Ping your RSS Feed
  • Add to Technorati Favorites!