Plan a release with MoSCoW priorities and a fixed capacity.
Input: first line capacity n; then n lines name priority effort where priority is M, S, C or W and effort is a positive integer (story points). Items are listed in the Product Owner's order.
Rules:
- All
Mitems are required. If their total effort exceeds the capacity, printINFEASIBLE: Musts need X points, capacity Yand nothing else. - Then go through the
Sitems in input order and add each one that still fits in the remaining capacity; then the same forCitems. An item that does not fit is skipped (later, smaller items may still fit). Witems are never planned.
Output:
Planned: item1(M,8) item2(M,5) item3(S,8) ...
Deferred: itemA(S,13) itemB(C,3) ...
Won't: itemX ...
Used: U/CAPACITY points, Musts: P% of capacity
List items in input order within each line; if a list is empty print nothing after the colon. P is mustEffort * 100 / capacity with integer division. If P > 60, add a final line Warning: Musts exceed 60% of capacity.
Input:
40 6
login M 8
post M 8
search S 8
buddy S 21
emoji C 3
video W 30
Output:
Planned: login(M,8) post(M,8) search(S,8) emoji(C,3)
Deferred: buddy(S,21)
Won't: video
Used: 27/40 points, Musts: 40% of capacity