A Toast to Contract Types
What is the best contract type for agile development? This is sort of like asking which wine to pair with meat or fish?
Well that may depend on whether your'e cooking with it or drinking it alongside. Even then it is largely up to the end user. Of course this may be a bit more complicated with regard to contract type since the implications go far beyond your tastebuds. I suppose the best way to answer this question is to start with your options. FAR 16 "Contract Types" provides all of the contract types available and recommendations on when to (and in some cases when not to) use them. In the interest of brevity I will not list them all here. I will discuss the two main types that seem to be circulating most predominantly within agile discussions.
Labor Hour or Firm Fixed Price?
Labor hour contracts (e.g., Time and Materials) requires the contractor to deliver their best effort for a specific number of hours typically with predefined labor categories. Firm Fixed Price (FFP) can either be a fixed price for a defined deliverable or service. For the sake of this conversation I will be focusing on the latter. So which is better? Well the answer really is, it depends. In my experience Labor Hour contracts are better when you already have an existing team (government or contractor) and you are looking to augment the existing skill-sets. In this case you assume the process is already defined and you can specify the unique skill-sets you need and for how long. But let's say you do not have an existing team, either you are standing up a new project or are rolling an existing waterfall program into an agile one. In this case you should leverage industry's expertise and not attempt to define the process, labor categories, or hours. Instead focus on your overarching objectives. I refer you to FAR 37.6 "Performance Based Service Acquisitions" (PBSA). Let the vendors bid their unique solutions to meet your objectives using a Performance Work Statement (PWS). Per FAR 39 "Acquisition of IT" use modular contracting or incremental builds for IT. In applying these concepts, under this scenario, I would recommend the use of a FFP based on a fixed price per iteration.
Allow the vendors to propose their process, their team, and their price to deliver a repeatable process resulting in functional code. This code will be based on User Stories at the start of each iteration, ensuring that each release (6-8 weeks) you are providing the end-user with useable code based on their priorities within the overarching scope/objectives.
So which is better, red or white, FP or T&M? The answer may simply be in how you intend to use it and which will provide the best experience to the end user...cheers!