With the increased use of specialized robots within heterogeneous robotic teams, as envisioned by DARPA's Tactical Mobile Robotics program, the task of dynamically assigning work to individual robots becomes more complex and critical to mission success. The team must be able to perform all essential aspects of the mission, deal with dynamic and complex environments, and detect, identify, and compensate for failures and losses within the robotic team. Our mission analysis of targeted military missions has identified single-robot roles, and collaborative (heterobotic) roles for the TMR robots. We define a role as a set of activities or behaviors that accomplish a single, militarily relevant goal. We will present the use of these roles to: 1) identify mobility and other requirements for the individual robotic platforms; 2) rate various robots' efficiency and efficacy for each role; and 3) identify which roles can be performed simultaneously and which cannot. We present a role-base algorithm for tasking heterogeneous robotic teams, and a mechanism for retasking the team when assets are gained or lost.