Examples of assessment problems

Assessment is required daily during development. The questions can be fine grained and technical, or they can be broad and more strategic. Nevertheless, they both require answers based on the reality found in the system.

Here are some examples of assessment problems.

Fine grained technical problems:

  • The interface of component A should only be called by component B
  • All calls to the server interface should be error handled on the client side. The error handling can happen either directly, or by means provided by the used frameworks on the client side.
  • Package naming should follow a dedicated grammar scheme.
  • All Session Beans from certain packages should be annotated with the dedicated annotation for security.
  • The GUI code should not hardcode the opening of a dialog, but it should work with a dedicated mechanism for notifying the user.
  • Projects dependencies depicted in the configuration files should match the actual code dependencies.

Coarse grained technical problems:

  • Where is this component used in the system?
  • From where in the code is a certain database table accessed?
  • In a certain system written in a domain-specific language, are there calls to a service that are not guarded by an error check?
  • Which entities from the domain model are annotated with a certain meta-data?

Broad, strategic problems:

  • Is the current system good enough to build the next release on, should we refactor it, or should we build a new one from scratch?
  • Is the system we are about to buy going to integrate with our existing infrastructure?
  • How difficult is it and what does it cost to migrate the system to a new technology?
  • How difficult is it to replace a part of the business logic with another one?