Complete a technical review during the Research and Discovery phase and do ongoing technical discovery throughout the Digital Delivery lifecycle.
Overall philosophy
Use an existing Vets-API if it will provide what you need to meet core service functionality and performance standards.
Consider the possibility of creating a new API, if existing Vets-APIs would deliver an impaired experience (either for end-users or for the VA business).
- Tip: Talk to a DSVA engineer if you’re considering a new API.
Questions to ask about existing APIs
- What kinds of simplifications would be required when building against this service?
- Do you anticipate needing additional branch logic or conditions?
- What data is available in the service beyond what you would likely need (i.e., is it too bloated or complex for what you need)?
- Is there data you think you’ll need that’s not included in the service?
- How reliable is it?
- Are there decent routes available for resolving issues between sources?
Questions to ask about creating a new API
- Is the data underneath changing frequently?
- For Getting or Posting data, will it have to communicate with more than one system?
-
Is there a lot of logic needed to transform the data into what you need for the product?
- If you’re leaning towards creating a new API, who should do that?
- Should someone build a middle service?
- Should it be a direct connection?
Ongoing technical discovery
Conduct ongoing technical discovery as your team learns more about the problem you’re trying to solve — and the solution you’re planning to build.
Questions to consider
- Does the order of the screens mean any changes to schema or suggest difficult data handling?
- If users need to upload something, how will the uploaded information be sent and/or stored?
- Can you submit structured data directly? Or do you need to create a PDF for submission? Both?
- Are any required backend services frequently (or predictably) unavailable? What kind of messaging to the user will you need?
- How well does the design line up with the technical limitations uncovered in discovery?
- Are there parts of the design that need to be reconsidered due to technical issues?
- Is there additional back end development that needs to happen before the project can proceed?