Agile software development (ASD) strongly relies on social interaction and teamwork. Team processes and agile practices adopted by team members play an important part for the outcome of software development projects. Agile practices promise teams to be able to respond to change by granting them autonomy. Existing studies, however, imply that these projects can benefit from different elements of control. Our objective is to improve our understanding of how to enact control in agile teams and how these control mechanisms influence team autonomy and team performance. In this paper, we present our findings from four case studies conducted within two insurance companies and two software development firms. We found that it is not a question of 'what' controls should be exercised, but rather 'how' controls are implemented in practice. Our results prompt to the need for further studies on control mechanisms in ASD.