OK, so for most of my career, I''ve done everything on an hourly rate. Recently somebody kind of pointed out that if you bill by the milestone you can work on multiple projects simultaneously without any ethical problems, so you get increased efficiency. Does anyone have any good advice/URLs/books on how to do cost estimates on a project? I''ve really always kind of avoided the issue as one of those boring "business" details, but it''s looking as if I should really sort of figure it out. -- Giles Bowkett http://www.gilesgoatboy.org
Charlie Bowman
2006-Apr-27 17:28 UTC
[Rails] OT -- billing and estimating, good resources?
Estimating time frames is the hardest thing I have to do. I wish I had an answer for this question, but I don''t. On Thu, 2006-04-27 at 11:23 -0600, Giles Bowkett wrote:> OK, so for most of my career, I''ve done everything on an hourly rate. > Recently somebody kind of pointed out that if you bill by the > milestone you can work on multiple projects simultaneously without any > ethical problems, so you get increased efficiency. Does anyone have > any good advice/URLs/books on how to do cost estimates on a project? > I''ve really always kind of avoided the issue as one of those boring > "business" details, but it''s looking as if I should really sort of > figure it out. > > -- > Giles Bowkett > http://www.gilesgoatboy.org > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://wrath.rubyonrails.org/pipermail/rails/attachments/20060427/2897c134/attachment.html
Giles, I would try and avoid this if possible. The main reason is that in order to estimate the milestone, you need to specify it. Which means that the client and you need to fully document what is going to be delivered. Many times, as you develop, the client and you will need further clarification on the application which will almost always change the initial specification. My experience has been that this translates to more work than you initially estimated. I would recommend that you estimate the total number of hours and let your client know that it is just an estimate. Depending on the client''s changes, that could go up or down. Also, try to work in short iterations instead of long milestones. This "agile process" is best because you don''t need to specify the application up front. You specify small bits of functionality in very small iterations (like week or less) and that way the application can evolve as more is understood. Chris -----Original Message----- From: rails-bounces@lists.rubyonrails.org [mailto:rails-bounces@lists.rubyonrails.org] On Behalf Of Giles Bowkett Sent: Thursday, April 27, 2006 10:24 AM To: rails@lists.rubyonrails.org Subject: [Rails] OT -- billing and estimating, good resources? OK, so for most of my career, I''ve done everything on an hourly rate. Recently somebody kind of pointed out that if you bill by the milestone you can work on multiple projects simultaneously without any ethical problems, so you get increased efficiency. Does anyone have any good advice/URLs/books on how to do cost estimates on a project? I''ve really always kind of avoided the issue as one of those boring "business" details, but it''s looking as if I should really sort of figure it out. -- Giles Bowkett http://www.gilesgoatboy.org _______________________________________________ Rails mailing list Rails@lists.rubyonrails.org http://lists.rubyonrails.org/mailman/listinfo/rails
On Apr 27, 2006, at 1:23 PM, Giles Bowkett wrote:> OK, so for most of my career, I''ve done everything on an hourly rate. > Recently somebody kind of pointed out that if you bill by the > milestone you can work on multiple projects simultaneously without any > ethical problems, so you get increased efficiency. Does anyone have > any good advice/URLs/books on how to do cost estimates on a project? > I''ve really always kind of avoided the issue as one of those boring > "business" details, but it''s looking as if I should really sort of > figure it out. > > -- > Giles Bowkett > http://www.gilesgoatboy.orgThe one thing i really learned from consulting is to bill by the hour. For reasons Chris mentioned, the milestone thing never really pans out, and can leave you in periods with little to no income should a problem arise that prevents you from reaching that milestone on time. There is no ethical problem with billing multiple projects hourly, just as long as you''re not billing every project 8 hours/ day. Bill what and who you work for, keep track of everything. Also avoid fixed cost if possible. This is a hard thing to sell to many clients, especially if it''s the first project you''re doing for the client. Software development is very dynamic and it is nothing like buying a loaf of bread from the store. Make your clients understand this and you''ll both be happier at the end of it all. I also did the multiple projects at once thing,and found that it wasn''t a great fit for me, personally. It might work for you, so I wouldn''t discourage you from trying it, but keep in mind that it can create pressures that you may or may not be willing to tolerate. It also would depend on the size and scope of each project, I''d probably avoid doing multiple "large" projects at once. Sometimes you might have to shelf one for a few days or a week to reach a goal in another (this problem could be exacerbated by milestone based payments), so make sure you take that into account when making bids. Most of all, have fun! -Scott
http://digital-web.com/news/2006/04/pricing_a_web_project/ On 4/27/06, Scott Barron <scott@elitists.net> wrote:> > On Apr 27, 2006, at 1:23 PM, Giles Bowkett wrote: > > > OK, so for most of my career, I''ve done everything on an hourly rate. > > Recently somebody kind of pointed out that if you bill by the > > milestone you can work on multiple projects simultaneously without any > > ethical problems, so you get increased efficiency. Does anyone have > > any good advice/URLs/books on how to do cost estimates on a project? > > I''ve really always kind of avoided the issue as one of those boring > > "business" details, but it''s looking as if I should really sort of > > figure it out. > > > > -- > > Giles Bowkett > > http://www.gilesgoatboy.org > > > The one thing i really learned from consulting is to bill by the > hour. For reasons Chris mentioned, the milestone thing never really > pans out, and can leave you in periods with little to no income > should a problem arise that prevents you from reaching that milestone > on time. There is no ethical problem with billing multiple projects > hourly, just as long as you''re not billing every project 8 hours/ > day. Bill what and who you work for, keep track of everything. > > Also avoid fixed cost if possible. This is a hard thing to sell to > many clients, especially if it''s the first project you''re doing for > the client. Software development is very dynamic and it is nothing > like buying a loaf of bread from the store. Make your clients > understand this and you''ll both be happier at the end of it all. > > I also did the multiple projects at once thing,and found that it > wasn''t a great fit for me, personally. It might work for you, so I > wouldn''t discourage you from trying it, but keep in mind that it can > create pressures that you may or may not be willing to tolerate. It > also would depend on the size and scope of each project, I''d probably > avoid doing multiple "large" projects at once. Sometimes you might > have to shelf one for a few days or a week to reach a goal in another > (this problem could be exacerbated by milestone based payments), so > make sure you take that into account when making bids. > > Most of all, have fun! > > -Scott > > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails >
Michael Trier
2006-Apr-27 19:55 UTC
[Rails] Re: OT -- billing and estimating, good resources?
I''ll just say +1 to all the above. For almost my entire career I''ve worked for my own businesses and although there is an allure to fixed price projects, the end result is that you rarely end up in a situation where you''re ahead. If there''s no pain to be felt on the client''s side, there''s rarely a reason for expediency, which means you have to manage your money very well to make it all work out in the long haul. I work on many projects at once, currently too many, but it''s rarely a problem when it comes to billing. The biggest issue is time lost due to "getting your head around" the project you''re on at the moment. To help with billing, I run a screen capturing utility, TimeSnapper, that tracks what I''m doing and when. This is mainly just to cover myself, because you don''t want to get to the end of the week and say, "Now what was I doing on Tuesday between 2 and 4PM." I''ve also had situations where the client looked at an invoice and said "You wrote the same thing twice, are you double-billing me by mistake here." I''ve been able to look back and say, "Ah, no I didn''t communicate that well, blah blah." This is really outside of your original question, but since I''m discussing it. I prefer an agile approach and most of my clients are agreeable to that. I make sure it''s clear upfront that I prefer to work that way. I tell them look, let''s do this for a month. After that time we''ll reevaluate where we are. If you like what you see we''ll keep going. that sort of flexibility doesn''t work well on a fixed bid situation. I also involve them early on in the project. Keeping the client involved is huge for me. It helps their confidence level high and it forces them to make a personal comittment to the project as well. They''ll help you push it along a lot better if they feel involved. Good luck. Michael
Giles Bowkett
2006-Apr-27 20:25 UTC
[Rails] Re: OT -- billing and estimating, good resources?
I''ve actually been reading every post as they came in, just didn''t want to say too much because the responses have been very good, wanted to let the stream continue. Chris'' comment about the negative effect billing by the milestone can have on agile processes seems especially relevant, and I''m reading that pricing blog right now. In terms of my situation, I''ve been doing this for a long long time, but usually through various agencies, partly because they find the work for you, partly because I didn''t want to deal with paperwork or taxes. Recently though agencies have flat-out sucked at finding work while I''m getting more offers than I can handle through personal referrals. Also, one personal interest I want to explore, the company only provides developer information to actual companies (even though licensing is free). So it''s looking as if forming a company might make some sense. -- Giles Bowkett http://www.gilesgoatboy.org On 4/27/06, Michael Trier <mtrier@gmail.com> wrote:> I''ll just say +1 to all the above. For almost my entire career I''ve > worked for my own businesses and although there is an allure to fixed > price projects, the end result is that you rarely end up in a > situation where you''re ahead. > > If there''s no pain to be felt on the client''s side, there''s rarely a > reason for expediency, which means you have to manage your money very > well to make it all work out in the long haul. > > I work on many projects at once, currently too many, but it''s rarely a > problem when it comes to billing. The biggest issue is time lost due > to "getting your head around" the project you''re on at the moment. To > help with billing, I run a screen capturing utility, TimeSnapper, that > tracks what I''m doing and when. This is mainly just to cover myself, > because you don''t want to get to the end of the week and say, "Now > what was I doing on Tuesday between 2 and 4PM." I''ve also had > situations where the client looked at an invoice and said "You wrote > the same thing twice, are you double-billing me by mistake here." I''ve > been able to look back and say, "Ah, no I didn''t communicate that > well, blah blah." > > This is really outside of your original question, but since I''m > discussing it. I prefer an agile approach and most of my clients are > agreeable to that. I make sure it''s clear upfront that I prefer to > work that way. I tell them look, let''s do this for a month. After > that time we''ll reevaluate where we are. If you like what you see > we''ll keep going. that sort of flexibility doesn''t work well on a > fixed bid situation. I also involve them early on in the project. > Keeping the client involved is huge for me. It helps their confidence > level high and it forces them to make a personal comittment to the > project as well. They''ll help you push it along a lot better if they > feel involved. > > Good luck. > > Michael > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails >
Alex Young
2006-Apr-28 12:51 UTC
[Rails] Re: OT -- billing and estimating, good resources?
Michael Trier wrote:> I work on many projects at once, currently too many, but it''s rarely a > problem when it comes to billing. The biggest issue is time lost due > to "getting your head around" the project you''re on at the moment. To > help with billing, I run a screen capturing utility, TimeSnapper, that > tracks what I''m doing and when. This is mainly just to cover myself, > because you don''t want to get to the end of the week and say, "Now > what was I doing on Tuesday between 2 and 4PM." I''ve also had > situations where the client looked at an invoice and said "You wrote > the same thing twice, are you double-billing me by mistake here." I''ve > been able to look back and say, "Ah, no I didn''t communicate that > well, blah blah."It''s funny... I took a look at that, thought "That''s a bloody good idea... I wonder how I can do that in Linux?" I''m now running this script every minute, in a cron job :-) Hope someone finds it useful... ---- #!/usr/bin/env ruby require ''fileutils'' save_dir = ''/home/alex/Desktop_Snapshots'' time = Time.now.to_a day_dirname = sprintf("%d-%02d-%02d", *time[3..5].reverse) time_filename = sprintf("%02d:%02d:%02d", *time[0..2].reverse) day_dir = File.join(save_dir, day_dirname) time_file = File.join(save_dir, day_dirname, time_filename) time_img = "png:#{time_file}.png" time_ps = time_file + ''.txt'' if !File.exist?(save_dir) FileUtils.mkdir save_dir end if !File.exist?(day_dir) FileUtils.mkdir day_dir end `import -display :0 -window root #{time_img}` `ps euU alex > #{time_ps}` ----- Change constants to suit, obviously... Apologies if this has drifted too off topic :-) -- Alex
Christoph Sturm
2006-Apr-28 16:14 UTC
[Rails] Re: OT -- billing and estimating, good resources?
hey On 4/27/06, Michael Trier <mtrier@gmail.com> wrote: To> help with billing, I run a screen capturing utility, TimeSnapper, that > tracks what I''m doing and when. This is mainly just to cover myself, > because you don''t want to get to the end of the week and say, "Now > what was I doing on Tuesday between 2 and 4PM."Sounds like a great idea! Is there an application for osx that can be used for that? thanks chris
Ray Baxter
2006-Apr-28 16:46 UTC
[Rails] Re: OT -- billing and estimating, good resources?
Christoph Sturm wrote:> Is there an application for osx that can be used for that?ActiveTimer is one. http://osiris.laya.com/projects/activetimer/ -- Ray
Michael Trier
2006-Apr-28 16:58 UTC
[Rails] Re: OT -- billing and estimating, good resources?
Not a Mac guy, not yet anyway, but: * TimeSnapper - indicates they''re coming out with an osx version. * Spector (http://spectorsoft.com/) - Will do what you want but pricey. * WebPeek (http://www.melonsoft.com/products/webpeek/) - Inexpensive and looks like it will do what you want. It''s positioned for uploading via ftp, but you can just do that locally I''m sure. Good luck. Michael