Time Budget Proposal Review

Events happening in the community are now at Drupal community events on www.drupal.org.
greta_drupal's picture

Hello, ladies.

I give way too much time away; trying to give better (truer) estimates. Would appreciate any and all who might give this proposal (time estimates only) a quick glance. Seem about right? I think that it is conservative -- best case scenario. (This project has likelihood of serious scope creep!)

Feedback appreciated. Thank you!

http://TymeForChange.org/DRAFT_Proposal_redac.pdf

Tyme

Comments

.

michelle's picture

If those estimates are accurate then I'm even slower than I thought. gulp

Michelle

No, I think that I just

greta_drupal's picture

No, I think that I just (inadvertently) way underestimate. Please feel free to correct me. That is what I need.

Problem is that I rarely get to do anything uninterrupted, so I don't get very good actuals.

I do tend to give away lots of time, as I work pretty much exclusively with small nonprofits. But, I would like to have better standard time proposal for my own reference, if nothing else. Meaning, a good realistic base from which to work. [I think that would make a great FAQ piece, for others.] Then, I could decide how much time I am willing to "donate" and even add it as a line item.

Wish one could get a tax deduction for time donated. Although, with my current approach, I seldom earn enough to have to pay taxes. gulp

Tyme
Drupal Sitebuilder for permanent Hire

.

michelle's picture

I'm not in a position to correct you since I'm in the same boat with the exception that 99% of what I do is unpaid. :) I'm curious about the answers you get because I always wonder how my speed stacks up against pros. I know quite a bit about Drupal and can do a lot of things but I feel like I do things so sloooowly. When I saw your estimate I was thinking there's no way I could get that done anywhere near that fast!

Michelle

Good Base Time Budget Proposal

greta_drupal's picture

Well, I've built a dozen or so Drupal sites in my 3 years of Drupal, and I don't think that I am too far off...except for maybe theming. That is so hard to predict because it is rather limitless, and relies so much on the whim of the client.

But, for example, simply installing/configuring/skinning a prebuilt theme isn't much time. Creating and customizing a base theme, more time. Building custom template files for various type pages and elements, can go pretty much anywhere.

(I also use the Drupal UI for everything, as opposed to Drush. ...yet.)

Would be nice if as a group we could come up with a realistic time estimate guide for a "standard" Drupal site: basic Drupal install/configuration; install/config of the typical contrib mods (Views, CCK, Date, Calendar, etc.*); skinning of prebuilt theme.

 * Not to include the huge config-hog modules like Panels, Context, Display Suite, and such.

That should be useful for many, I would think.

I attended a budgeting/estimating panel at DrupalCamp Atlanta, but the speaker works for a big agency and they only do like six-figure projects -- their budgets for job estimating are more than my entire project budgets. Doesn't help the lowly independents who do smaller projects as a team of 1.

Stick to this, if nothing else

allie micka's picture

Stick to this, if nothing else:

Then, I could decide how much time I am willing to "donate" and even add it as a line item

If you work so hard for free that you burn out and get a "real job" then you're no longer there for the client. If you find that working for free all the time and begin to scale back or prioritize work that pays better, then you become to the problem. If they develop a skewed understanding of what things can take and can't find similar resources later then Drupal becomes the problem. If you try to retroactively explain this by asserting that you gave them unquantified amounts of valuable work that they didn't pay for then you haven't changed the problem you started with, but you've made the problem emotional by compounding it with some unfixable guilt thing.

Compare this with telling people up front that you'll spend a certain amount of time (fact), and that you've got a certain hourly rate. Then tell them that you're willing to discount some of your time because you really appreciate what they do (flattery!) and want to work with them AND respect their budget (more truth). Everyone wins here, with good feelings all around. If this becomes unsustainable then you can dish out more honesty and scale back on the free stuff with no hard feelings.

I applaud you for the self awareness and transparency of making this public, and you've gotten really valuable insights in return. I'm guessing that you won't totally change your ways and start billing for every minute. Some people enjoy feeling like they've gone above and beyond, and some people just can't bring themselves to charge for time spent learning. If you're transparent about these facts then it makes you a good developer.

Billing donated hours

mollyavalon's picture

I am not good about keeping track, but I do try. When I do a project that's heavily discounted or even free, I send the client a bill showing hours worked, discount, and total cost to them (sometimes $0). That way, they understand what they have received. (This is especially useful for clients who think building a website is the same as writing a Word doc.) Plus if they want to give me some free advertising, they can tell people what I really charge.

Learning Time ... Another Kettle of Fish

greta_drupal's picture

Learning time? That is a whole 'nother nonprofit area for me. I really don't charge for my time to learn something new. And, I never hesitate to take on something new (for example building Omega subtheme). If it is the right tool for the job, I just go for it.

This project involves to new things: Yelp and Helios Calendar integration. And, I haven't really found any useful posts about other's experiences -- and my Drupal posts unanswered. (The Drupal modules for this integration don't do anything but an RSS feed.) I've probably spent at least 20 hours researching and running some test ideas for these two items alone. Without even the benefit of a contract or deposit. But, if it couldn't be done well in Drupal, didn't want the client to end up with a platform less suitable for their needs. Figure that knowledge is good for me to know. Plus, if I can pull it off as I envision, it will make a great case study! A small community contribution.

Learning time

michelle's picture

I think that's a big part of it for me, too. I spent probably a couple hundred hours building a business directory (which is why I gulped at your estimate) but a lot of that was going down dead ends and backtracking and finding better ways and so on. If it's something I know how to do, I can do it a lot faster than when I'm feeling my way through something the first time.

Michelle

I'd be interested in hearing

micnap's picture

I'd be interested in hearing some Drupal pro responses to this. I've only created a handful of sites with Drupal and can typically figure out what I need to with some serious scratching and digging or working around something if necessary but don't consider myself anywhere near a Drupal guru. But for myself, I'd at least double the entire estimate just for torubleshooting to get the contrib modules compatible and working as needed.

Or maybe I'm just way slower too.

Hoping others chime in.

Mickey

If you're curious about my opinion

karens's picture

This is just off the top of my head, but here's how I react to your proposal:

1) Setting up Drupal core does not take a huge amount of time. And that is hardly ever the place where I get bogged down. So your 10 hours seems fine to me.

2) As someone above noted, theming can be a black hole. It depends on how much you have to change to get from a base theme to something that looks like their wireframes, and then it depends on how many times they are going to re-hash the implementation and ask you to do it over (which can be a LOT). I have had clients that literally took pixel rulers and measured every element down to the pixel and expected it to be reworked if it was off by even a pixel. If you have a client like that, take your estimate to do it once and multiply it by 2 or 3. And you also have to test across browsers, which is time-consuming. For the small sites I do, I just tell them they need to find a nice pre-existing theme and live with it to avoid going down that rabbit hole. At the very least you want to get them to agree to a 'best effort' that won't be re-hashed over and over. Promises to mimic the current site are likely to lead to LOTS of time fixing tiny things.

3) When you talk about setting up content types and fields, it depends on how well they are defined. I usually end up spending some time figuring out exactly what they need, which often involves going past the wireframes and asking to see the data that needs to go into the new site to be sure you know what kind of data needs to be stored as well as how it needs to be presented. I almost always figure a minimum of 6 hours per content type, and more than that if they're complicated.

4) You threw a ton of contributed modules into one big bucket of 6 hours. I think that where you are way way short. Views alone can take several hours per view to set up, test with real data, and confirm that the client has what they want. A few of the other modules are just 'enable and go', but most aren't. You might easily use up several hours per module to be sure it is configured correctly and then test that it behaves the way you expect with real data. Anything that involves authentication or access control (I see oauth on the list) will take extra work to thoroughly test that it is actually working as it should. And realistically, you will run into modules that have bugs or that won't quite do what you needed them to do and you'll have to either patch them, work around them, or throw them out and look for other solutions.

5) You don't have any estimate for migrating in data from the current site. That is one of the things that is often forgotten or under-estimated. You have to figure out HOW you're going to get data from the old site to the new site, which often involves making sure you can keep them synced up during the period when you're developing the new site. And clients often don't understand their current data as well as they think they do. After you build a site that has places for the data they TOLD you they had you will often find out there are more fields that no one remembered or some data that doesn't fit the pattern you were expecting and you have to stop and sort that all out.

When you get done with an estimate that takes all these things into consideration, it is likely to be much higher than anyone expected it to be (because that's what it actually takes to do those things). The response then would be to see what functionality can be pushed off to a later phase and what modules could be eliminated (at least initially).

Thanks for the thoughtful

greta_drupal's picture

Thanks for the thoughtful reply, KarenS. Your's is certainly a good opinion to have included. Good points.

As for contrib module configuration, most of these are 'enable and go'. Others like Nodewords or Page Title take a few minutes to set with text defaults; WYSIWYG takes a few minutes too; and I always create a new Date format with a space between the "am" and "pm" ...wink / nudge. This part of the estimate doesn't include building the actual Views. I have a separate sprite for that, budgeted for 31 hours (with LOTS Of views).

Since most sites are new for Drupal, the content has to be migrated "by hand". I leave this up to the clients (copy/paste). Gives them good practice. I usually migrate over only enough to demo. (Most of this contnet will be business directory created by users.) How do others handle content migration for non-Drupal or static HTML sites?

Honestly, the most time-consuming part of a site like this (with lots of Views) is just plotting the approach -- content types, taxonomy, Views, etc. Always hard for me to bill for that: "Thinking...20 hours" I'm sure that the big firms have an elogant line item title. But, again, small nonprofits don't tend to think about planning budget.

Look forward to more opinions, experiences.

Content Migration

greta_drupal's picture

Good reminder about content migration. Should put that in the budget even if client will be fulfilling this obligation. That way they see how much they are saving doing that themselves.

Learning time

thomas.dutch's picture

This is a valuable discussion. I agree that theming can be tricky to estimate, together with learning on the go. I am just starting and aren't planning on charging the client directly for 'learning time', as is see this as investing in myself (e.g. the company). What i will do is make an estimate of total learning time (per month/week), put a very fair price on this, and let this somehow come back in my overall hourly rate so that all clients chip in a little. Except of course when i am forced to learn things that i probably won't be using in future projects, in that case i will tell the client his demands are very specific and i have to charge extra for this.

By the way, Seth Brown from Lullabot also posted an article about this with some helpful tips on how to manage your time. Directed at bigger projects it does includes a file with estimates per module/page/etc., see: http://www.lullabot.com/sites/lullabot.com/files/Lullabot%20Scoping%20Document.ods.zip


http://www.drupalnieuws.nl - Verzamelplek voor wereldwijd Drupal nieuws

I think this looks pretty

megan_m's picture

I think this looks pretty good to me, other than the issues others have pointed out with Views and some of the contrib modules. I usually break my estimates down into smaller chunks, so no individual item would be more than 10 hours or so. I also break things by feature sets or site sections depending on the requirements, rather than by Drupal's functionality (e.g. Views would be bundled with the functionality they support). On top of that, I have two columns - one for configuration, one for theming, and estimate the hours separately (plus one for custom development if needed).

One other part of your proposal that stands out to me is launching, including configure client web server. I often find working on unfamiliar servers to be a "black hole". I always include a note in estimates that set-up time depends on the server configuration etc. If it's an unfamiliar hosting environment I always need time figuring out how to use the control panel, and getting them to give me SSH access, etc... I would pad that a bit in case there's something about their server environment that causes problems.

I've only been doing this for less than a year so I'm still working things out as I go. The more projects I do, the more accurate I can be with estimating. I don't know if complete accuracy is even possible without spending too much time creating the estimate. I usually find that I'll be over in some areas and under in others, and it usually balances out.

Web Server Configuration ...true dat.

greta_drupal's picture

You are right about web server configuration being a potential 'blackhole'. In my case, I'll be hosting on a shared server that I have used many, many times. Excellent options for DIY configuration and easy to get the jail shell enabled, if necessary. And, I develop the sites on my own shared hosting plan; so porting over is just a matter of copying files (zipped) and db to the clients account. This also makes the site available for client to start migrating/creating content pretty much as soon as I get the basic install done. That way they are working on that while I move onto the more labor-intensive tasks like building views.

Drupal for Good

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: