API designing and testing for business analysts
Photo by ThisisEngineering RAEng on Unsplash

API designing and testing for business analysts

The age of APIs is clearly upon us!

APIs have become mainstream and business analysts are called upon to design them and make sure that they satisfy business and functional needs. It is absolutely critical to understand the intricacies of designing them — both functional and technical.

Business analysts and API designing (roles and responsibilities)

The first thing to understand is the need for the API and the kind of problem it is going to solve. Can we reuse an existing API or would a new API be better at solving the problem? The important roles that a business analyst would play are — drafting/eliciting high-level API requirements, creating API specs, getting it ratified/verified by stakeholders, and eventually creating a schema and sample messages of the APIs.

Key things to look out for while designing APIs

Scalability — Do you need to scale the API in the future? Do you want it to cover other functionalities in the future?

Frequency — What would be the frequency of usage? If high, you would need to consider throttling.

Backward compatibility — In simple terms, when you are creating new versions of your API, there is a need to ensure that the functionalities work with earlier versions as well. This gives time and flexibility to everyone to adapt to the new API.

Reusability — Imagine you have a requirement and you built an API. The API was very specific to that requirement while designing the structure. Now after some time, another similar requirement came up but with some new attributes and functionality. If the API is built without reusability in mind, it is a lot of work now to redesign the existing API. You could create an entirely new API, but that's a maintenance issue and a duplication of effort.

Readability — It should be readable and understandable to an analyst, a product manager, or anyone interested in an analysis role.

API Security — Authentication, authorization, encryption, rate limiting, logging and monitoring should all be factored in while designing an API.

What are some of the other aspects?


Validating the API definition with the customers

It is important to validate all the functional aspects of the API, its data elements, data lengths for the attributes, the values it can hold, etc, with customers. Even the smallest of issues can derail the correct passage or retrieval of info through the API.

Tools that you would need? (as a business analyst)

You would need a robust tool to test the API. Example — Postman. BAs should be proficient in handling such a tool.

You would need an API logging/audit portal which helps in troubleshooting issues. A BA would have a very active role to play to analyze traffic in such a portal and offer insights.

The approval and deployment process to take care of?

Once you have the API developed and tested in say UAT, it is time to deploy them and let the traffic flow. This should be carefully done with a robust deployment plan.

In the initial phase, the traffic could be opened to some credentials, and the API is tested to see if there are issues in production.

Tracking API usage. Managing defects. Change requests in APIs.

Once you have successfully deployed them, it is now time to track their usage and validate if they are being useful. If they are defects, they have to be managed and fixed. If there are new attributes that have to be added, new change requests have to be opened, and so on. The normal process one follows is with the deployment of any software product.

API design and testing is an ongoing process, and it is important to continuously monitor and improve the API based on user feedback and usage data. This will help ensure that the API remains relevant and useful to the business and that it continues to meet the changing needs of the users.

In conclusion, API design and testing is a crucial aspect of software development and business analysts play a critical role in ensuring that the API meets the business requirements and is user-friendly. A well-designed and thoroughly tested API can provide significant benefits to the business, such as improved data access and increased efficiency.

Proper error handling is another important aspect of api definitions. It is essential for identifying root cause of issues.

To view or add a comment, sign in

More articles by Pushkar Anand

Others also viewed

Explore content categories