Please help me find a good Drupal developer to pick up the pieces
June 11, 2014 6:11 AM   Subscribe

Ok hivemind, you've helped me once before, I hope you can do it again. I volunteer for an NPO that hired a less than competent development shop to create a very specialized membership database using Drupal. That includes migrating from a Filemaker database and a whole bunch of thoroughly detailed specifications for enrollment, payment systems, membership management, member profiles, various back office reports, event calendaring, conference scheduling, etc. etc. These specs describe the functions we want and I think they are clear. What's next for us? How do I find someone good to finish the job? How does bidding for a job like this work?

After advice here (Thank you!), consulting with a lawyer, and lots of trying to get up to speed with software development and github, and various wrangling over the past couple of months, we are rid of the first guys and ready to get the project finished. We have a github repository of the partially completed code and it is installed on a test server. We need to hire a consultant to complete the development to the specifications.

We have one person in our organization who is knowledgable about Drupal and in a position to work with and evaluate the work of developers, but doesn't have the time or maybe all of the necessary skills to complete the project.

I have one developer who I think may be able to do the job. He was brought in by the previous shop at the last minute to try to fix things and catch up a bit before they took a turn and cancelled the work agreement. So, he is up to date on work done (or not) previously and knows the specs. He no longer works for the failed development shop and is available to work for us. In conversations he indicated in general terms what he thought some of the failures were and seems to have some good previous clients. He communicates clearly and that is a huge plus. Looking at the commits on github, I know that he was brought in late and does not seem to be responsible for the earlier problems.

We may want to hire this developer. We'll ask him for an estimate. However, we're an NPO with all kinds of auditors, rules, government oversight, and a large membership to be responsible to. I can't just go with this guy. I will need to open this up to competitive bids. We plan to take the most critical subset of the uncompleted specifications and contract for just those to be finished (with properly documented milestones this time!). If that works well, we'll add more of the "dream" specs step by step. How does this work? And, where can I go?

Do developers bid on this kind of work if I make the specs available and some kind of access to the partial code by making a clone of the github repository available? Or, is this a situation where we should hire and pay a developer a fee to evaluate the work to be done as part of biding on the job? I know I don't want to do my job "on spec". I guess that just figuring out how much work is to be done is not a trivial task. Do developers take on that kind of evaluation work on jobs and then bid as just part of doing business? Or do they bill for that process of looking and seeing?

We're happy to pay for good work and want this to be fair all the way around. Any guidance or advice would be much appreciated. Is there a kind of marketplace for putting this out to bid? Or, do I have to rely on referrals and give them the information needed to make an informed bid?

I have no idea how to find a good developer to work with over the long haul. Hope you all can help.
posted by Gotanda to Computers & Internet (8 answers total) 3 users marked this as a favorite
As a frame of reference, the good people that I know that do Drupal work on contract charge $80-120/hour. As a management note, they tend to prefer to do a quick daily meeting with their clients (either phone/video chat or a quick e-mail) that covers what they did the day before, what they intend to do that day, and what if any concerns they have. That *can* help keep things from going badly off the rails.

Depending on how close to complete the existing code is, how well it was written, if there's documentation, and how buggy it is, some developers might just want to rewrite the whole thing from scratch. If your preferred person is up to speed on the existing code and thinks that it's salvageable, that might be a compelling reason to go with him.
posted by Candleman at 6:34 AM on June 11, 2014

The open marketplaces for this kind of thing (e.g. oDesk) tend to be very lowest-bidder-driven and oriented toward quick, smaller projects. Based on your previous question I think it will be very difficult for your organization to evaluate the relative quality of bidders on these sites and I would strongly recommend against trying to complete your project this way.

Certainly get some referrals from people who have had experience hiring this kind of work out at other NPOs, and ask them for bids. They'll probably want to see the existing code and the specs but I wouldn't think they'd charge you for making the evaluation.

However, in your situation, if you have a person who is already up-to-speed on this particular codebase, with whom you feel you can communicate well (this is very important to the success of a project like this, as you have probably figured out by now), and whose work you've been able to see and evaluate already, I think you would need a really compelling reason to go with somebody else. As Candleman says, taking over an unfinished, non-functional, abandoned, and maybe undocumented codebase, with (I assume) no ability to consult with its original authors, is not going to be a very appealing gig for most development shops, and a new developer who is coming in cold may want to start over rather than take it on.
posted by enn at 6:52 AM on June 11, 2014 [1 favorite]

While hiring the on-deck developer may make a lot of sense, it sounds like you need to go through the process of at least getting/reviewing bids from other developers regardless, so I'll address that part of things.

There are developers who specialize in this sort of cleanup job (my ex was one), but they tend to work on referral only, not look on job boards or any sort of marketplace. Talk to other NPOs, talk to people you know at other organizations. Use your network to get the names of developers they've had come in on cleanup jobs. Talk to those developers and get more references. Get a feel for the kind of projects they've worked on and how they worked with their clients.

If you cast a bit of a wider net and go for developers in general rather than a cleanup dev, I'd recommend putting the job out there as if it were brand new. You can mention that there's existing (dead, possibly undocumented) code to work with, but most (if not all) developers are going to want to start from scratch, so you'll want to approach the project as such. Lay out your minimum functional requirements, your phase 2 desires, expectations, etc., and let them create their proposal based on that. This way there are no surprises - no "well, we weren't expecting THAT in the old code" charges, and your organization gets what they want, done right. (References are still key, though.)
posted by okayokayigive at 7:05 AM on June 11, 2014

This may not be want you want to hear but in my experience as a developer (15+ years as a mostly contract web developer, plus friends' experiences), bids are for those on the extreme ends of the spectrum: one end is bodyshops or individuals who cannot get clients to compensate them hourly, e.g. bottom-rate overseas developers who cater to bottom-rate clients on oDesk/eLance/etc, and the other end is super expensive full-service consultancies and industry stars who triple or quadruple a realistic bid to ensure healthy error margins. There is just no money in the bidding process for the developer... the client always wants more more more and why not, the bid is set, right? I've never known a quality freelancer who did not swear off bidding after just one or two projects, unless we are talking the latter "superstar" type of course.

In fact, most bottom-rate bodyshops and developers get around this problem by bidding lower than everyone else just to get in, and then surcharging for everything, effectively making the project hourly. Would you be ok with your guy doing this to work around your NPO rules? In my personal opinion, that's the best route to take. Otherwise, I am afraid this re-write is not going to end well for you.
posted by rada at 8:23 AM on June 11, 2014 [3 favorites]

I work for a Drupal shop - a very good one in fact, and we work primarily with non-profits. We've done several projects like this, picking up the pieces after another development shop screwed up. If we can get our hands on the code base before we write a proposal it's generally a good thing for the bid, as we can see just how bad the code is and don't have to guess as much about what we might be getting into.

However, I'm going to agree with the above that said starting over may be cheaper and more efficient for you. It depends on how much the original shop got done, and how bad their work is.
posted by COD at 9:03 AM on June 11, 2014

Hi All, I know it looks silly to mark every answer as "best answer" but you have all been truly helpful. I can go back to our Board of Directors with some advice I can trust and I hope start to put everyone's mind at ease a bit. And, I have to face about 100 members end of the month and explain how we're going to "fix this." You've got me started. Thank you!
posted by Gotanda at 2:45 PM on June 11, 2014

What version of Drupal did your initial developers start in?

Drupal 8 is right around the corner.
posted by spitbull at 7:06 PM on June 11, 2014

That's a long corner though. We don't expect to even consider putting a client on Drupal 8 until next summer.
posted by COD at 4:54 AM on June 12, 2014

« Older What's going on with my girlfriend's wifi/LAN?   |   How do I get google to distinguish me from another... Newer »
This thread is closed to new comments.