Software development has transformed in recent years. Traditional software development methodologies are disrupted and becoming obsolete as customer awareness of technology continues to grow.
We live in an application economy in which customer feedback drives every aspect of business. The application economy has also transformed every business into a software business. Companies in any type of industry have more software developers today than they ever had in the past decade. Modern applications allow businesses to get closer to their customers with offerings that can be accessed 24-7, anywhere and on any device (personal computer, tablets and smartphones). This adds another layer of complexity for companies. They now need to focus equally, if not more on the complete user experience of the applications along with the core services they offer. Customers need to ‘love’ the application they are using, not just ‘like’ it. This small difference may have huge impact on revenue for a business.
APIs are key contributors to the application economy and core to modern applications. Traditional software development approaches did not allow development teams to focus on API design as the release cycles were generally long and customer feedback was usually focused on functionality of the system rather than API design. Customers did not have a chance to work with the APIs in early stages of development. This created a huge gap between the provider’s design and customer expectation. The result was dissatisfied customers which translated into loss of revenue for the company.
With the introduction of agile software development methodology, software development teams now have an opportunity to demonstrate a working model of their application to customers multiple times during a release cycle. This allows teams to make required adjustments based on the feedback from customers and new requirements from changing markets. This approach can be combined with technologies such as service virtualization and applied to APIs, allowing customers to use the APIs even before they are developed. This forms the basis for API-driven development.
API-driven development allows development teams to develop applications with APIs as the key focus. The APIs used by the application are given highest priority and developed to meet customer requirements. The API forms the foundation for the other application layers like the user interface and integration points. Within the agile framework, the APIs are developed in increments and are regularly reviewed by the customers and suggestions are made. This approach works well to ensure all customer requirements are considered. However, there are still some challenges such as:
• Significant effort to include design changes
• Uncertainty around performance
• Inability to be used for integrations till the complete API is ready
Download the full report to learn more about API-driven development and how to bridge the gap between providers and consumers.
Sponsored by the Council for Technical Excellence (CTE).