The biggest issues with ADM contracts are whether you finish up with a product that performs required function at an acceptable cost and is delivered in a complete or usable form on time; and then how easy and expensive it is to maintain and adapt / add functionality.
Hence in my view key provisions are those related to requirement definition (especially scope): the frequency and nature of testing and acceptance; the pricing mechanism; clarity of ownership for the end product; supplier responsibility for fixes or improvements; the nature and level of ongoing charges; rights and consequences of termination.
Within all of this, you need to consider factors such as changes to requirements / level of uncertainty (eg should this be an agile development?); extent of collaboration / joint working; supplier incentives / bonuses for on-time or on-spec delivery; etc.
Scope of work, escalation path but most of all SLAs since SLA sort fo shape the deal.