Priority in Domains and TODOs



Setting Domain Priority


Why Prioritize TODOs?

Prioritizing the TODO items provides a more structured approach to manage workloads by aligning task prioritization with overarching project goals and Domain importance. This enables handling TODOs with greater efficiency and focus, ensuring that critical tasks are aligned with their objectives.

The architectural events are mapped to business goals that can be assigned to the different domains.

The business goals are:

  1. Velocity: a measure of the amount of development work that can be completed in a development cycle. For example, dead-code slows engineering velocity so a dead-code event will have more priority if the goal of the service is to increase velocity.
  2. Scalability: the ability of a service (part of the application) to handle increased workloads without increasing the available resources for the entire application. For example, common classes reduce scalability, so an event introducing common classes will have more priority if the goal of the domain is scalability.
  3. Resiliency: the ability of a service to continue to function under a faulty state. For example, cross domain dependencies reduce resiliency, so a TODO from a new dependency event will have priority if the goal is resiliency.
  4. Cloud Suitability or Readiness: a measure or assessment of the amount of work required to prepare the application to migrate to a cloud infrastructure. Here the assessment is done via an integration with Windup - an open source analysis tool that checks cloud migration readiness for Java applications. All Cloud Compatibility events are mapped to this goal.

How are Priority TODOs Organized?

The prioritization of TODO items is done using two levels of sorting:

  1. Domain Priority - Every domain can optionally be assigned with a priority (1-high, 2-medium, 3-low). The TODO items will first be sorted by the Domain Priority
  2. TODO Type according to the Goal assigned to the Domain - Each domain can be assigned with a specific goal, reflecting the user’s objectives for that domain: Increase Velocity, Increase Scalability, Increase Resiliency, and Cloud Readiness (only available for Java Apps).

Setting a Domain’s Priority and Goals

The above dialog box is used to configure a Domain. It allows you to:

  • Edit the Domain’s name
  • Set the Priority of the Domain
  • 1 = High
  • 2 = Medium
  • 3 = Low
  • Assign the main goal of the Domain
  • Increase Velocity
  • Cloud Readiness
  • Add notes or comments about the domain

There are two ways to open this dialog box:

  1. Click the pencil icon next to the domain name in the Domains list
  2. Hover over the sphere of the domain in the domains graph and click the set priority icon on the sphere