We are just starting out with portfolio so this may be a basic question. We have noticed that the calculated plan can make a different order of the releases to that defined on the source board / project.
This is an understandable behaviour in that it is utilising the capacity as much as possible and therefore if something can be done first it is. I can see that would suite some users of portfolio. In our environment (chip design) it is not possible to validate the chip until it has been manufactured so there is an inherent order to the releases that cannot be broken.
We want to maximise our capacity to get the best schedule so do not want to ban work on the next release until the previous release is finished. Banning work on the next release until the previous is completed leads to a capacity utilisation "saw tooth" and a very long schedule.
The work around we have found is to make an issue for each release (we call that a milestone) and chain them together with blocking relationships. We then block the milestone with every issue that is for that release. Portfolio then schedules as expected maximising the capacity use but never changing the order of the releases. [SEE PICTURE AT THE END: Red = blocking relationship, black = allocation to a release]
My basic question is have we missed something? Is there an easier way to do this?
It is a pain to maintain all these blocking relationships (though there are other good reasons to do it). We have written a quick python script to do it but people forget to run the script before clicking the "calculate" button in portfolio.
I wonder if there should be a scheduling option for Portfolio called something like "Respect source release order" so that there is no need maintain all these blocking relationships to get the desired behaviour in this circumstance.
