The increasing number of robots around us will soon create a demand for connecting these robots in order to achieve goal-driven teamwork in heterogeneous multi-robot systems. In this paper, we focus on robot teamwork specifically in dynamic environments. While the conceptual modeling of multi-agent teamwork has been studied extensively during the last two decades, related engineering concerns have not received the same degree of attention. Therefore, this paper makes two contributions. The analysis part discusses general design challenges that apply to robot teamwork in dynamic application domains. The constructive part presents a review of existing engineering approaches for challenges that arise with dynamically changing runtime conditions. An exhaustive survey of robot teamwork aspects would be beyond the scope of this paper. Instead, we aim at creating awareness for the manifold dimensions of the design space and highlight state-of-the-art technical solutions for dynamically adaptive teamwork, thus pointing at open research questions that need to be tackled in future work.