Friday, March 4, 2011

Starting project from scratch: how and when to distribute the workload?

Hello,

My friend and I are going to develop a new commercial web project. We have a kind of a document that lists all the things that we want to have and we are wondering what is the best way to actually start coding it. The thing is that we used to develop software either in solo-mode or join some projects that were in the middle of development and responsibilities are easy to distribute between members of a team. Now we're starting from scratch and there're obviously things like database design or some essential functionality development, absence of those would be a showstopper for either of us. Also we have like seven hours time difference between us.

Again, we know how teamwork works, we have all the tools we need and we know how to spread the workload when all the groundwork is done, however how to start the groundwork in a distributed team, when everything depends on the results of this groundwork? If there's no database, how my party can start working on the user dashboard functionality?

So, how you guys would start such a development process? At which point you can easily start distributing workload between team members?

I'm wondering if Joel and Jeff could share their experience on the subject, given that Stack Overflow was developed by distributed team in quite a short time.

Thanks!

From stackoverflow
  • Try listening to the earlier episodes of the Stack Overflow podcast for insight into the SO dev process.

  • Also, look into Extreme Programming. Not all the details fit this, but there is a technique that will do you great good: organize the project into small "user stories", which describe one little bit of end-to-end functionality, define an "aceptance test" that tells you when a user story is done, and then work on one user story at a time, or one each.

  • heed the wisdom of Charlie Martin, but also have at least a gentleman's agreement between the two of you as to responsibilities and commitments for completion and commercialization.

    It's one thing to say "yeah i'll help you write the whizbang.com site", but it's quite another to commit to maintaining it, supporting it financially, marketing it, and making it work as a business

    : Yes, we do have an agreement and will form an LLC eventually, when the thing will take off. All we need now is a way to start the damn thing! :)
  • I have worked with distributed teams before, The most important thing you need to have is clarity of your goals, milestones and responsibilities. There are many tools on the net to help you with this project:

    • Google code < You can use this as your code repository.
    • Checkout the tools at 37signals.com, they have a few good tools for collaboration and the basic versions are free
    • You can use crossloop to share your screen to fix things and discuss them.
  • I clarified my question a little bit.

0 comments:

Post a Comment