•  
     
    story #10670 a BurnUp chart based on Done stories
Summary
Empty
a BurnUp chart based on Done stories

I can track development effort vs. budget

BurnUp will be a new field of an artifact (like burndown) with 3 fields to configure:

  • start_date: when to start computation
  • duration: how long should it last
  • capacity: how much effort is targeted (for ideal burn-up line)

Difference with burndown:

  • Rendering is done with D3js lib (instead of EOL jpgraph)
    • REST route /artifacts/:id (or equivalent) must return the values
    • Need to implement the rendering with the new lib. We cannot re-use directly what's already present for agile dashboard home page because it lacks of
      • abscissa and ordinates legend
      • abscissa scale (days)
      • labels for each line
    • Rendering must use the same style (colors, fonts…) as the Kanban's cumulative flow chart
  • Computation is done like:
    • The elements linked to the current artifact
    • Within this list, only artifacts that are declared "Done" (story #10631) are taken into account
    • For those items, we sum the value of the field declared in "initial_effort" semantic

Things that's need to be verified / sorted-out during implementation:

  • What about several burn-up fields on 1 artifact (with different target_fields tought). Verify it's possible and it doesn't mess the global computation. If it's not easly possible, ensure it's not possible to configure 2 burn-up fields.
  • Ensure fixes made for Timezone handling on burndown are present

Things to test:

  • Verify behaviour with a burndown and a burn-up field
  • Verify that deletion of field (tracker, project) means no longer any computation for this field

New field check list:

  • Tracker Field Structure
    • Specific properties
      • Yes configuration based on other fields TBC...
    • Field can be switch to another type (only sb/msb)
      • No
    • Shared Fields
      • No
    • Import/Export XML
      • Yes
    • Field is duplicated on tracker inheritance (both tracker and project creation)
      • Yes
    • Definition is NOT given through SOAP @deprecated
      • Correct  
    • Definition is given through REST (representations)
      • Yes
    • Migrate field from TV3 (if not done)
      • No
    • Does new field can be used for burndown?
      • No
    • Can the field be required
      • No
  • Artifacts
    • Export/import CSV
      • No
    • What does ‘None’ mean for this field?
      • No
    • Default value
      • No
    • Field is involved in notifications
      • Yes (<img src="">)
    • New value is sent in notifications
      • See notif
    • Diff of the field appears in changesets
      • No
    • Get/create/update NOT through SOAP @deprecated
      • Correct
    • New value is Copyed on Artifact copy
      • No
    • New value can be used in semantic
      • No
    • New value can be updated on masschanges
      • No
    • On an artifact with artifact links, on creating directly a child the field can be used
      • No
  • Reports
    • Field is searchable through criteria
      • No
    • Field is displayed as a column in table
      • No
    • Field is used to sort
      • No
    • Field is used for aggregates
      • No
    • Field is used to build charts
      • No
    • Field is used to build cardwall
      • No
  • Angular
    • Create/ edit modal
      • No
    • Cardwall edit in place
      • No
    • Card field in planning v2
      • No
    • Card field in kanban + filter + highlight
      • No
    • Does field can be directly updated in Cardwall
      • No
    • Modal edit Release
      • No
    • Modal add a Task
      • No
  • User documentation is accurate
    • Yes

Technical points:

  • System event for daily burndown computation can be re-used to add the burn-up computation
  • A new system event is needed to re-compute 1 burn-up in case of error
Empty
Empty
Status
Empty
Done
Development
  • [ ] Does it involves User Interface? 
  • [ ] Are there any mockups?
  • [ ] Are permissions checked?
  • [ ] Does it need Javascript development?
  • [ ] Does it need a forge upgrade bucket?
  • [ ] Does it need to execute things in system events?
  • [ ] Does it impact project creation (templates)?
  • [ ] Is it exploratory?
Empty
Details
#10670
Manuel Vacelet (vaceletm)
2018-01-19 09:53
2017-09-20 14:35
3292

References
Referencing story #10670

Git commit

tuleap/tuleap/stable

Revert "Hide the semantic done to end-users" c4558c6821
Create field with initial config a14440f1d7
Warning is always present when burndown configuration is ok 03e849e076
Update burnup image in Admin View 20b2c6fc36
Be able to compute values d80d130a36
Remove useless EventManager injection in ChartMessageFetcher 751bf176b0
Be able to compute values: add initial effort sum 87e3856362
Be able to compute values: add initial effort sum for other type of field c1bd5bfc29
Remove not needed specific XML properties export of the BurnUp field d20eb118b5
Add missing translations 3b4480e5e3
Cache yesterday values for total and team effort d835ac8b99
Refactoring: inject done_values as semantic parameter c4ebf48efb
burnup_cache should be recompute when missing data d48d61dcf1
Export/import done semantic in XML 672e716a03
Days retrieved to cache the burnup values are wrong when the current date is outside the burnup time period 7ad37b23aa
Introduce SemanticDoneValueChecker object 44d9ab735c
Do not pass around a TimePeriod encapsulated in another object when it's not useful c87db8cdee
SemanticDoneValueChecker checks for closed values in XML 543eb2a352
Retrieve burnup effort values 5fbbfadc04
Retrieved current effort burnup values should be calculated the same way than the cached values 3bf10e3890
Tuleap should only retrieve needed burnup information to cache values 0698826390
REST route GET artifacts/{id} returns the burnup REST representation 966b1cc9fc
The burnup field can not be added twice acc4e96ef2
Tracker admins can ask to refresh the cache of a specific burnup chart f40ebe9449
Burnup field should not be delivered as field can't be used right now a732e4ddd0
Revert "Burnup field should not be delivered as field can't be used right now" b3e67f6fd1
Today should only be retrieved for current burnup ed7a96e815
Burnup REST representation should returns the opening days f5b49b9e97
Enforce field administration consistency by checking semantic 84e85486c1
Warn about field burnup after updating a planning 74b2b2cff3
Cache generation don't start at first day 349680457d
Add more unit tests for MessageFetcher d300d9fe2e
Total team effort is computed based on Agiledashboard planning definition d8049941e9
Burnup team effort is based on the agile dashboard planning definition 56117a5630
REST tests for burnup 32e6a3fe75
Burnup and burndown dots are not the same when end period day is today 6ea23a1e02
Modal should not leak existence of burnup field 90901d391a
Display team and total effort lines in the burnup chart 5a197e344c
Display ideal burnup line c5748fd969
Root daily can break burn-up display c2fe6bf6a7
When burnup field administration has missing semantics we should have link to directly administrate semantic 6e17b2d7b5
First x tick label can overlap the second one. bef3b3cb6f
Don't try to render the chart during calculation 24caea4b1e
Remove field under implementation message ddc56a1b69
Chart is too small when displayed in a column next to the burndown 6b904ecd92
Burnup DAILY should store values at yesterday 23:59:59 83b734b084
Burnup graph is broken on IE11 f4efe7ede4

Follow-ups

User avatar
Thomas Gerbet (tgerbet)2017-12-28 08:51
A "Force cache regeneration" button might still be useful if the semantic initial effort or done have been modified somewhere in the hierarchy of the burnup artifacts. Users might not want to have their burnups completely changed every-time someone change something in another tracker. The button to refresh the burnup is probably enough for this case.

  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
  • I want to
    -a BurnUp chart based on actual effort 
    +a BurnUp chart based on Done stories 
  • So that
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
  • Permissions set to