Chris Nizzardini, Salt Lake City Utah, Web Developer Specializing in LAMP+Ajax Since 2006

My Blog

Here is my awesome blog.

what to know when taking on a new development project

I’ve put together a simple list of expectations when I take on a new web development project, some must-haves, and questions to ask clients. This article can help you in giving your client an accurate deadline, projected cost, and will make it much easier on yourself and your client.

Know the clients business
Listen to your client describe to you what there business is, what they do, and where they are going.

Make sure you know what the clients goal is
You wouldn’t write a web application for yourself without knowing what the primary goal is would you? Well don’t just start hammering out some code without understanding your clients goal. They are investing money in you and knowing their goal will help make a good return on investment for them.

Ask what the client likes about the current system and what they don’t like
Knowing what the client likes and dislikes about the current system will give you a good idea about what you need to do and don’t need to do.

Avoid rewriting existing code
This could very easily be number 1 on the list. I’ve burnt myself before rewriting some absolutely horrendous code. Yeah it was ugly, yeah it was a pain to work with, and yes it was a hack job making it do what was needed, but remember that code has been tested and most likely works. If its not working then go to the client and explain to them why it needs to be rewritten. Explain to them it will cost them extra etc… I can’t stress this enough, rewriting existing code is opening a can of worms.

Use a development server
You’re walking a tight rope if you’re coding on the clients live server. The margin of error is small, you could delete files, tables, and crash the server. Don’t do it. You can get cheap web hosting to use as your development server very easily.

Proper QA
If you’re a private consultant you will most likely be doing the QA yourself. For bigger projects I will hire a temp to do some QA testing, but for most projects I do it myself. Make sure you test every single feature and think of scenarios out of the norm to test for. Another good idea is to make what I call a testing matrix. A testing matrix is writing a list of all possibilities and then trying all those different scenarios. This will help you find a lot of bugs.

Project management software
If you’re not using project management software your managing your project. Even Excel will do while your small. You can write your own, but yuo should focusing on developing for you clients. I suggest taskfreak and for invoicing I suggest bamboo invoice. Both are free and open source.

Getting money up front
You should collect at least some money up front to avoid getting burned to bad and to ensure that the client is serious about the project. Some clients won’t do it up front. Its up to you in the end.

This should help you get started, meet deliverable’s, and keep your clients happy.

Leave a Reply