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

New EngineeringTask Tech Spec #16445

Closed
5 of 9 tasks
yoomlam opened this issue Jun 30, 2021 · 2 comments
Closed
5 of 9 tasks

New EngineeringTask Tech Spec #16445

yoomlam opened this issue Jun 30, 2021 · 2 comments
Assignees
Labels
Type: Tech-Spec Label for issues that contain a tech spec

Comments

@yoomlam
Copy link
Contributor

yoomlam commented Jun 30, 2021

Adding an EngineeringTask to indicate that a Caseflow engineer is working on an appeal

Drafter: @yoomlam
Discussion Meeting: July 14th, 2021 (during Caseflow Engineering Huddle)

Context

Why are you creating this tech spec?

The AppealsWithNoTasksOrAllTasksOnHoldQuery of the StuckAppealsChecker alerted on an appeal with no active task. Upon investigation, it turns out this is expected behavior for unrecognized appellants until a further workflow is implemented in Caseflow. If an EngineeringTask was active on this appeal, there would not be an alert for this appeal.

Also, a new EngineeringTask would indicate to Caseflow users that engineers are working on the appeal, which would be informative and prevent false alarms for the Board that may see such appeals as being "stuck" in Tableau reports or similar. Also for reporting purposes, the duration that the EngineeringTask took can be deducted from the total time spent by the Caseflow user.

What information helps readers understand the rest of this tech spec?

A child EngineeringTask would block the parent task. In the case of the StuckAppealsChecker alert, a BvaDispatchTask would be on hold with an active EngineeringTask child, which blocks any progress on the parent BvaDispatchTask until the EngineeringTask is closed. Alternatively, an active EngineeringTask child could be created under the RootTask -- this would not block any specific user-worked task but would at least indicate that this appeal is being worked and is not stuck.

Overview

There is benefit to adding a new EngineeringTask. It would keep Caseflow users aware of engineering work (including long-term Bat Team work) on an appeal, reduce false positives when checking for stuck appeals, and enable more accurate time-keeping when reporting on Caseflow users' time spent on an appeal.

Task instructions can be populated to further explain why an appeal has an EngineeringTask.

Requirements and/or Acceptance Criteria

  • indicate to Caseflow users that engineers are working on the appeal
  • prevent false positives when checking for stuck appeals
  • the EngineeringTask is assigned to a specific engineer when possible, otherwise it is assigned to the Caseflow user css_id: "CSFLOW"
  • to indicate that we are not actively working on the appeal, the EngineeringTask can be put on hold, probably via a TimedHoldTask

Concerns

Open Questions

  • Do we want to show the EngineeringTask on the Case Details page? In the case timeline?

Implementation Options

Implementation concerns

Test Plan

Rollout Plan

Research Notes

Tech Spec Process

  • Tech spec drafter: Schedule time to discuss the tech spec with scrum team or whole engineering team depending on the scope of the tech spec
  • Tech spec drafter: Facilitate that discussion.
  • Other developers: Read the tech spec before arriving at the discussion.
  • Other developers: Remind the tech spec drafter if a tech spec has been produced and no meeting has been scheduled.
  • One or more solutions determined as viable paths forward
  • Tech spec drafter: Turn tech spec into next-step actionable tickets.
    • Write tickets as is necessary
    • Other developers provide more formal feedback as is necessary.
  • Once the tech spec is finalized, open a PR to add it to the docs/tech-specs directory following these instructions
@yoomlam yoomlam added the Type: Tech-Spec Label for issues that contain a tech spec label Jun 30, 2021
@yoomlam yoomlam self-assigned this Jun 30, 2021
@lowellrex
Copy link
Contributor

This looks great @yoomlam, thanks so much for writing this up. I especially love using the instructions to explain why the appeal is on hold and being able to assign the tasks to individual Caseflow team members in addition to the organization. I agree that we need to determine whether these tasks should appear on the case details page (my intuition as that they should be visible), but I think that is product and design's call to make.

@yoomlam
Copy link
Contributor Author

yoomlam commented Jul 14, 2021

Action items from Caseflow Engineering Huddle:

  • guidelines on when an EngineeringTask is added to an appeal
  • guidelines for what type of information should go into the instructions field
  • consider using for other non-Appeal decision reviews (@leikkisa)
  • have Designers research what users would want to see for EngineeringTask in Case Details, Queue page (in the on-hold tab), etc. (@jcq)
  • This would enable tracking engineering time spent on fixing appeals -- from the Board's perspective, how would the Caseflow Team be held accountable? (@aroltsch)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Tech-Spec Label for issues that contain a tech spec
Projects
None yet
Development

No branches or pull requests

3 participants