Sir - I was the Schools Manager for Armor Branch back in 2001-2003 and I worked right next to the PDNCOs and Assignment Managers. I learned a lot about the assignment process during that stint.
There are many different kinds of units...CONUS, OCONUS, Nominative, TRADOC, MTOE, BCTs, DIVs, Priority 1, and so on. Each must be manned at a certain percentage by rank.
At the time I worked up there, our Branch PDNCOs assigned based on three criteria...needs of the Army, professional development and Soldier preference. Based on the rank requirement of an assignment, the PDNCOs may query the CMF for the best qualified Soldier. They would look at time in grade, time on station, dwell time, date last returned overseas, are they joint domicile, EFMP, MACP, etc. Once they determined who the best qualified was, they would place that person on assignment instructions.
In a perfect world, the needs of the Army matched the professional development needs of the Soldier and the Soldiers preference. That was not always the case.
Staying in contact with your PDNCO, Career Manager, etc is a great course of action. Sometimes, the best opening line after pleasantries, is "what assignment are you having problems filling?" This may be the opening into something that may help you either at that point or in your "next" assignment. In EDAS, there is a page for PDNCOs, Career Managers and such to make notes. Our folks used to track contact made with Soldiers in the event that an assignment was discussed or a HAAP was promised, etc. That way there was a record of conversations and a record of who told what to who.
Bottom line is it is a good idea to stay proactive in the assignment process, understand how it works, and to be informed when it comes to discussing what is next when it comes to your future.