Hacker News new | ask | show | jobs
ASK HN: How to plan and manage a large web project?
3 points by shacow 5862 days ago
Hello fellow HN readers. I wonder if I can spare 5 minutes of your time, if I may please. I have a very large personal web project that I will be developing over the next 6 months. This project is much bigger then anything I've ever done before, and I am really struggling at the moment. I want to plan and organise my project in a efficient and logical way so when I hire/fire coders others, and myself can understand everything that is to be done. Usually I just jot things down in a notebook, or write a to-do list for the smaller projects.

I am thinking of using a brainstorming application to help me with this, have each feature of the site on its own branch and then branch off of that with its comments/solutions. Could you suggest any good applications for helping me with this? Or is there a better way to plan ideas/solutions?

I also need to start looking at svn/cvs repositories as I have never used one before to manage revision control of a project. What is the best way to start with this? I have done a little research into subversion and git, but really I am clueless as to which I should learn/use.

The last thing I need is bug tracking, I usually just write down bugs I find in my applications in my notebook and fix them as and when. But seeing how large this project is, and the use of multiple programmers. I want to keep everything in one place, so we have an up to date list of bugs and a history of old bugs, should they give us trouble at a later date. What can you suggest for me?

I don't know if I have asked the right kind of questions here but I have a million things running through my head at the moment that I just want to manage and develop this project in a correct and professional way. If you have any suggestions on the planning, and management of a large web project could you please share them with me?

Thank you very much for your time and I hope you have a wonderful day!

4 comments

Couple of notes from my perspective, not really webapp specific but still relevant, at least I think so.

- Settle in on a VCS subversion and git are two front runners to get you started on. Of course others exist but those are two big ones. Each has its own benefits and disadvantages.

- For bug tracking, JIRA has a starter package that is $10 per app for like 10 users. Some people like JIRA/Fisheye/Greenhopper etc, others don't so use your judgment. I think for the price and the functionality you get it's a decent deal. Beware though if you grow past the number of users it's a little bit of sticker shock.

- Look into either Agile type strategy. I've used it on several projects and it has served me well. Scope is way beyond this post or comment so I'll leave you to research. Again mileage will vary based off team experience and leadership.

Just a couple of thoughts. Hope this helps!

Derek

Sounds like going with an Assembla.com account might be perfect for you. I'm in no way affiliated with the company, but most of the issues covered can be handled using their tools.

I have one git repo with all of my code. Have milestones and tickets related to specific code points. Not to mention that their Scrum/Messages tools are great.

Thanks for the link, do you know of any alternatives? I would like to shop around a little. Assembla seems to have every feature, I wonder if Github does something similar? I am yet to make an account on their site.
Just buy these two books. You won't use everything in both, but they will give you enough ideas and perspective to make them both very worth reading:

"Making Things Happen" - OReilly "The Art of Agile Development"

I recommend:

1. using branches as short-term scratch spaces for new features. Branches should not be long-lived and if they are they should be regularly merged, unless you are deliberated separating them for some reason (eg 1.x-stable, 2.x-stable etc)

2. You owe it to yourself to get familiar with a SCM ASAP. I use and recommend git. I also use and strongly recommend a paid account at github. Yes, paid! Then give your programmers access and watch it all come together there.

3. I use and recommend lighthouse. I used to dislike it but it's just so frictionless and easy to use that I can't think of anything else I'd recommend.

Thank you, I am reading up on git and subversion at the moment. I was thinking of hosting a copy on our own server for the time being just to test things.

What could I use instead of brainstorming? I have looked at microsoft project, but it's not really what I'm looking for.