As your marketplace of reusable APIs grows, the flywheel effect and the return on value increases exponentially through savings in IT cost. The economies of scale potential can be the driver for more strategic focus and investment toward discovery and delivery of such foundational and reusable APIs within your organization.
We can all agree that reusable APIs are good and add value toward reducing IT cost and increasing delivery speed, but how do we find the right ones? The success of discovering these strategic and reusable APIs depends on the effectiveness of the process that can be executed in a standard way and at scale across multiple different lines of business within your organization.
In the next few sections, we will look into the details of this process and approach to capture information along with relevant discovery contexts.
Context-driven discovery process
The goal of context-driven API discovery is to establish the process for identifying strategic and reusable APIs across different lines of business within your organization. The process outlines sequence of activities, relevant contexts, and information to be captured across those contexts. This initiative is primarily driven by the API program’s Center for Enablement team with participation from different roles within lines of business teams.
It’s a four-step process as described below:
Step 1: Engage
This step of the process focuses on paving the path for API discovery by identifying the right stakeholders from the participating lines of business teams, and engaging with them to capture preliminary information around business priorities, stakeholders, and the current state of the API projects. And make them aware of the overall contextual API discovery process.
Some of the aspects captured from this step are:
- Key stakeholders and their level of involvement in this process.
- Business objectives around ongoing and/or planned API projects (ex: introducing new products or services, improving customer experience).
- Inputs around priorities, sponsorship, and funding for API projects.
- Primary strategy driving the API initiative (iPaaS requirements, MDM, ETL, hybrid cloud or multi cloud, security).
- API practice maturity level within the line of business team.
Step 2: Business context discovery
This step of the process focuses on engaging with business personas in the LOB teams to gather information over APIs business requirements, positioning, and domain details. This is primarily led by business or enterprise architects and domain experts, where they apply techniques like domain-driven design for identifying API use cases aligned to business domains. The identified API use cases are captured along with the relevant business context and domain information in order to evaluate the business value for the APIs.
The business value for the APIs are evaluated by assigning weightage and scoring it on following parameters:
- API benefits
- Tactical: level of need, frequency of need, urgency of solution
- Strategic: Additional consumer projection, consumer weightage
- Competitive positioning
- Competitive advantage:
- Does this API have potential to provide competitive advantage to the business?
- Competitive response:
- If this API is not available, does it result in any loss to business or market share of opportunities?
- Competitive advantage:
- Strategic alignment:
- API strategy alignment:
- Does this API support or is part of organizations application, data or process integration strategy?
- Strategic importance of use case:
- What is the importance level of use case targeted through this API / integration?
- Level of re-use:
- What is the level of reuse this API can have — across project / across LOBs / org-wide?
- API strategy alignment:
- Business outcomes
- Direct revenue:
- Can that API be monetized directly?
- Indirect revenue:
- Rate on the level of indirect business values the API has potential to generate?
- Sales and marketing:
- Can the API be used by enterprise or partners for marketing purposes or generate sales leads?
- Direct revenue:
Step 3: Technology context discovery
In this step of the process, technology context attributes are identified and assessed. This step is primarily led by solution architects / technical architects where they capture the non-functional requirements and gauge the implementation complexity of the APIs.
The implementation complexity for the APIs are evaluated by assigning weightage and scoring it on following parameters:
- Non-functional requirements
- The complexity factor increases with the level of specific non-functional requirements to be handled during implementation.
- Is there any specific performance, reliability, security, policies, data handling, or compliance-level requirements?
- Implementation efforts
- Development complexity: Assess the level of development efforts. It can range from building simple API proxy to building complex orchestration using multiple integration patterns.
- Deployment considerations: Assess the applicable deployment strategies and considerations (like on-prem / cloud / hybrid; HA/DR, Multi-site / multi-region, etc)
- Support-level requirements: Assess the criticality level of the API and level of application support required.
- Implementation readiness:
- Resources:
- How many resources are required and are available for design and development of the APIs?
- Schedule:
- How soon the APIs are required and how is the delivery schedule?
- Confidence:
- Are the resources trained / skilled for the API development?
- Risk: Level of risk involved with this API / integration
- Resources:
Step 4: Execution context discovery
This step of the process focuses on capturing API prioritization, delivery ownership, and roadmap related information. This step is primarily led by delivery leads / program manager and solution architects where they establish execution context for the APIs.
API prioritization is done based on business value and implementation complexity scores derived from Step 2 and 3 above on business and technology context discovery. The value-complexity matrix of the APIs provides prioritization guidelines as shown in figure below:
Priority is assigned depending upon the score and the quadrant in which the API falls in and added to the delivery cycle accordingly.
From delivery and roadmap planning perspective following attributes in execution context are identifies and captured:
- Ownership: API owner(s) and project for delivery of the API
- Release timelines: Planned timeline for delivering the strategic APIs (driven by API prioritization approach)
- Current state: Lifecycle status / availability of the APIs if in progress (Dev, QA, Prod)
- Consumers info: Planned and / or projected number of API consumers
- Value generated: Potential value associated or expected from the APIs (through build and maintain cost savings as described in the Integration Value Framework)
Strategic API discovery and delivery can be a big initiative, especially when it needs to be executed at scale. Hopefully, breaking the overall process into different phases and contexts will help drive this efficiently within your organization.
The techniques and skills that can be leveraged during different phases of the process are:
- During business context: domain-driven design and value chain mapping
- During technology context: microservices design, API-led approach and integration maturity frameworks can be useful.
- During execution context: delivery methodologies like scaled agile or scrum and DevOps can be leveraged.
We at MuleSoft, work with our customers through every step of the process of such strategic initiatives. To learn more on how we drive successful outcomes, please contact us through MuleSoft Catalyst which is our unique approach that brings together outcomes-driven methodology, assets, and services to help drive strategic initiatives and transformation journeys.