Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decide on how to handle Bidirectional Decisions Dependencies #187

Closed
Monstarrrr opened this issue Jun 15, 2024 · 6 comments
Closed

Decide on how to handle Bidirectional Decisions Dependencies #187

Monstarrrr opened this issue Jun 15, 2024 · 6 comments
Assignees
Labels
decision For tracking decisions

Comments

@Monstarrrr
Copy link
Owner

Monstarrrr commented Jun 15, 2024

  • Impact: 🟢 Low
  • Status: 🔓 Deciding...

Context

I don't see how we can avoid talking about other components in that architecture and how they would be affected and the restrictions they set on our choice of backend framework.

You're right, should we reference the dependencies and impact then?

Decision Drivers

  • Scalability
  • Ease of use
  • Time cost

Considered Options

Impacts & Dependencies sections

Example

File for Decision-B in the case where Decision-C & Decision-D are dependent on Decision-B and Decision-B is dependent on Decision-A :

Decision-B.md (Frontend framework)

## Impacts
- #42 (Decision-C): API fetching method
- #55 (Decision-D): State management
## Dependencies  
- #30 (Decision-A): Backend framework
  • 🟠 Worse scalability
    • Difficult to scale without having github action, which themselves can be challenging to maintain
  • 🟢 Better ease of use
    • Result is super easy because we get direct links between impacted decisions
  • 🟠 Worse time cost
    • Takes too long to setup and maintain compared to the benefits ( both short and long-term), assuming the impact of missing a dependency after a change in decision isn't causing major problems down the line

Related section

https://github.com/joelparkerhenderson/architecture-decision-record/tree/main/locales/en/examples/programming-languages#related

  • 🟢 Better scalability
    • Doesn't require github actions to scale

Decision Outcome

Chosen option: Related section
Reason: The alternative is more time consuming to setup properly

@Monstarrrr
Copy link
Owner Author

I don't think option 1 scales at all using decisions-as-issues.
While we decided against using decisions-as-code before, mainly due to maintainability concerns.

@seporterfield
Copy link
Collaborator

Is our decision making such a strict process that we really need to worry about this?

It's fine to mention interplay between decisions. Could option 2 be "Mention in relevant arguments"?

@Monstarrrr
Copy link
Owner Author

Monstarrrr commented Jun 19, 2024

It's fine, it can be that and some related section like https://github.com/joelparkerhenderson/architecture-decision-record/tree/main/locales/en/examples/programming-languages#related

@seporterfield
Copy link
Collaborator

Nah yeah you're right, a link and a short description of how the current decision is related to another suffices would be nice.

@Monstarrrr Monstarrrr assigned purple-void and unassigned Monstarrrr Jun 21, 2024
@Monstarrrr
Copy link
Owner Author

Monstarrrr commented Jun 21, 2024

Add your confidence scores then move to Done.

@purple-void
Copy link
Collaborator

Nah yeah you're right, a link and a short description of how the current decision is related to another suffices would be nice.

yes, this makes sense

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
decision For tracking decisions
Projects
Status: Done
Development

No branches or pull requests

3 participants