• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Design for Cocoa (was Re: Can a subclass of NSDictionary do this?)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Design for Cocoa (was Re: Can a subclass of NSDictionary do this?)


  • Subject: Re: Design for Cocoa (was Re: Can a subclass of NSDictionary do this?)
  • From: James Quick <email@hidden>
  • Date: Thu, 24 Jul 2003 16:42:56 -0400

On Wednesday, July 23, 2003, at 01:25 PM, Georg Tuparev wrote:

On Wednesday, Jul 23, 2003, at 17:46 Europe/Amsterdam, Jim Rankin wrote:

One more thing: a lot of the controversy over Extreme Programming is its advocacy for pair programming, meaning always having a team of two people working together at one computer on one piece of code at a time. This, to my mind is the least important part of the methodology and the rest of the principles work just as well without it.

Well, as someone practicing pair programming as often as I can (actually many years before the word XP was coined) I would say this is probably the most important practice of all! Many other things brake without PP (examples: collective code ownership, simple design, coding standards, continuos integration ... just to mention few). And my own measures show very clearly that a pair can work 30-40% faster (in long run) compared to two solo programmers. And Cocoa is probably the best environment that I know (with possible exception of Smalltalk) to do not only PP but all of the 12 XP practices.

I would suggest that, paired programming, followed strictly, may have strong benefits, in
some areas, but that in others it may prove a disadvantage. I agree in the value
of creating a culture which fosters collective ownership, standards, and a few others.

I would contend however, that for some individuals, the amount of time they should
optimally devote to direct collaboration vs working on their own will vary widely.

Accounting for differences in learning style, temperament, and other psychological factors,
suggests that some individuals will be more productive and reliable when constantly paired,
while others will be far less creative and prone to make more mistakes. For the latter group
working side by side will probably only be beneficial for an hour or two a day. Concrete
examples of people who may fall into the second category, are introverted thinking
types who measure (I'm guessing about a cutoff here) 80% percentile or more towards
intraversion on the Meyers Briggs scale, and people with some degree of ADD.

For both of these specific classes, their temperament (or biochemistry) makes them better
able than the general public to sustain intense focus and mental effort while solving a problem.
In each case, however, they tend to perform at their peak when provided with sufficient
time for quiet reflection, or protected from too much distraction, respectively.

The application of a methodology should focus on maximizing the collective
strengths of the individual contributors. A blanket endorsement of paired
programming all the time, in some cases may have the opposite effect.

Just my 2 cents.
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.

References: 
 >Re: Design for Cocoa (was Re: Can a subclass of NSDictionary do this?) (From: Georg Tuparev <email@hidden>)

  • Prev by Date: Re: Is NSPreferencePane used often
  • Next by Date: Re: Can a subclass of NSDictionary do this?
  • Previous by thread: Re: Design for Cocoa (was Re: Can a subclass of NSDictionary do this?)
  • Next by thread: Re: Can a subclass of NSDictionary do this?
  • Index(es):
    • Date
    • Thread