Getting Started
Agent System Design is about the system as a whole and the context in which it will be executed. In a sense, the
practice is about the most high-level design decisions. Therefore, it is very important that the
stakeholders are aware of the constraints, assumptions, and possibilities within the environment and that these things
are sufficiently represented in the design.
Common Pitfalls
The design of the overall system and of its environment has great influence on the capabilities and robustness of the
developed solution.
Missing information about execution environment
Making informed design decisions requires a good overview of the execution environment. It is possible, however, that
the environment can not be fully known at design time. For instance, the regulatory framework and legal standards,
can be in flux and it is not entirely clear what the legal situation will be at the time the system is deployed. In
such cases, the designers should develop contingency plans along with the Product Owner and the prospective users of the system. These plans should include possibilities for re-scoping or for
inclusion of adaptive features that make the design and implemented solution more robust to these kinds of changes.
Unclear interfaces
External systems can include legacy systems or other systems with poorly-documented or poorly-understood interfaces.
Ideally, it is possible to acquire a test system against which the system can be tested and that allows the developers
to reverse engineer the interfaces. If that is not possible either, other solutions have to be found to ensure that
compatibility with the external component is ensured during testing and deployment. If such risks exist, the should be
documented in the Risk List and be communicated to the stakeholders early and openly.
|