Business AnalysisSystem Analyst

How does a system analyst develop and maintain the specification for integration interaction between different systems?

Pass interviews with Hintsage AI assistant

Answer.

Background:

The need for clear integration specifications arose with the development of companies' IT landscapes, as their business processes began to rely on numerous different software products and services. In the 1990s, paper documents and manual exports were widely used for data exchange, later EDI exchanges and integration platforms emerged. Today, interface specifications play a central role in organizing effective interaction.

Problem:

Without a well-developed integration specification, misunderstandings between teams, incorrect data processing, rework, or even business process failures often occur. The question arises: How to document and maintain the specification so that both parties (or multiple parties) understand the requirements unambiguously throughout the system's lifecycle?

Solution:

The system analyst develops the integration specification using commonly accepted description standards (e.g., OpenAPI, WSDL, XSD, BPMN), templates, and modeling tools. The specification must include:

  • Message structures, data formats, error handling rules
  • Description of business interaction scenarios and security requirements
  • SLA, monitoring, and event logging requirements
  • Guidelines for updating and maintaining the documentation with each release

Key features:

  • Clear delineation of responsibilities for each participating system.
  • Use of formal interface description languages.
  • Support and updating of specifications throughout the integration lifecycle.

Trick Questions.

What is the difference between synchronous and asynchronous interaction of systems, and is the asynchronous approach always more resilient to failures?

Asynchronous communication does indeed reduce application coupling and can be more resilient due to queues, but it is not optimal in all scenarios: synchronous interactions are better for requests with high responsiveness or transactional requirements.

Is the description of the API and data structure sufficient for a complete understanding of integration between systems?

No, it is also necessary to capture business scenarios, error handling models, monitoring requirements, SLAs, delay tolerances, and versioning agreements.

Can we rely solely on verbal agreements between teams when changing the integration format?

No, all changes must be formalized in the specification and agreed upon in writing; otherwise, there is a risk of misalignment in implementations and potential incidents.

Common Mistakes and Anti-Patterns

  • Version mismatches of specifications between teams
  • Neglecting to document exceptions and non-standard situations
  • Failure to update the specification after implementing changes

Example from Real Life

Negative case: The customer changed the data format in the API, notifying only the partner team via email. Developers from another integrated system did not account for this, and part of the transactions stopped processing. Pros:

  • Quick implementation of the change Cons:
  • A failure occurred, urgent data recovery was needed, resulting in lost time and money

Positive case: The analyst created a change request, updated the Swagger specification, notified all interested teams through internal chat, and awaited confirmation of the implementation of changes. Pros:

  • All parties were informed about the changes in advance
  • Reduced risk of errors Cons:
  • More time was needed for coordination