Page 1 of 1 [ 9 posts ] 

Madbones
Veteran
Veteran

User avatar

Joined: 7 Mar 2010
Age: 27
Gender: Male
Posts: 777
Location: In the zone

01 Jan 2012, 9:58 am

Lets say I have one big project.
And I need 2 people to work on one class. How would it all work when it comes to compile time?
I dont need to know, just curious :lol: .


_________________
?Sometimes when you innovate, you make mistakes. It is best to admit them quickly, and get on with improving your other innovations.? -Steve Jobs.


ruveyn
Veteran
Veteran

User avatar

Joined: 21 Sep 2008
Age: 87
Gender: Male
Posts: 31,502
Location: New Jersey

01 Jan 2012, 12:07 pm

Jointly agree on a design. Jointly agree to the task break down to achieve the design. Parcel out the work.

ruveyn



Oodain
Veteran
Veteran

User avatar

Joined: 30 Jan 2011
Age: 34
Gender: Male
Posts: 5,022
Location: in my own little tamarillo jungle,

01 Jan 2012, 12:17 pm

excellent planning and discipline,
though colab software is out there i have never really tried it for programming.


_________________
//through chaos comes complexity//

the scent of the tamarillo is pungent and powerfull,
woe be to the nose who nears it.


Burzum
Veteran
Veteran

User avatar

Joined: 26 Apr 2011
Age: 32
Gender: Male
Posts: 1,205

01 Jan 2012, 1:32 pm

Regular commits to an online repository.



Sunshine7
Sea Gull
Sea Gull

User avatar

Joined: 11 Nov 2011
Gender: Male
Posts: 218

01 Jan 2012, 1:55 pm

1. Break the project into 2 independent modules that can be programmed separately. Person A does the breaking, person B chooses which module he wants.
2. At compile time, Person B compiles everything.
3. Person B constantly emails person A to ask him what the hell his code is supposed to do.
4. Person B realizes that while the 2 modules work well separately, when put together they do nothing. He essentially rewrites Person A's code.
5. Person A kicks up a fuss.
6. Cue debate about the optimal solution versus a satisficing solution.

As the number of people in the group increase by n, the time taken to execute steps (2) through (6) increase by n(n-1)!/2.



ruveyn
Veteran
Veteran

User avatar

Joined: 21 Sep 2008
Age: 87
Gender: Male
Posts: 31,502
Location: New Jersey

01 Jan 2012, 4:47 pm

Burzum wrote:
Regular commits to an online repository.


That tells what the storage is. It is not a division of the labor.

ruveyn



Burzum
Veteran
Veteran

User avatar

Joined: 26 Apr 2011
Age: 32
Gender: Male
Posts: 1,205

02 Jan 2012, 3:36 am

ruveyn wrote:
That tells what the storage is. It is not a division of the labor.

The method of storage was not the main focus of my post. Committing your work regularly means it is easy for the other person to integrate what you have done into what they have done, so you don't have a giant mess when it comes to compile time. There is a talk on Google Tech Talks that mentioned this, where a programmer will wander off into his cave and not show anyone what he is doing until he is finished.



peterd
Veteran
Veteran

User avatar

Joined: 25 Dec 2006
Age: 71
Gender: Male
Posts: 1,347

05 Jan 2012, 4:23 am

Pair programming even - one codes, the other watches, checks, questions.

Pair mk 2 - one codes, the other tests. Other parts, one tests while the other codes.



ruveyn
Veteran
Veteran

User avatar

Joined: 21 Sep 2008
Age: 87
Gender: Male
Posts: 31,502
Location: New Jersey

05 Jan 2012, 7:10 am

peterd wrote:
Pair programming even - one codes, the other watches, checks, questions.

Pair mk 2 - one codes, the other tests. Other parts, one tests while the other codes.


Good idea. The is nothing so helpful as a "sanity check". Since the most common error is observer bias, having a critical observer on the team is a must.

Do an occasional exchange of checker role and coder role.

ruveyn