views:

186

answers:

5

A little background: I have the opportunity to present the idea of a public API to the management of a large car sharing company in my country. Currently, the only options to book a car are a very slow web interface and a hard to reach call center. So I'm excited of the possiblity of writing my own search interface, integrating this functionality into other products and applications etc.

The problem: Due to the special nature of this company, I'll first have to get my proposal trough a comission, which is entirely made up of non-technical and rather conservative people. How do I explain the concept of an API to such an audience?

+9  A: 

Don't explain technical details like an API. State the business problem and your solution to the business problem - and how it would impact their bottom line.

HardCode
+1 All they need to know know about an API is it allows access to their systems from other software.
Byron Whitlock
Ditto, explain what your proposed changes will do for them and their company, and what it's going to cost in terms of time and effort. Implementation details will just cloud the issue at hand.
Matthew Vines
Thank you too.@Byron: Re: Access from the outside: This is where I fear might my uninformed become scared and refuse...
christian studer
A: 

You should explain which use cases will be improved by your project proposal. An what benefits they can expect, like customer satisfaction.

stacker
+2  A: 

HardCode's answer is correct in that you should really should concentrate on the business issues and benefits.

However, if you really feel you need to explain something you could use the medical receptionist analogue.

A medical practice has it's own patient database and appointment scheduling system used by it's admin and medical staff. This might be pretty complex internally.

However when you want to book an appointment as a patient you talk to the receptionist with a simple set of commands - 'I want an appointment', 'I want to see doctor X', 'I feel sick' and they interface to their systems based on your medical history, the symptoms presented and resource availability to give you an appointment - '4:30pm tomorrow' - in simple language.

So, roughly speaking using the receptionist is analogous to an exterior program using an API. It allows you to interact with a complex system to get the information you need without having to deal with the internal complexities.

Cruachan
Thanks, great point.
christian studer
+2  A: 

For years, sales people have based pitches on two things: Features and Benefit. Each feature should have an associated benefit (to somebody, and preferably everybody). In this case, you're apparently planning to break what's basically a monolithic application into (at least) two pieces: a front end and a back end. The obvious benefits are that 1) each works independently, so development of each is easier. 2) different people can develop the different pieces, 3) it's easier to increase capacity by simply buying more hardware.

Though you haven't said it explicitly, I'd guess one intent is to publicly document the API. This allows outside developers to take over (at least some) development of the front-end code (often for free, no less) while you retain control over the parts that are crucial to your business process. You can more easily [allow others to] add new front-end code to address new market segments while retaining security/certainty that the underlying business process won't be disturbed in the process.

Jerry Coffin
The 'free' part is certainly an argument. Thanks for your input.
christian studer
A: 

They'll be able to understand the benefit of having a mobile phone app that can interact with the booking system, and an API is a necessary component of that. The second benefit of the API being public is that you won't necessarily have to write that app, someone else will be able to (whether or not they actually do is another question, of course).

Andrew McGregor