Classification of project team patterns for benchmarking
Yasutaka Shirai, William R. Nichols · 2014
ckground: Empirical software engineering data supports both research and benchmarking. Our repository is a bottom-up collection of developers daily tracking of effort, product size, defects, and development phase activity. We observed that structuring of teams in the development cycle may not only depend upon project size, life cycle phase, and development strategy, but also be significant factor for segmenting performance data. Aim: We use this data to identify patterns of staffing and team organization over time during execution of project and investigate the use of this characteristic for benchmarking. Method: We combined data from 89 industrial project development cycles into a database. Each cycle contains a team performing executing a plan within a development cycle. Using the project team name, developer identification, active dates, and development phases we associated sub-projects into larger project groupings. From these groups we identified organizing patterns of size, number of teams, and skill sets, that evolved longitudinally. Results: We identified six project patterns. Each pattern grouping includes between six and twelve reported projects, consisting of two or three collections of sub- project groups. We demonstrate that project pattern as an attribute is associated with some significant differences for project duration. Conclusions: The development efforts in our repository fit into a small number of patterns, each of which had characteristics presumably chosen by their teams to achieve their business goals; these patterns appear to differ qualitatively and quantitatively. As we develop our benchmarks, we will use the patterns to show how performance data may vary for different development project structures.