Starting a project from scratch: how and when to distribute the load?
My friend and I will be developing a new commercial web project. We have a kind of document that lists all the things we want to have and we are wondering how best to start coding it. The fact is that we either used the software in solo mode, or joined some projects that were in the middle of development, and responsibilities are easily shared between team members. We are now starting from scratch and there are obviously things like database design or some significant functional development, no one to be a demonstrator for any of us. We also have a seven o'clock difference between the hours.
Again, we know how collaboration works, we have all the tools we need, and we know how to distribute the workload when all the basics are done, but how to get started in a distributed team when everything depends on the results of this work? If there is no database, how can my side get started with the user control panel functionality?
So how do you guys get started with such a development process? At what point can you easily start spreading the workload among team members?
I'm wondering if Joel and Jeff can share their experiences on this matter, given that Stack Overflow was developed by a distributed team in a fairly short time.
Thank!
source to share
Also consider Extreme Programming. Not all details match this, but there is a technique that will greatly benefit you: organize your project into small "user stories" that describe one little end-to-end functionality, define a "perception test" that tells you when the user is a story, and then work over one user story at a time or one at a time.
source to share
heed the wisdom of Charlie Martin , but also at least with a gentlemanly agreement between you and your responsibilities and obligations to complete and commercialize.
It's one thing to say yes, I'll help you write whizbang.com, but it's quite another to commit to supporting it, supporting it financially, selling it, and making it work as a business.
source to share
I've worked with distributed teams before. The most important thing you need is clarity about your goals, steps 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.
- Check out the tools at 37signals.com, they have some good collaboration tools, and the basic ones are free.
- You can use crossloop for screen sharing to correct the situation and discuss them.
source to share