|BeOS for Intel:
If you are talking about application-level software, the answer is it is very easy. Porting from one hardware platform to another can be as simple as recompiling with a different processor target. We found that many of our sample applications required zero effort, they just recompiled and worked, and indeed, many of our developers are finding it takes them less than a week (or a day, or an hour) to move from one platform to the other.
Developers working on drivers, and other low-level software that interfaces directly with hardware, will have more work to do, of course, just as Be does when supporting both hardware platforms.
Be's engineers have been writing about these topics recently in the Be Newsletter, so be sure to check out the most recent issues for more details and hints (issue #102 goes to press as I write this):