Application Programming Interface (API) Spec
Application Programming Interface (API) – In any tech company level whether you are a startup or an enterprise company, task and time management is a vital point to do it right. One of many things that help us to optimize task and time management in software development phase is what we called API (Application Programming Interface) Specs. For example, you wanted to build a login feature inside your product, let’s have a quick recap what is the timeline when you develop login feature without API specs defined first. Let’s say we have a project with an estimated time of 1 month to complete.
In that project, we have a backend team, frontend team, and QA team.
- Each team has 2 weeks estimated done time in the first week
- All teams discuss to determine the API spec.
- In the first week, all teams discuss to determine the API spec.
- it doesn’t matter if this takes a long time.
After all agree on the API spec that has been made.
- all teams can start working in parallel, and all team will be ready at the end of third week.
- the last week can be used for final test and bug fixing.
in the end, we can deliver the project to the client on time as expected.
So, without API (Application Programming Interface) spec frontend team needs to wait backend service to be ready then they can start integrating the API.
Total time needed will be longer, if some bugs are raised like some data on response missing frontend team needs to wait again until backend service is fixed. In the end, the project will be completed beyond the estimated time that has been determined.
Tools Application Programming Interface
Pre-requisite to creating API (Application Programming Interface) specs is:
- You have your UI/UX design ready either in Figma, sketch, or any other tool.
- User story ticket of this specific feature where it clearly explains the Acceptance Criteria.
Based on UI design, backend developer, frontend developer and QA need to discuss 5 things:
- First, Authentication
does this API (Application Programming Interface) request requires authentication or not?
and what authentication being used? is it basic authentication ,token based authentication, et cetera?
- Second, Authorization
is this API (Application Programming Interface) only limited to specific user levels?
- Third, Method and URL
What Method used and specific URL to call?
- Fourth, Payload
Either as body payload or URL parameters, we need to define what data being sent to backend?
- And the last, Response and HTTP code per case.
On our example for login API (Application Programming Interface), we have multiple case where login is success or login is failed, or account is banned etc. so for each case will have different HTTP code and response data format and we need to clearly write it inside the API Specs.
Api (Application Programming Interface) Specs need to meet Open API standardization with API specs, every team can work in parallel without waiting for other teams to complete their part first and based on timeline shows, it could save time and optimize task and time management on development phase.
To get more popular information about startup, check others article in Blankontech.