⏱️ Work Items - Track time estimates and time spent
## Summary * **Target personas:** Sasha, Parker, Dakota, Delaney * **Feature description:** Some organizations estimate the time it will take to complete a planned unit of work and record the actual time spent implementing that unit of work. This information is often used for capacity planning and reporting on software capitalization. This feature allows an individual to set a time estimate, record time spent, and view all time logs on a single work item (ex: Task). * **Value:** Sasha can estimate the amount of time it will take to complete the work item and record the actual time spent implementing the work item, Parker or Delaney can incorporate the estimate when planning an upcoming iteration, and Dakota can pull all of the time logs via the API to map completed work to cost centers within their organization. ## Problem - There is no way to record estimated time or spent time on Tasks. We've gotten feedback that this would be a nice thing to add (https://gitlab.com/gitlab-org/gitlab/-/issues/363613#note_1123123935). - We need to support time tracking on work items prior to migrating issues to the work item architecture. ## Proposal * Add time tracking app to work items * The app should support an interface for adding estimates, recording time logs, view all time logs, and edit all time logs. * Add support for the `/spend` and `/estimate` quick actions * Time logs against child work items should roll up to parent work items * Time logs are only visible to namespace members. ## UX See the design manager on the UX issue - https://gitlab.com/gitlab-org/gitlab/-/issues/339759+ ## Supported work item types * :white_check_mark: Issues * :white_check_mark: Tasks * :white_check_mark: Epics * :white_check_mark: Requirements * :white_check_mark: Test Cases * :x: Objectives * :x: Key Results * :white_check_mark: Ticket * :white_check_mark: Incident ## Iteration Plan - [x] MVC1: I can set an estimate on a work item via a quick action. I can record time spent on a work item via a quick action. The estimate and time spent are shown in the time tracking widget in the work item sidebar. - [x] MVC2: I can add an estimate or time spent in the UI (UX: https://gitlab.com/gitlab-org/gitlab/-/issues/339759/designs/Flows.png) - [x] MVC3: I can view a time tracking report for a single work item (UX: https://gitlab.com/gitlab-org/gitlab/-/issues/339759/designs/Time_tracking_report.png) - [ ] MVC4: Time estimates and time spent entries from child work items rolls up to parents.
epic