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

Design and document the categorization workflow #99

Merged
merged 3 commits into from
Sep 9, 2024

Conversation

matt-bernhardt
Copy link
Member

@matt-bernhardt matt-bernhardt commented Aug 29, 2024

This PR is a joint effort between all of us in EngX to design and document how the categorization workflow is going to function. It includes the following elements:

  • An ADR which summarizes several prototypes which we designed (to varying levels of detail) to allow categorization to take place.
  • An updated classes.md file to incorporate the chosen design in the context of our already existing classes.
  • A summary explanation of the categorization workflow

This PR also includes a small side effect of a change to the work activity analysis explanation.

Please note. I have not yet squashed this PR down to a single commit. The earlier commits on this branch include some additional documents, which I've attempted to summarize into the files named above. As part of your review, please consider whether I've omitted details from those contributing documents which should be added back to the final changeset.

Developer

Ticket(s)

https://mitlibraries.atlassian.net/browse/TCO-69

Accessibility

  • ANDI or Wave has been run in accordance to our guide and
    all issues introduced by these changes have been resolved or opened
    as new issues (link to those issues in the Pull Request details above)
  • There are no accessibility implications to this change It makes me nervous to check this box, but I'm not sure how we might evaluate the accessibility of these prototypes at only the model level.

Documentation

  • Project documentation has been updated, and yard output previewed
  • No documentation changes are needed

ENV

  • All new ENV is documented in README.
  • All new ENV has been added to Heroku Pipeline, Staging and Prod.
  • ENV has not changed.

Stakeholders

  • Stakeholder approval has been confirmed
  • Stakeholder approval is not needed

Dependencies and migrations

NO dependencies are updated

NO migrations are included

Reviewer

Code

  • I have confirmed that the code works as intended.
  • Any CodeClimate issues have been fixed or confirmed as
    added technical debt.

Documentation

  • The commit message is clear and follows our guidelines
    (not just this pull request message).
  • The documentation has been updated or is unnecessary.
  • New dependencies are appropriate or there were no changes.

Testing

  • There are appropriate tests covering any new functionality.
  • No additional test coverage is required.

@mitlib mitlib temporarily deployed to tacos-api-pipeline-pr-99 August 29, 2024 15:35 Inactive
@mitlib mitlib temporarily deployed to tacos-api-pipeline-pr-99 August 29, 2024 18:09 Inactive
@mitlib mitlib temporarily deployed to tacos-api-pipeline-pr-99 August 29, 2024 18:58 Inactive
@mitlib mitlib temporarily deployed to tacos-api-pipeline-pr-99 August 30, 2024 14:15 Inactive
@mitlib mitlib temporarily deployed to tacos-api-pipeline-pr-99 August 30, 2024 20:52 Inactive
@JPrevost JPrevost temporarily deployed to tacos-api-pipeline-pr-99 September 4, 2024 17:59 Inactive
@JPrevost JPrevost temporarily deployed to tacos-api-pipeline-pr-99 September 4, 2024 18:03 Inactive
@JPrevost JPrevost temporarily deployed to tacos-api-pipeline-pr-99 September 4, 2024 18:44 Inactive
@mitlib mitlib temporarily deployed to tacos-api-pipeline-pr-99 September 6, 2024 17:46 Inactive
@mitlib mitlib temporarily deployed to tacos-api-pipeline-pr-99 September 6, 2024 19:05 Inactive
@matt-bernhardt matt-bernhardt changed the title WIP Prototype diagrams Design and document the categorization workflow Sep 6, 2024
@matt-bernhardt matt-bernhardt marked this pull request as ready for review September 6, 2024 19:12
Copy link
Contributor

@jazairi jazairi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I support this decision. Thanks to both of you for your hard work modeling and analyzing the many options. :shipit:

JPrevost and others added 3 commits September 9, 2024 10:06
** Why are these changes being introduced:

* We need to sketch out how the categorization and validation processes
  will work in this application, given the choices we've already made.
  We've talked about a few different options in general terms, and the
  time has come to start getting specific.

** Relevant ticket(s):

* https://mitlibraries.atlassian.net/browse/tco-69

** How does this address that need:

* This change includes some initial content added to the class diagram
  (where we started talking through this options). It also includes new
  variations on the class diagram describing two different prototypes.
  Each diagram is accompanied by a description of the workflow for that
  approach.

Each approach was also accompanied by a quick implementation, but those
are in a separate branch. They are not preserved here because the focus
was on the design choices, not their implementation in code.

A very minimal third prototype ("prototype zero") is also included, but
this was abandoned within minutes.

** Document any side effects to this change:

* There is a small change to the Work Activity Analysis diagram, to
  update some language used.
After a design review meeting with the full team, Jeremy wanted to think
through the design space in a bit more detail. During that process, he
created some additional prototype diagrams for consideration:

- Simplified "A-minus" (no fundamental changes from A, but focusing on
  the heart of that prototype)

- C, a variation that attempted to further simplify the A prototype

- D, a variation on the B prototype that reduces some duplicate
  modeling

These prototypes were informally discussed, which resulted in some
changes that are also reflected here.

Following this commit, the full team discussed the options again, and
came to a decision about how we would proceed.
** Why are these changes being introduced:

After the final set of options was discussed, the team decided which
option we would pursue for the time being. This decision needed to be
documented in a clear way.

** Relevant ticket(s):

* https://mitlibraries.atlassian.net/browse/tco-69

** How does this address that need:

This combines all the individual class diagrams into an ADR document,
which summarizes each option - including the principle diagram which
includes its key characteristics. This document summarizes our decisioin
to pursue prototype D.

The original class diagram is updated to reflect only this selected
approach.

Additionally, the workflow is summarized in a new explanation document
of the Categorization Workflow.

** Document any side effects to this change:

None in this commit (the first commit in this PR still includes a small
wording change to the Work Activity Analysis).
@mitlib mitlib temporarily deployed to tacos-api-pipeline-pr-99 September 9, 2024 14:07 Inactive
@matt-bernhardt matt-bernhardt merged commit 02fc057 into main Sep 9, 2024
3 checks passed
@matt-bernhardt matt-bernhardt deleted the tco-69-diagrams branch September 9, 2024 14:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants