Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

When working on a software project for a client, there are two ways in which this can be billed - fixed fee project, or per hour billing.

Does the choice of payment terms effect the design methodology you would choose to use?

For example, one of the benefits of Agile programming is that changes can be made very quickly, and there is less emphasis on documentation, particularly with regards to design up front. This is great for per-hour billing, but when working on a fixed-fee project, you want to avoid changes as much as possible, or bill extra for the additional work created.

In such a case, documentation and initial design become more important, as they form a great way of agreeing the exact scope of the project, and can be used to show deviations from design and therefore extra charges.

Do you tend to use different design methodologies for fixed-fee and hourly rate projects? If so, what particular methodology do you feel works best for fixed-fee projects?

share|improve this question
add comment

2 Answers 2

This is great for per-hour billing, but when working on a fixed-fee project, you want to avoid changes as much as possible, or bill extra for the additional work created.

Or, and this is the Agile way of thinking, you adjust scope over time from "what the customer initially thinks they want" to "what the customer really needs." We do this by setting a fixed-fee up front based on a specific scope, then removing things they don't really need to make way for things they didn't know at first that they wanted.

Of course, this is entirely dependant on the release early and often principle of Agile. Without that, they will never see the product grow and see where their own priorities lie.

Also, this requires that you either sign a contract which allows for scope change (note: not creep) or you need to keep having them sign for individual changes to the original scope.

Another way to look at this is that it is per-hour billing but with the customer agreeing to how many hours you spend up-front. If they then want something that they descoped in favour of something they hadn't originally thought of, it will cost them more.

share|improve this answer
    
The only way I can think of agreeing scope is by having some kind of technical specification. Whenever the client discovers an issue during testing and changes the scope, you must go back to this document and update it, then update the software, then retest. Doesn't this then become the waterfall method? –  Gavin Coates Jun 14 '11 at 8:22
    
Agree scope in terms of behavior, not implementation. The "As a... I would like... So that..." story format is very good for this. And my point is that scope should change before code is written. Write the basic "there isn't even an app without this" functionality first and ask them what they want next. Write that and ask again. Sometimes it will be something that was never in the original scope; that is when you say "ok, so what do we lose in favour of this?" –  pdr Jun 14 '11 at 9:10
add comment

I think billing terms matter less than the type of customer you have. I've run fixed price and "per hour" projects with Agile and they have worked quite nicely (with customers I could approach and work with through the changes/iterations/etc.)

In both cases, you need to track the "hours worked" (note- this does -NOT- mean timesheets or recording every actual hour worked) and compare against the "estimate"

Also, I strongly encourage you to develop in smaller chunks and deliver frequently. You don't -need- to incorporate customer feedback. Delivering constantly develops a good cadence and good practices which will help the project in general.

Bottom line - No, I don't believe payment terms affect the methodology selection (it would be a 4th order effect at best :-)

share|improve this answer
    
I'm not really familiar with time-tracking methods. How do you bill for a number of hours without tracking them, via timesheets or some other recording method? –  Michael K Jun 13 '11 at 15:47
    
If a person is on your project 100% they cost 40 hours a week. What if they spent 10 hours in meetings not directly related to the project? It doesn't cost any less. Tracking this at any detail level other than "full time is 32hrs/week or 40hrs/week" isn't very useful unless you are tracking hours to improve your estimates. Prob room for more discussion tho, sounds like a new question! :-) –  Al Biglan Jun 13 '11 at 17:08
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.