Productization impacts value creation in a number of ways. This article is going to explore just one of these impacts.
Business acceleration is in many ways achieved though team autonomy. The basics have been covered for many years now under the Lean, Agile and DevOps paradigms. Practices like cross-functional teams, automation, Kanban WIP Limits, Cloud / SaaS platforms, containerization, waste elimination and many others serve to optimize the delivery pipeline. There are some common themes across all of these practices:
- They enable and/or require autonomous solutions and teams
- They decrease reliance on overbearing delivery process and related handoffs
- They establish greater levels of both delivery & operational accountability
API can also help to establish clear boundaries around the solutions and teams that support individual business capabilities. In this context, APIs become the primary means of exchanging data across these autonomous capability-based solutions.
Unfortunately, most companies embracing APIs still rely heavily on cross-team collaboration when integrating systems:
Today’s business ecosystems are highly integrated and unfortunately none of these practices directly address the reality that team autonomy is eroded as ad-hoc demands for integration appear from other teams. Typically, the requesting team has known about the need for some time but the providing team had very little systematic or prior knowledge of the requirement. Individual teams generally do not take into account backlogs of other teams when planning development iterations.
The net result is that when unexpected requests for integration arrive backlogs get reprioritized & part of the delivery team needs to be pulled from the planned delivery line to facilitate the integration process (even if no development is required!). This frequently results in iteration scope changes, unplanned developer time expenditure, cross-team contention and slipping schedules.
Perhaps most significantly, this model tends to force the need to synchronize key releases across dev teams resulting in quite a lot of coordination complexity. All of this amounts to tighter coupling of dev teams (e.g. diminished autonomy), additional complexity, timeline uncertainty, and dramatically reduced agility.
These realities are compounded when the requesting team is an outside partner or client.
APIs provide a solution but only when productization is adopted. Look for the next article in this series to see how this works!