![]() |
Planning your project
Before you start on a project for a client, you need to give a quote (or estimate) and a deadline. To do this accurately you need to map out the project and what you will do.
Why plan projects? Planning a project gives you an accurate time and price estimate, it also gives you guidelines on what to build during development. It can cut your development time by a large amount because you won’t have to worry about bad design. Lastly, there is nothing worse for a large application’s design then having a programmer who added as he went. Planning a project will make the overall design far better.Is there a right or a wrong way to plan a project? No. There is no best or worst ways to plan out a project. The contents of this article are what I have found works best for me. As you should do with all tips/tutorials you see, play around and find what works best for you.Enough of the ever so interesting before talk, lets start planning! Each of these steps should build off the last. For example purposes, I will use a fictional image hosting site to map out. Step 1. What is the project? In plain English, outline what the sites general purpose is and all features. This should be confirmed by the client before you start to avoid errors.Example The purpose of this site is to safely and securely upload images to the server. Users can manage their uploaded image if they register and log in. Admins have complete and total access and can manage everyone’s images. Step 2. In English, what are the functions this site would do. This is where you in more detailed talk, go through all the features. You generally don’t need to show this or any further steps to the client. This step isn’t completely necessary if you are going to map the rest out in the same sitting. If you are going to have a pause in between this and the end of the next step, do this to save you the time of think it all up again.Example Uploading –Basic html upload page followed by a php script to see if they are logged in the upload it accordingly. Step 3. What files would be used and what would they do Working off of step 2, create a list of every file you will need.Example SystemClass.php –Has the user and SQL cleaning class. The user class includes authentication for both users and admin.End User 3.1 Database design (done at the same time) While you are going though the files, compile your database design.Example Table userInt idTable images 4. How much time with expected debugging would this take You now have your database designed and your files mapped out, go to each file and assign how long it should take you, assign one fee for the database (that includes designing it here)Example SystemThat totals to 11hrs, you use that to give your quote or estimate to the client. The art of estimating how long a part will take is a tricky one. If you are not sure how long it will take, break the file into every part you can think of and think how long each part will take to code. If you simply don't know, estimate up. Chances are if you don't know how long it will take you (or exactly how to build it) you will have quite a fun time debugging the file.Class.php –2.5hrsEnd User When you start programming, you use what you made as a guideline to program your projects by. Go from file to file creating the script. When it is finished it should be almost exactly as you mapped it out. Happy programming! Find this article and others like it at http://tips.justanotherportfolio.com/ |
Good to see a topic about planning. Many people just open their editor and start coding right away. When working on big projects this is wrong.
|
Very nice tutorial indeed. Nice blog too, I've bookmarked it. ;)
Also, does anyone notice that even when you think you've planned everything out to perfection, that you find some answers at the oddest times? For example, you'll be doing something completely unrelated to programming and suddenly it hits you, a faster and more efficient way of solving a problem you've been dwelling on for the past few days. Happens to me all the time! The odd thing is that the aforementioned scenario happens more often than not while I'm showering. ;) |
No ****** way! Many solutions also hit me while showering. o_O... That's scary man!
|
Thanks, was a good read.
|
Thanks for all the compliments.
|
Thank you boss!
|
Amazing, thanks for sharing Ken.
I'll add more to this thread when I actually use it. :-) |
solutions usually come to me whilst im trying to sleep, very annoying :-D.
Great article |
Sleep is the best time for thought as well, I think sketch :-) !
|
Nice article.
Lol, sleep time and bath time here, can't help but think about work in those 2 situations :-( |
Quote:
I tend to try and keep some of my day for thinking though, although thinking about programming rarely fills the spot :-) |
Nice post on planning!! What i have seen when doing some projects is the use of a project management system. This really helps to get more opportunities of getting new projects as the client gets a better impression of professionalism. Though we use <a href="http://www.proofhub.com/">Proofhub</a> Proofhub as our project management system you can use some but this 1 is the best from all that we have used and at a good price. I realy thank these products to make project management such an easy task.
|
Hola Santana :-) Is Proofhub your creation?
|
| All times are GMT. The time now is 03:00 AM. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0