Fog Creek Software
Discussion Board

Software contracting

Does anyone have any links to sites with some good information on software contracting?  Best practices, things to avoid, things to do, yadayadayada.

Googling for this type of stuff is always hard -- all the links I get are for contracting companies, when I'm not at that level yet.

Thanks for any help.

Tuesday, March 9, 2004

Asking for advice on "software contracting" is like asking for advice on "industry" in the late 18th century.

What exactly are you trying to figure out how to do?  Attract clients?  Write proposals?  Gather requirements?  Run a project?  Code?  Test?  Deliver?  User support?  Accounting?  Recordkeeping?  Branding your business?  Incorporate?

If you can throw out a more specific question, I'll bet there are some smart folks here who can answer it!  ;)

Tuesday, March 9, 2004

Ah-hah, good point.

I'm on the side of the project that has a big stack of abstract requirements and a general idea of what needs to be done.  I can cut the project into pieces and layout what needs to be done, but what I need is some advice on "how I go about finding contractors to do the specific tasks that I need done."

How do I find quality contractors?
How do I write usable specs for the contractors?
How billing is handled?

And how does one deal with the problems that result, whether they be schedule slipping, poor quality code, etc etc.

Basically, does anyone have any books or resources on how does one hires and manages a team of contractors and ensures that the end project is on time and Doesn't Suck?

Tuesday, March 9, 2004

And to further qualify what it is, its a development project that will involve some web/database/biling work coupled with a bit of semi-embedded work.

Tuesday, March 9, 2004

The best bet is to find somebody whose work you know already. Find another company who's hired outsiders to do some development work for them, and get their recommendations for who's good in your area.  If you are a member of some sort of business networking group or the local chamber of commerce, that's probably the best bet.

Barring those resources, drop me a line privately with your project concepts.

Clay Dowling
Tuesday, March 9, 2004

> ensures that the end project is on time and Doesn't Suck?

The guy who wrote mutt wrote "All mail clients suck. This one just sucks less." Personally I think he could have said "All software sucks. This just sucks a little less."

Everything sucks.
Wednesday, March 10, 2004


I'd recommend two books to read first:-

1. Leading a Software Development Team,
Richard Whitehead.

2. Rapid Development, Steve McConnell
(and have a look at the Construx website).

Both have a good discussion of software project issues - the first is a very 'hands-on' treatment; I like the author's writing style too.

I'm not sure exactly what you mean by 'contractors' - will you be hiring people to work under your direction, paid by the hour and probably all under one roof - or are you farming out the production of well-defined deliverables to be worked on off-site?

If it's the former, you are responsible if things don't go according to plan - so you will be managing these people, more or less as if they are permanent staff.

If it's the latter, you and your contractors will have to agree on terms for payment, delivery, conditions for whether the deliverable is satisfactory and penalty clauses.

Regarding the hiring of paid-by-time contractors, whatever you do, don't just farm this out to an agency / internal HR and start filling up the vacancies with the first ones that get sent to you. You will regret this later as it is very likely that a proportion of these will be unsuitable.

That's not to say don't use an agency or your own HR department, though: they are invaluable for wading through 100+ initial telephone calls with potential contractors - but you are going to have to get involved with the selection process yourself: and this will involve getting some code written by the contractor before and / or during an interview (preferably both). You will be astounded at the gulf between what is claimed on people's CVs and what they can actually do in practice.

I'd pay a *lot* of attention to what I would loosely term as 'personality issues' during the interview - do you think they would commit to the work and would they fit into the kind of team you have in mind?

I'm a firm believer in 'gut feeling' at the end of an interview - don't try to persuade yourself to hire someone if you have nagging doubts after the interview.

If you are using an offsite contractor firm, look for a portfolio of work (and references to go with it). Get them to submit a bid and see how this is done, what questions are asked. I would be very wary of anybody who can automatically beat all of their competitors in price and time, or who just says 'yes, no problem' to all your requirements and contract terms.

Enjoy the reading!


Friday, March 12, 2004

*  Recent Topics

*  Fog Creek Home