(813)-421-4338

How to request a quote (or submit a project for bids)

I just wanted to take a few moments to explain to potential clients what it takes from my side for a client to request a quote. This information holds true for services like Guru and sologigs. Many of my clients make requests that are missing vital information. This missing information can make the difference between a quick turn around and adding two to three days on for clarifying what needs to be done. A good request contains only one thing, information. I can’t stress enough that information during the request a quote phase can save several hours of confusion and even get a better price. I will give a few examples.


Example One: Bad

Request: I need someone to edit my site.

Answer: I charge $25 an hour for Ruby on Rails, $35 for ASP.NET, and $18 for basic HTML. Please let me know what changes you would like to make and I can give a better quote.

Notes: As you can see the client doesn’t really get a good sense of total cost, or even a decent way to figure out how much it should be. This means the client needs to contact me again just to get a quote. This has made a difference between 1 day to get a quote and several.


Example Two: Good

Request: I need someone to edit www.mysite.com and add an image under the submit button.

Answer: I see that your site is running on ASP.NET. I estimate that this change would take 1 hour. So your total bill would be $35.

Notes: With just a little more information the quote is complete and the client can make a decision. They have their answer in one attempt, and because the change is so minor it can be completed same day.


For reference here is some information that should always be included in a request:

  • Brief description of what you want
  • Examples (like see www.google.com for how I want my site to look, or images and mock ups)
  • Expected time frame (i.e. I want this completed in two days.)
  • Point of origan. (Take www.mysite.com and do x, y, and z to it. Or, This is a new site and I need it to do x, y, and maybe z)


As a final note I would just like to say that no amount of information is too much. It’s much eayser to bid/quote on a request that has too much information then not enough. Images and mockups are always welcome and help refine the problem and solution even better. If in doubt break out paint and draw little ugly squigles where you want stuff to go. We devs don’t do any better.

Minus One point for Guru

Ok, so I am using Guru as my primary source of leads for new work. It’s working well in that function. SafePay, Project Tracker, the private DB, everything fits nicely into my work flow. However, I do have one problem with them. They never tell you who your working for. Your client eventually introduces themselves, but you never get a good description of your employer, Just their id number. I have not found a way to see their profile, or name. Most of the time I have to leave the client area in my forms blank. It’s a small minus one, but I thought I would mention it. The big problem occurs when an employer thinks you know who they are. Things like, just use my logo, or edit my existing website. Without seeing their profile or name it’s hard to find a good starting point for the bid.


I will get over it, and as soon as you tell employers they quickly give the information you need. It’s just a small minus one aginst them.

TDD from the customers point of view

All of the projects I start for my clients (i.e. I need a new website.) come with complete TDD. I get a lot of questions about what TDD is and what it means to my clients.


TDD stands for Test Driven Development. Basicaly it’s a process for developing applications where you break the application first and then fix it. That sounds a little backwords but remember the old saying, “If it ain’t broke don’t fix it.” Well it’s true.


In standard development, or designed based development, you make your application to meet the requirements of the client. Then your done. In TDD you make it so your application won’t work until the requirements are met, then your not finished until it works.


For the developer there are several huge differences and it can take months to switch from the old stye to TDD. For the customers, however, there are some marked imporovments that they see.


First the code is more solid. It will break less and have fewer bugs. The bugs it does have are less likely to be show stopping. For example an “I can’t get my website to send out invoices” is a big bug and less likely to happen, but the “I want to capitalize the i in invoice” things will still happen. Second the next developer will have coding examples. They can just look at the tests and see how your classes work. This can save you time and money when you outsource some of the dev work but not all of it. Third, when you need a new change or feature you have an instant list of what it will break (and what needs fixing) when you add that feature in. Lastly, if you document your product (i.e. making a product manual) you already have a list of things like “you can’t submit a form if the email address field is blank”. This can save you time when working with a tech writer (which again saves you money.)


Is TDD right for your product? Well if your just starting a new product I would recommend requesting the developer use TDD. If your extending or changing an existing project with TDD then using TDD is a requirement in my opinion. Why loose the work another developer has already done, not to mention that adding un-tested code to an existing TDDed project is a bit like mixing gas and matches. If your project is established and does not have TDD, moving it to a TDD project can be a bit costly, but if your having problems with bugs and such it might be worth it. The project could never be completely TDD because the original work was done before the tests. But tests can be added in after the fact and new work going forward can be TDD.


I give all my clients who’s products I start, a fully TDDed solution. But I also accept projects that are not TDD compliant. The call is left to the client. You can always use the Request a Quote form to get more information on converting your current projects to TDD (or starting new projects for that matter).

Agile Development Can Save you Money

How can a developer (or team of developers) get a custom database driven website from the clients mind to real world production in just a few (dev-)hours. Enter agile development.  Agile development can save time in several ways.


Up front you save time because the planning stages are smaller. In average I spend about 15-30 minutes in planning meetings for new projects.


During development even more time is saved by getting in touch with the client frequently. Maybe not every day, but at least at big changes to the project. This saves time by ensuring that development is inline with the clients expectations. Much less time is wasted changing the code from the way I thought you wanted it to the way you think you want it.


After the development is done your in great shape. If we work together again, there’s a clear starting point for the next changes in the project. If you have another developer step in, thats ok too, they should be able to pick up where I left off with only a little confusion about what’s going on in the code.


Using agile development techniques save lots of time in the end. Of course when you outsource to a freelancer, time literally equals money. Therefore, Agile development can save you money.


How about an example to make it a bit more clear.



Classic Development

Agile Development

Project planning meeting take 3-4 hours to determine the steps in completing a project. Project Planning meeting takes 15-20 minuets to remind everyone that theres no need for this meeting we already have our steps
We devs build class design structures and UML documents. Map potential databases and propose new technologies. 1-3 days maybe longer depending on size of project We devs build a MoSCoW list or other similar “here is what the client wants” list. 1 day.
Another full day(if not more) is lost explaining to the customer what the UML files are and how everything is going to work. Usually a translator (project manager) is required to go between dev and the client. This takes another day maybe more if the project manager gets lost in the UML The devs send a list to the customer who can confirm what they see as what they want. Usually the process is under an hour.
Developers start developing and about 2 weeks into the project determine that the UML and Database mock ups they did just won’t work. They ditch them and just go along as they want. Total time 6 weeks (4 for the new dev 2 for trying to make the UML work) Developers start developing. Because there’s no UML but instead a clear list of what the client wants. Development focuses on making sure those requirements are met. 4 weeks time is spent, but the client is contacted many times to make sure the project is going where they thought it would be. A mid-stream change is very easy.
The devs are done and QA is done. The client sees the finished product, but it’s not exactly what they were thinking. Theres a feature missing. The devs are done, QA is done, and because the client took an active role in the development process, he knows the finished product and is happy with it.
The project planner, devs, and everyone else get back together for another project meeting to discuss how to get the product from where it is to what the client wants. 1-2 days The devs get some sleep.
The cycle repeats it’s self until the client is happy or the devs give up caring. Either the project is finished and everyones happy, or the project is finished and will never see the light of day. The devs are  either on version 2 of the project, or another project all together. The client is happily using his new software.




Thats not to say the classic method doesn’t work. It wouldn’t be classic if that were the case. But by the example above, the cost of the project in time in classic mode is 57 days or more where the agile developers only took 28. Thats almost half off. For more info you can vist the wikipedia page and in the words of Homer Simpson “We’ll change it when we get home.”

The people I’ve worked with

One of the more annoying things that I have stumbled into is the fact that my “official” references list is pretty short. I believe in asking permission from someone before you use them as a reference.  Unfortunately, several companies don’t like to give references, and when they do they stick to, “Yeah he did work for me. Yes he is eligible to work here again”. Not exactly glowing recommendations, but in today’s world I can understand. What’s even more annoying is when you work for a company where you were the company was a third party vendor (making me the fourth I guess), your not allowed to use the people you actually worked with as a reference. So while others get to list 700 companies they did work for I am stuck to listing only one for the last three years (available upon request). And though your experience may be vast and your knowledge immense, your stuck looking like your brand new to the market. I thought I would fix that with this post. I may not be able to list every company I’ve done work with (due to NDAs and the fact that I respect my clients’ privacy). But I will list who I can.


The following is a list of Companies I have worked with (directly or third party) over the past years.

IBM

Dell

Masco Construction Services

Cuisinart

Investors Group

SGS Group

Information Resources Inc.

Lorillard Tobacco

Adecco USA

PRS7 Productions

Honeywell

Bombaridier Recreational Products

KidsWealth Inc.

Avon

Jackson Hewett

IHG

Tampa Bay Laptops

Law Offices of Joseph M. Paniello (now closed)

among others….


And while I’m making a big list, here is a list of “prebuilt” systems that I have experience using.


Wordpress (obviously)

PhPNuke

DotNetNuke

Flyspray

Mantus

GeekLog

Sugar CRM

Joomla

Drupal

Mambo


And for the final list of this post, A list of Languages (scripting and compiled) in which I am experienced (I can work in several others these are just the top few).


Ruby on Rails

ASP.NET

C#.Net

vb.net

Java

PHP

C(not C++)

basic

python

perl

bash

(X/D)HTML

Javascript

CSS

LUA

XML


Now that I have stated some nice hefty lists, I think it’s about time for a disclaimer. I have provided links in this document for reference only. The sites that they link to are public facing sites and are in many cases not examples of my work. For a list of official examples and references please use the request a quote page, see my Guru profile, or contact me directly.


Getting used to Guru

One of the biggest things I have had to adjust to is Guru. The Site is very different and supports many deferent ideals, from hunting for work to getting paid.


Some of the bigger ones are:


Hunting for work:

Well actually it’s not much different. The biggest difference is a built in project tracker and the fact that one person can have several different profiles. This makes potential clients look brand new to Guru when they have been using it for years.


Getting the Job:

Just like clients, I can have several profiles. I started with a basic profile and decided to upgrade to guru status because I enjoyed the service so much. When I did however, my rating, rankings and previous history went bye bye. I guess that can be a good thing, but I would have preferred my stats to be more global.


Showing your work

Sologigs required you to upload your work to them, and then they would relay it to your client. Not doing that (i.e. setting up your clients server with your code) could result in not getting paid. Guru on the other hand has a great SafePay system. The client pays first then when they are happy they “release” the monies.  Theres no need for a third party to receive a copy of the code. Like Sologigs, I find most clients want off the SafePay option as soon as they get comfortable, but it’s a great way to insure no money is lost on those first projects. (In fact some clients never stop using it.)


Getting Paid

Here again Guru out shines Sologigs. I can get my money be it a dollar or a million dollars. I have several options from Direct Deposit to a snail mailed check, and I havn’t seen any restrictions or clauses against getting my money. Thats important to me, when maybe I only get one new client this month, because six old clients needed my aid.

Leaving Sologigs

So it’s time to take freelancing from “beer money” to “primary source of income”. I have been doing odd projects for some time with the help of Sologigs, Bensgigs (it’s still in early alpha), and Craig’s list, among others. Unfortunately, Sologigs has moved more towards either the overseas market or long term contracts, and Craig’s list can’t supply a steady line of work. So what’s a little ol’ developer supposed to do.


Well at the advise of a friend and collegue I decided to give Guru a serious try. I have stopped using the others and have moved 100% into Guru for hunting down projects. I still have my old clients from  Sologigs and Craig’s list, but I am no longer looking for work in those places.


I have to say I like Guru better, and it has put me in contact with several new clients, but it’s still early, we will just have to wait and see what comes from it.

Powered by WordPress