Functional Organization of Software Groups Considered Harmful

Many software organisations are grouped functionally, i.e., functions such as software engineering, design, product management, etc. are organised into separate groups, with cross-functional teams assembled from across these groups to form product or feature teams. While conducting a Grounded Theory study into the ability of cross-functional software product teams to collectively grok the context of product requirements, we encountered individual and team dynamics that appear to be strongly linked to the software development organisational structure. We argue that an over-arching functional structure of a software development organisation causes cross-functional software product teams to exhibit counter-productive behaviours and that the effectiveness of these cross-functional product or feature teams is significantly compromised as a result of an over-arching functional structure.