Content
View differences
Updated by Philipp Tessenow over 5 years ago
# User Problem
## User
_What persona, persona segment, or customer type experiences the problem most acutely?_
* Developer
## Problem
_What problem or job does the user have?_
* Roadmap planning is in OpenProject, but development happens in GitHub. OpenProject.
* Developers need to manually synchronize state between OpenProject and Github
* When pairing/continuing on existing work packages, it Development is not immediately clear if there is existing work and where to find it on GitHub in GitHub.
## Pain
_What is the primary workaround that users perform that we could remove or replace? Why is it painful?_
* Developer needs to manually do a lot of setup tasks before starting to code: code.
* Create PR with reference to work package ID in description
* Create branch name
* Provide a PR/commit description, making sure all points from the original work package are covered
* Commit messages and branch names are inconsistent. There is no guidance/defaults.
* The existing GitHub integration comments on work packages, but gives no good overview (as comments get lost)
* The state of a work package could better sync with the PR progress (`Draft PR created` > `Ready for review >` `closed || merged`)
* When teaming up with existing work (taking over a PR or pairing on an existing branch), one has to manually search GitHub for existing PRs or ask the original developer for a branch name.
## Solution
_How do we solve the user’s problem. What is our “pain killer”? What must we achieve in the first version of the solution in order to achieve value for the user?_
* Developer can push a button "Create PR" in the work package.
* OpenProject calls GitHub API
* Create branch (following the naming scheme)
* Create commit with pre-filled description and title
* Create PR
* Global admininistration form for oAuth authentication flow to request permission to do stuff in Github
* Project settings: Add reference to GitHub repository
## Out of Scope for the MVC
_What should NOT be in the minimal viable change, and can be considered for future iterations? Why? Please order them by importance._
* User-based authentication.
* Bi-directional sync of issues between OpenProject and Github
* Configurations for naming scheme
## Differentiation
_What do you believe will differentiate us from the current experience or competitive experiences?_
* ...
## Next iteration
_What is the next solution that would allow us to release meaningful customer value quickly?_
* Use PR comments for additional actions
* Log time
# Launch and Growth
## Measures
_How will you know you solved the problem? Please list measurable, quantitative indicators (preferred) or qualitative ways you plan on assessing the solution?_
* ...
## Messaging
_If you were to write a press release, how would you describe the value to customers?_
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><tbody><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head">Headline</th><td class="op-uc-table--cell"></td></tr><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head">First Paragraph</th><td class="op-uc-table--cell"></td></tr><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head">Customer Quote</th><td class="op-uc-table--cell"></td></tr></tbody></table></figure>
## Go to market
_How are you planning on getting this into users' hands?_
## User
_What persona, persona segment, or customer type experiences the problem most acutely?_
* Developer
## Problem
_What problem or job does the user have?_
* Roadmap planning is in OpenProject, but development happens in GitHub.
* Developers need to manually synchronize state between OpenProject and Github
* When pairing/continuing on existing work packages, it
## Pain
_What is the primary workaround that users perform that we could remove or replace? Why is it painful?_
* Developer needs to manually do a lot of setup tasks before starting to code:
* Create PR with reference to work package ID in description
* Create branch name
* Provide a PR/commit description, making sure all points from the original work package are covered
* Commit messages and branch names are inconsistent. There is no guidance/defaults.
* The existing GitHub integration comments on work packages, but gives no good overview (as comments get lost)
* The state of a work package could better sync with the PR progress (`Draft PR created` > `Ready for review >` `closed || merged`)
* When teaming up with existing work (taking over a PR or pairing on an existing branch), one has to manually search GitHub for existing PRs or ask the original developer for a branch name.
## Solution
_How do we solve the user’s problem. What is our “pain killer”? What must we achieve in the first version of the solution in order to achieve value for the user?_
* Developer can push a button "Create PR" in the work package.
* OpenProject calls GitHub API
* Create branch (following the naming scheme)
* Create commit with pre-filled description and title
* Create PR
* Global admininistration form for oAuth authentication flow to request permission to do stuff in Github
* Project settings: Add reference to GitHub repository
## Out of Scope for the MVC
_What should NOT be in the minimal viable change, and can be considered for future iterations? Why? Please order them by importance._
* User-based authentication.
* Bi-directional sync of issues between OpenProject and Github
* Configurations for naming scheme
## Differentiation
_What do you believe will differentiate us from the current experience or competitive experiences?_
* ...
## Next iteration
_What is the next solution that would allow us to release meaningful customer value quickly?_
* Use PR comments for additional actions
* Log time
# Launch and Growth
## Measures
_How will you know you solved the problem? Please list measurable, quantitative indicators (preferred) or qualitative ways you plan on assessing the solution?_
* ...
## Messaging
_If you were to write a press release, how would you describe the value to customers?_
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><tbody><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head">Headline</th><td class="op-uc-table--cell"></td></tr><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head">First Paragraph</th><td class="op-uc-table--cell"></td></tr><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head">Customer Quote</th><td class="op-uc-table--cell"></td></tr></tbody></table></figure>
## Go to market
_How are you planning on getting this into users' hands?_