Upcoming DemoCamps
The next three DemoCamp dates have been set:
- DemoCamp 9: Monday, Sept 25 (note: not Tuesday)
- DemoCamp 10: Monday, Oct 23 (the online marking tool will be presented)
- DemoCamp 11: Monday, Nov 20
Hope to see you all there.
The next three DemoCamp dates have been set:
Hope to see you all there.
OK, your project is up and running: you know what you’re supposed to be building, and you have a schedule for producing it. Now what? “Code ’til your fingers bleed” is a lousy strategy for individual work; it’s almost certain to fail on team projects. Instead, you should invest a little time in getting your day-to-day operations right.
First, learn how to run meetings. I blogged my rules last autumn, and believe them even more strongly today.
Second, read Stephanie Ludi’s guide to student software projects, and pay particular attention to the section titled “Student Project Myths“. If you have time, you should also dip into Karl Fogel’s excellent book Producing Open Source Software, which is available online. Both have a lot of good advice about communication and respect; I’ll talk about both issues in a future post.
Third, set up a development environment that includes version control, a bug tracker, a wiki, and a mailing list with a searchable archive. These will greatly improve your chances of meeting your schedule without burning out. If your instructor hasn’t installed something like DrProject for you, and you can’t set up things like Subversion and Trac on your university’s machines, buying a hosted domain and install Buildix. It’ll cost less than pizza for six people, and when your project is over, you can show the domain off in job interviews—I know at least one Web 2.0 company that won’t even interview anyone who doesn’t have their own domain.
Make sure everyone is using the same tools. This is just as important as setting up a development environment in the first place. If some team members are using Make from the command line, while others are building inside an IDE, or if one person is automating tests with shell scripts, while another is using Python, you will lose precious time to duplication and contradiction.
You’ll know you have it right when your working day looks something like this:
null. These placeholders let you add calls to the classes, and check that everything still compiles, and that none of the tests that used to work now fail.Three sessions like that a week, from each person on the project, plus a single one-hour team meeting, and you’ll be in great shape.
Uncategorized
Joe Gregorio has a nice piece titled “Why Are There So Many Python Web Frameworks?”, during which he creates another one. It’s a nice intro to the ideas. Meanwhile, the folks at openBC, a commercial social networking site, have been running a design competition for a new-look user page. It’s similar to what I tried to do six years ago with the original Software Carpentry project, except of course it’s successful
.
And neither, according to this animated GIF showing where Google traffic is coming from, do London, New York, or Honolulu…
Recent Comments