views:

444

answers:

13
+11  Q: 

Two man team

I'll soon be starting a company with a friend. There will be several parts of it where we work on the same section of a site and as far as I can forsee, the potential for muck-ups is huge.

It's just two people so do we really need to use a version control system and are there any suggestions that you can give in helping us work as a more seamless team?

+1  A: 

Working as a singleton you will quickly learn the benefits of source control so the answer is a resounding yes!

sparkes
+1  A: 

I work alone on many projects and find Subversion invaluable.

Zack Peterson
+1  A: 

I would use source control for everything. it's not hard to implement, IDE support is good, and at least it's another part of your backup strategy as you can use it to recover code from a year ago.

Michael Stum
+30  A: 

Don't even CONSIDER not using source control. SVN is easy to set up and is free and has a good shell integration experience with TortoiseSVN and VS integration with VisualSVN. There are probably other tools that are similarly useful. Even if you're not worried about overwriting each other's work, there are other great reasons to use source control...

  1. versioning
  2. branching
  3. labeling
  4. historical records of the evolution of a file or series of files

And eventually -- if you're successful -- you'll add more people to your team. It would be so much nicer to just point those new peeps to your SVN repository and be done with it. that's better than worrying about how a new person won't understand your other precarious conventions for sharing code. Just do it. It's easy, and you'll thank yourself a million times over the next several months.

Chris Farmer
I've worked at a company without source control and it's hell on earth, even if you only have one or two developers. Actually they DID have source control, but their implementation consisted of manually copying the files to a folder named after the current date at the end of every day of work. The fun starts when you actually have more than one developer working on the same set of files and Windows bitches about the file being locked.
Alan
+1  A: 

When I was doing solo-work ,source control already benefit a lot to me. Mainly for history changes. It is sometimes hard to figure out why this line appered in your code when you come back to your code 1,5 years later.

You will benefit from source control.

Michal Sznajder
+6  A: 

Always work as if you might add a third developer at any time.

Or as if you might be down to one at any time.

Even if you're confident that won't be the case, the mental exercise pushes you toward good habits: documentation, issue tracking, versioning, etc.

Zack Peterson
+2  A: 

Good communication. Whatever it takes. Hopefully you'll be together in the same room.

It may sound a little backward, but I havent been able to find a good piece of software that doesn't bring too much overhead at my company (really, does EVERY bug need priority, status, assigned to, insightful notes and perhaps a screenshot?) that, and we're 4 developers!.

Whenever we touch upon the same file, we just verbally agree to all changes, trust me, this is MUCH MUCH quicker than anything software tools can do for small groups. Again, the caveat it you all kinda have to be there at the same location. of sorts.

edit: my development environment is web, so perhaps the complexity of code we touch upon is not what other software developers have to deal with? nonetheless, I still think SVN counts for larger groups, obviously; comments are a must I guess. Perhaps I'm TOO much of a lone wolf? LOL.

/mp

mauriciopastrana
+4  A: 

Any source control is better than no source control. Even if you are working solo, its important to use it. I would also recommend training yourself to write code as modularized as possible, as it naturally lends itself to being worked on by a team.

Shawn Simon
+2  A: 

If you are worried about hosting your SVN, check out this little service:

http://www.beanstalkapp.com/

Free for 20MB of storage, $15 a month for 1GB.

sestocker
+2  A: 

I just want to caution against Mauricio's line of thinking. "Quicker" is not at all what you want here. If you have one screwup that breaks the build in a weird way or one instance where you just wish you could remember that great method you accidentally erased last month but now wish you had, you will have lost all of your supposed gains you achieved by being "quicker." Using SVN honestly is second-nature after just a few days.

Chris Farmer
+2  A: 

Before I started working at a real job, I worked on a fanfic website for some friends in my spare time. I had just graduated and had never used source control (so much for college providing any kind of preparation for the real world). At one point, I promoted a new version of the website... which promptly screwed up the upload for new stories. And I had no idea exactly what I'd changed to cause this.

Moral of the story - use some form of source control, even when you're all by yourself. For a while, it'll seem like unnecessary overhead, until the day you hose yourself.

Adam V
+4  A: 

And not just revision control... an issue tracker (fogbugz!) really helps on coordination, even with just two (or even one) people.

Mark Harrison
+4  A: 

If you're typically connected on the same network then SVN is the winner. If you're ever disconnected, stuck on closed/disjoint networks, or constantly on the move then a distributed version control maybe a better answer. Look into Git or Mercurial

Git

Mercurial

basszero