In software development, a developer is usually paid either annually (by fixed salary) or by the hour. For the most part, it seems like this works. However, I've seen industries where professionals are paid for the task. For instance, in agriculture a worker is paid per bushel. In sales, a worker is paid by commission most commonly.
Would it be possible to pay a developer by delivered item? How could we calculate what a single "item" of software would be? Would this incentivize more efficient development? Would it be more/less fair to the developer, or the employer? Would this be similar/different from a "results-only-work-environment"?