Scope & Estimate

{% if scenario_mapping %} {% set groups = namespace(dict={}) %} {% for s in scenario_mapping %} {% set ep = s.epic or 'Uncategorized' %} {% if ep not in groups.dict %}{% set _ = groups.dict.update({ep: []}) %}{% endif %} {% set _ = groups.dict[ep].append(s) %} {% endfor %} {% for epic_name in groups.dict|sort %} {% set items = groups.dict[epic_name] %} {% set group_md = namespace(val=0) %}{% for s in items %}{% set group_md.val = group_md.val + (s.mandays|float if s.mandays else (s.effort_weeks|float * s.team_size|float)) %}{% endfor %} {% for s in items %} {% set st = (s.scenario or '')|lower %} {% if st == 'existing' or st == 'platform' %}{% set badge_class = 'included' %} {% elif st == 'customization' %}{% set badge_class = 'configuration' %} {% else %}{% set badge_class = 'implementation' %}{% endif %} {% endfor %} {% endfor %}
EpicReqDescriptionProviderScenarioComplexityWeeksTeamPhasePricing
{{ epic_name }}{{ items|length }} capabilities · {{ group_md.val|int }} md
{{ epic_name }}{{ s.requirement_id }}{{ s.capability }}{{ s.provider }}{{ (s.scenario or '')|capitalize }}{{ s.complexity }}{{ s.effort_weeks }}{{ s.team_size }}{{ s.phase }}{{ s.pricing_strategy }}
{% else %}

No scope items recorded.

{% endif %}