An information systems design product theory for the class of integrated requirements and release management systems

Timo Käkölä, Mervi Koivulahti-Ojala, Jani Liimatainen
2010 Journal of Software Maintenance and Evolution Research and Practice  
High-tech companies conducting product development need to collect and analyze requirements effectively, plan and implement releases, and allocate requirements to appropriate releases. Requirements and release management is complicated because development activities typically are scattered across multiple sites, involve multiple partners in different countries, leverage various development methods and tools, and are realized through various organizational arrangements such as release projects
more » ... organizations structured around products and permanent release teams in organizations responsible for the long-term development and maintenance of strategic software and hardware assets. Flexible, scalable, and secure groupware-based support for the activities provides substantial payoffs. Yet, the extant literature provides little theoretical guidance for designing and using requirements and release management systems in multi-site, multi-partner environments. This article develops the meta-requirements and a meta-design of an Information Systems Design Product Theory for the class of Requirements and Release Management Systems based on a case study in a global company and a literature review. The theory is scalable to meet the needs of global companies but simple enough so small and medium sized companies can also leverage it to implement requirements and release management solutions. Keywords: Global software product development, Information systems design theory, Knowledge management, Release management, Requirements management, Software process improvement Validating and Scoping the Meta-Design by Analyzing how it Meets the Meta-Requirements This section analyzes how the meta-design satisfies the meta-requirements because "a design artifact is complete and effective when it satisfies the requirements and constraints of the problem it was meant to solve" (Hevner et al. 2004, p. 85). Prioritization and valuation of requirements and the allocation of requirements into releases Prioritization and valuation of requirements is enabled by the entities Requirement and Customer Requirement. Their attributes priority and customer value are used to store and access the prioritization and valuation information in the RRMS instances. The prioritization and valuation methods are not included in the meta-design for two reasons. First, the literature provides hardly any methods that are generalizable and scalable to meet the needs of complex industrial environments where multiple interdependent releases of interdependent products and platforms are planned simultaneously (Lehtola and Kauppinen 2006) . Second, the product programs of the case organization used different prioritization methods and tools because the programs differed in size, duration, and product maturity. Organizations must decide which prioritization and valuation methods they wish to use. The meta-design ensures that RRMS instances can provide the methods with most if not all the necessary information and store and share the results organization-wide. Allocation of requirements into releases is enabled transitively through features, that is, requirements and customer requirements are allocated to features, which are linked to releases. Releases provide implemented functionality and are thus linked to features directly. Traceability The information model enables bi-directional traceability between entities through Origin and Workflow classes. In Customer Requirement and Requirement, source attribute is used for backward traceability and allocation to features attribute enables forward traceability to features. Source requirement and assignment to release attributes of Feature enable, respectively, backward and forward traceability from features. Traceability links attribute enables the traceability from Features to implementation specific documentation and software code. Single capture of information Based on the analysis of the RRMS instance in the case organization, the information model is comprehensive enough so the RRMS instances prescribed by the meta-design can be the single capture points for requirements, features, and releases in organizations. Content ownership and accountability of experts Content ownership and accountability are determined through the responsible person attribute of Categorization class. For example, each release has to specify who is responsible for planning, which features are released in which release. The meta-design does not detail the metrics that could be used for measuring performance. However, it can be used as a basis for sophisticated measurement systems. Management and coordination The meta-design supports management and coordination across multiple, interdependent product, platform, and component releases, for example, by explicating the schedules imposed on various entities, the products and organizational units the entities are related to, and the workflows the entities are subjected to. Creating and sharing of metrics information The meta-design affords a balanced set of process quality metrics. Releases contain information about planned and actual release dates, making it easy to measure (e.g., within an organizational unit) issues such as what the ratio of releases delivered in accordance with the planned release schedule to all delivered releases is. Status information is readily available, making it easy to see,
doi:10.1002/smr.492 fatcat:7ev3sw5nevf2ngz3u3dv7iqfjy