Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Possible Duplicate:
What to plan before starting development on a project?

I have been going through the SE for quite a while but could not find a relevant answer for my question.The question is I am planning to stat a hobby project in my spare time using .NET and MVC3.I have everything set up on my box.

But the biggest problem is I don't know where to begin with

Shall I create a documentation first?
Start creating a web template?

I am really eager to start this but need some guidance . Let me know if there are any ideas.

share|improve this question

marked as duplicate by Anna Lear Sep 6 '11 at 22:07

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

3 Answers 3

up vote 3 down vote accepted

Start by writing down what it is your project will do.

Then write some requirements (for yourself) based on your high-level description.

Then start getting closer to the code: modeling and designing the database, workflows, etc...

THEN you can start coding. You might start with setting up the database, and then building some simple CRUD pages to access the data. Then you might start building the project-specific pages on top of that...

share|improve this answer
nice ideas..what about motivation how can some one be motivated for developing?I some times don't find enough motivation –  Darkin Sep 6 '11 at 20:56
@Darkin: Do you mean motivation besides "developing the hobby project becaus you want to"? I don't know if I can help you with intrinsic motivation. That has to come from within you. ;) ...Other motivators could be "learn a new skill to put on my resume", "build something cool to show off to friends", "build a tool useful to me", "have fun", etc... –  FrustratedWithFormsDesigner Sep 6 '11 at 21:04
gr8 ideas thanks –  Darkin Sep 7 '11 at 12:47
  1. To be successful in your project, you need to identify why you want to start this hobby project really. The reason may be: I want to use it to show my abilities, or, I want to enhance my programming knowledge, or, I want to show my HTML/CSS expertise, etc.

  2. Based on your objective, you will be able to see where the majority of your effort will be spent. It is a good idea to partner with someone who has more experience than you if you could.

  3. After that, you need to pick a purpose for the application (CMS, etc.).

  4. You may want to pick a methodology to use like RUP, etc.

  5. Put a project plan and update it. Define how much functionality each release will contain.

  6. You should think from a user's perspective, if you don't have an identified user yet, play the role of the user. Search for similar applications and see where you can do the same or better.

  7. Create a good OO design and database design (this is not just documentation, this is design)

  8. Create your GUI

  9. Go coding and testing

  10. Keep track of lessons learned and knowledge earned

Don't forget to have fun...

share|improve this answer

As this is a hobby project, the most important part is to have fun, and focus on those areas of the implementation. Personally, I find the design process to be a lot of fun, so I would start any project by sketching out the basic architecture. Figure out what parts of the task you want to do most, and start with them.

Use prototyping to get something up and running quickly; if you have to code away for a month before anything works, it will be less rewarding. Conversely, if you get your first prototype up and running on your first day, you can add the pieces of function that seem like they will be fun to create, and get the reward of seeing it working.

I'd suggest that unless you enjoy writing manuals, you should leave the documentation until you've got a stable feature set; the scope and function of your project is likely to change as you build it, which would quickly make your documentation obsolete.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.