Hi All,
I guess this is an expansion on the discussion at: https://community.apigee.com/questions/19380/one-api-team-or-many.html
Is there a recommendation or set of principles on the best ways for companies to “federate” API development within an organisation?
Quick definition (as I understand it - happy to be corrected): Federation is the ability of an organisation to allow the information sharing between “semi-autonomous” and “decentralised” teams.
Basically, how do Teams A, B, C and D know what each other are doing so they don’t all build the same thing?
Obviously governance is an essential factor in successful federation for an organisation, apart from the “roles” we have identified for a governance committee (Policeman, Teacher, Referee), we also discuss the establishment of a Centre of Excellence to help organisations federate.
Thinking about an insurance client I am working with and using the example of a “VIN Check” API - (Vehicle Identification Number) - this is a feature which would likely be created by multiple API Development Teams (and consumed by most App Developers).
You might have the VIN Check API in your:
- Auto Sales Product
- Auto Rental Product
- Roadside Assistance Product
“Generic” APIs such as a “VIN Check” need to be identified and defined somehow - meaning if it satisfies certain criteria, it could or should be “generalised” from the API Product and created as it’s own “product” (for want of a better term).
Teams can search their developer portal for APIs which have already been developed and published, but w****hat is the best way for a team to have visibility around which APIs which are being planned or are in development - before they are launched to the developer portal? Is this even possible?
Clients I’m working with have expressed an appetite for a “governance framework” they can adopt and/or best practices around this.
I get each organisation is unique, which makes a “one solution fits all” approach unlikely, and is why I am thinking principles or a generic framework (which can be used as a base) could be a good starting point.
What other tools do we use or can recommend? Again, the developer portal is obviously a great place for teams to start their search for published APIs, and Confluence would also be useful for visibility around what is in the pipeline (given it is up to date and people know how to use it), but I’m looking or something more "structured”.
For organisations who are new to "the API way of thinking” or don’t have a culture of “Confluence power use”, it is like saying “Here are some bricks, build your house”, which is both overwhelming and likely to fail.
Thanks in advance.