The performance of firms in the software industry depends considerably on the quality of their software development processes. Managing software development is a challenging task, as management controls need to impose discipline and coordinate action to ensure goals are met while simultaneously incorporating autonomy to motivate software developers to be innovative and produce quality work. How should such firms manage software development projects so that their development processes are flexible and predictable—resulting in products that meet quality goals and that are delivered within budget and on time? The management literature suggests two approaches to control: the process approach and the structure approach. The process approach recommends control of activities through specifying methods (behavior control) and through specifying performance criteria (outcome control). In contrast, the structure approach recommends control through centrally devised standards for activities (standardization) and by the delegation of authority for decisionmaking (decentralization). This study synthesizes these two approaches to suggest that formal managerial control is exerted through a matrix of control comprising four modes: standardization of methods, standardization of performance criteria, decentralization of methods, and decentralization of performance criteria. We test the association of the modes of control with performance in a sample of 56 firms in the software industry in the United States. The results suggest that performance is enhanced by establishing uniform performance criteria across projects (standardization of performance criteria) while giving each project team the authority to make decisions with respect to methods (decentralization of methods). However, standardization of methods across all projects and decentralization of performance criteria by delegating the authority to make decisions about performance criteria to project teams were both not significantly related to performance. The matrix of control and its relationship to performance has theoretical and practical implications for managing software development. This model of control is also likely to be useful in other knowledge-work-intensive settings.