Fred wrote code.
Fred is an intelligent software engineer working for a small startup. He has to write a small demo for his company for a product they want to raise money for. He knows time is short. So he starts writing the code. In the evenings and weekends he dumps everything on a disk and takes it home where he continues improving it. Sometimes he runs out of disks and he emails himself the code back home. Or sometimes he just uploads it on a FTP server which he can access from home. He is a passionate employee.
The first demo goes relatively well. He gets requests for more features to be added to the demo based on the feedback of the first demo. He keeps working at the office and at home. He keeps emailing code, burning CDs at the end of the week or FTP-ing the demo source code on his own private server. The following demos go well and the company secures funding.
When Fred is interviewed later on about his efforts, he mentions the following problems and things he would do differently next time.
"Working with the same sort code at work and at home definitely contributed to the overall success of the project. But the source code management was very poor and it was one of the problems frustrated me the most. I started with the naive idea that I'm working on a demo which we'll throw away in 3 months. As such, I went for something quick and dirty. It was frustrating.
I would need to get the whole source tree, zip it, put it on a disk or email it. Once at home, I had to either overwrite everything, or if not sure, do a diff against the code I had at home. It's painful and you have to repeat all these steps this every time."
Moral of the story: Don't underestimate the importance of a version control tool even for small one-man projects.
Thursday, May 31, 2007 3:06:01 PM (GMT Daylight Time, UTC+01:00)