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, no registration required.

I've searched high and low for a good answer to this question, and as far as I can gather it's just a combination of standard organization tools (keeping a routine, good folder structure, extensive documentation) and making sure you think about each step before you move on.

I'm planning on starting a new web application very soon, and I'm finding the volume of choices I need to make almost overwhelming. Although I usually create applications using Django I've been considering the alternatives recently. Also, things like which host should I go for, which version control system should I use and which bit should I start on first are driving me crazy.

I was wondering if anyone had any professional advice for me on how I can better manage what I'm doing so that I get this project off on the right foot.

share|improve this question
    
Looks like this might be better asked on the pm.stackexchange.com forum –  blueberryfields Apr 8 '11 at 4:14
    
@blue It's still on topic here and we generally try to not migrate to beta sites. –  Anna Lear Apr 8 '11 at 4:50
add comment

migrated from stackoverflow.com Apr 7 '11 at 23:46

This question came from our site for professional and enthusiast programmers.

3 Answers

professional advice for me on how I can better manage what I'm doing so that I get this project off on the right foot.

just a combination of standard organization tools (keeping a routine, good folder structure, extensive documentation) and making sure you think about each step before you move on.

More important than organization tools is this secret.

Break the job up into small pieces.

Prioritize. Start small. Get something to work. Expand later.

Every time you finish one thing, release what you have. Examine the backlog. Prioritize again.

Rework is inevitable. Don't overthink the future hoping to prevent or avoid rework.

Work in very small steps.

share|improve this answer
    
"Rework is inevitable. Don't overthink the future hoping to prevent or avoid rework." How I wish this wisdom were more common. –  Lakshman Prasad Apr 8 '11 at 8:25
    
Thanks very much, this makes a lot of sense, and in a way I've known it all along. I plan to break the project down into very small steps and complete them as I go along. –  Lewis Flude Apr 10 '11 at 11:17
add comment

Don't forget about Unit testing. Try to come up with unit tests before you actually develop anything. This way, your code will be automatically documented, you will have a better design, and finding bugs in your code will be a lot easier once your code is huge and many other cool features.

If you're not already familiar with Mocks, I strongly recommend you read about it. There are multiple mock libraries under python, but I choose mox, which is developed by Google.

Read this page to get an idea of how to write testable code: Writing Testable Code

Also, make sure to go through the following thread: Favorite Django Tips & Features?

As far as version control systems, it depends on which one you're more comfortable with, but I personally recommend using git.

For the hosting you can try webfaction, if shared hosting is what you're looking for. If you're going to have a lot of users, then Google App Engine, or Amazon would be good choices.

Don't forget that Google can help you a lot on finding best tools for every technology you want to use.

share|improve this answer
    
Once again, some really good advice. I can be getting on with looking up Mocks and reading those articles now. Google have some wonderful tools, and I'm keen to find out what else they have on offer for a Python developer such as myself. –  Lewis Flude Apr 10 '11 at 11:21
add comment

There's no way I can provide a complete answer to your question in one sitting, so I won't even try. Instead I'll refer you to a previous answer that I found very useful. Beware, it is 660 pages long... http://www.stevemcconnell.com/rd.htm (oh, and you have to pay for it too :) )

share|improve this answer
    
Woah, 660 pages, that's a lot of pages. I'll check this out! –  Lewis Flude Apr 10 '11 at 11:21
    
McConnell is one of the best authours on software engineering, I'd highly recommend his other books too and his website has a lot of good resources. –  Steve Haigh Apr 10 '11 at 12:35
    
Wonder why it came out the year after Windows 95? –  user1249 Apr 10 '11 at 21:29
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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