views:

989

answers:

8

I currently work for a bespoke software agency. Does anyone have any experience of how to win well priced work?

It seems there is so much competition from offshore/bedroom program teams, that cost is extremely competetive these days. I feel that it is very different compared to a software product company or an internal it department, in terms of budget.

As someone else said before, we only ever really get to version 1.0 of a lot of our software, unless the client is big enough. In which case it doesn't make business sense to spend ages making the software the best we can. Its like we are doing the same quality of work of internal it. Also a Lot of our clients are not technically minded and so therefor will not pay for things they don't understand.

As our company does not have the money to turn down work it often goes that we take on complicated work for far too little money. I have got a lot better at managing change and keeping tight specs etc. It is still hard.

+1  A: 

This is my developer standpoint :

  • version control best practices : keep the trunk clean, don't commit code that doesn't compile, commit frequently
  • continuous integration
  • unit testing (with code coverage)
  • automatic deployment on test servers
  • automatic packaging of the application
  • automate as much as you can :)

Also, hire good developers, and treat them well :)

mathieu
Good list, but they really have nothing to do with agile (or at least aren't agile specific). Everything you list is just good practice no matter what your actual development lifecycle methodology is (agile, srcum, xp, waterfall, etc.)
Scott Dorman
woops, my bad. deleted this part :)
mathieu
+9  A: 

If you are concerned with doing too much work for too little money then work on an hourly basis. Yes, that is harder to sell in most situations.

Maybe you can try a two-phased approach instead. Have a very short initial engagement where the deliverables are very specific requirements documents that become the property of the client. You risk having to compete for the actual development but you take away the risk of pricing the project too low because you will already understand what the client is like to work with, as well as, the application requirements.

Once you win the work at a fair price then use the best practices suggested by mathieu to help ensure quality and productivity which both lower the cost you incur.

Ed.T
Excelent points, we do this when we can, and if the client dosent choose us for the build, then we charge more for the spec.
optician
+4  A: 

What you described in your post, (not your question), I think is a sales, management and marketing question first and foremost.

You say that your clients are not technically minded, this will require to have a cohesive sales, consulting and communications strategy, this isn't about programming skills.

Also, if your company constantly accepts projects that are too complex or expensive for your team, and you deliver low quality products you'll sooner or later be stuck in a hole. You will attract customers that you do not want, and existing clients will be turned off by your 'incompetence' and sooner or later find another company on which they'll try to play the same price game. Those clients are worth nothing in my opinion.

You ask 'how do you win well priced work'? People are social animals, they talk with each other. If there's a market perception that you are an unreliable company, people and future clients will sooner or later know. Customers don't care whether you offered them a product at a really low price, on a too tight schedule - It's not really their error, it's you who accepted it. So once again, I think whole ordeal is a bad business practice.

I found that you really have to define tight specs on jobs with low budgets, define what you will and can deliver, tell them the price, stop your boss from offering too many long term customer discount price tags because they are too afraid to lose the client. Communicate early and often when things start to get out of hand. Write precise offers for additional features. Write these precisely down, don't rely on phone conversations (you: "that's an additional 4 hours of work", client: "ok"... 4 months later, client "what was that again??? why am i supposed to pay for this").

Now of course, one way you keep prices down is by not hiring complete morons that might be initially cheaper than better qualified programmers. This is a shortsighted approach and will fail miserably.

kitsune
+2  A: 

"so much competition from offshore/bedroom program teams" - sounds like you guys need to put some time into networking. At the end of the day, people like to do business with people, not with businesses. If you're well known and liked in your client communities, you'll be the front-runners and you'll get a better price from the confidence you have built. And referrals will give you a powerful edge - ask for them.

"our company does not have the money to turn down work" - lot's of companies have this as a start point, but ultimately you have to get past this approach The time you spend on these types of jobs stands in the way of being successful. You need to make decisions about what type of work you want to do (and who the customers will be) and just as importantly what you don't do.

John McC
Agreed, particularly on the second point. I follow the online professional freelancing community (they're mostly writers/bloggers and graphic artists, but much still applies to software development) and I can't count how many times I've seen people saying, "I started turning away low-budget stuff and practically overnight I have more higher-rate work than I can handle."
Dave Sherohman
+3  A: 

It is the relationship with your customer that will win you additional business. One developer actually stepped forward and halted a project because his sales consultant basically lied to us concerning a solution set. The developer then offered a straight forward, bare bones solution within the same budget and he delivered on time.

This guy and his team has been consulting at my company now for over 6 years. His integrity and earnest, hard working nature has been an immense advantage, and he has found quality people to work for him as his reputation has grown. His honesty is worth more than any savings I could get by shipping my company's intellectual assets overseas.

David Robbins
A: 

Sell fixed price, fixed scope work, not hourly work. That mitigates your customer's risk of an over-run (you absorb all the risk, but you're doing that anyway), and frames the project in terms of the value of the software, not the quality of the effort going into it.

Tim Howland
+1  A: 

As a consultant, I have personally moved to an hourly-rate-only model for just this reason. Burned by too many contracts-gone-wild. I feel your pain.

In the end, people who only ever go with the lowest priced proposal will be trouble for your company. While you can't be so choosy, such that you don't ever get projects, you definately want to steer clear of contracts whose supporting management are so agnostic about the actual software development process that they only look at the initial price tag for something. Usually, it's the stuff not in the contract or spec that changes the profit margins and timelines.

It's often in you best interest to be picky up front rather than lowering prices in order to receive a wave of what end up to be trouble-clients anyway. In your case, while there's always the contention between a RFP that is not as concise as a technical requirements spec, initial quotes should be understood as a general estimate based on the level of clarity in the RFP.

And I definately agree kitsune, that if your company is consistently accepting contracts that don't fit your company's development expertise or bandwidth, all that will result is overhead and bad reputation.

A: 

We are trying to build product and reuse existing experience. Comparing to UK in Ukraine (where I work) salaries are lower, but still 4-5 times higher than in India. So far best result is to get two new clients, which need similar solution, so we can offer better pricing and we are more confident in our estimate.

BTW, i checked out whywaitdigital.com and it seems that we have product which your clients might need. We do portals - editorial, B2C, Geo enabled product catalog and we use asp.net MVC also. You can find contact information on our website www.socialtalents.com

Sergey Osypchuk
Thanks for your comments, but this was for a previous company, where I was not in charge of as much. At the current company all pricing and technical specification contracts go through me, and we haven't had any problems since then.
optician