6

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.

2
  • Looks like this might be better asked on the pm.stackexchange.com forum Apr 8 '11 at 4:14
  • @blue It's still on topic here and we generally try to not migrate to beta sites.
    – Adam Lear
    Apr 8 '11 at 4:50
7

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.

2
  • "Rework is inevitable. Don't overthink the future hoping to prevent or avoid rework." How I wish this wisdom were more common.
    – lprsd
    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. Apr 10 '11 at 11:17
2

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.

1
  • 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. Apr 10 '11 at 11:21
2

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 :) )

3
  • Woah, 660 pages, that's a lot of pages. I'll check this out! 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
    Apr 10 '11 at 12:35
  • Wonder why it came out the year after Windows 95?
    – user1249
    Apr 10 '11 at 21:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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