For some organizations, their business reality changes constantly. The general approach is to reorganize the labor force to match the business reality. But this can mean that organizations can end up reorging many many times. Because the folks at the top of even moderately sized organizations don't really understand the day-to-day life of those most affected by the reorgs, the effort is usually something of a waste and can often produce "curious" movement of staff into positions that make little sense. But ultimately, the real problem is that a reorganization is supposed to introduce some semi-permanent shape to the workplace, and constantly changing that up becomes counter productive and pointless. One thing that also gets lost in reorgs is that an organization is not just an arrangement of people, but also the mechanisms and processes by which those people work together.

One way of handling this is to organize in such a way that assumes flux and then organize around that basis. There's lots of ways to do this, but one of my favorites is to group functional areas into labor pools with a lead (and maybe a deputy or two depending on the size of the pool). The lead's job is to match people to needs based on requests from project leads, manage work load on staff and ensure nobody ends up overtasked.

The project leads come from a pool as well. When a project arises, determines the roles, percentage of time, length of engagement, and skills they need filled and requests the staff from the functional labor pool leads. The project lead and the pool leads negotiate and if there is somebody who can do the job they're assigned to it. If not, a hiring event is triggered.

After that point projects are run by the project leads with their staff until completion. Once completed, the staff and their percentages are returned to the pool. Assignments and end-of-assignments must occur on a weekly basis as it simply makes planning easier. Starting projects in the middle of a week simply aren't allowed.

It takes careful tracking of time, usually a weekly meeting between all of the labor pool leads to ensure people aren't over/under tasked, staff issues raised, hiring needs and so on. A big matrix of people vs. projects with percentage of time and duration is usually all that's needed to track things reasonably well.

There will inevitably be a few people who are basically "permanently" assigned to certain projects and that's fine. Just track them as 100% and "indefinite" or "end of FY" for duration and they become very simple to track.

Source: I've run organizations of up to 70 people in ways similar to this and it was considered to be very effective in both productivity as well as stopping the constant reorgs. While I ran those orgs like this, the reorgs effectively stopped and many people who were on their way out stayed around and were ultimately quite productive. When I left those places, they usually assumed a more traditional line-and-block org structure and the reorgs started all over again, shedding staff and losing productivity.

Downsides were that not all staff can handle having multiple projects and be matrixed out this way. For many people though, they thrive in it.