Friday, April 29, 2016

The Scrum proposal (case)

THE COMPANY: DESIGN, TEST, AND DELIVERY CYCLES - A SCRUM PROPOSAL
The Company is an ISO 9001:2008 certified organisation. Internal activities are described and monitored using a quality management system. However The Company's engineers spend a considerable part of each day working on software maintenance activities. New product development work is the high profile strategic activity of the company, but daily work is often diverted (reluctantly at times) towards support and maintenance of software already installed or being commissioned at customer sites. 'Next version' projects and new feature development time takes a back seat to customer support.

Everyone at The Company treats the implementation process to be a phase of the product life cycle that covers the more concrete aspects of product production: design, test, and delivery activities. The product life cycle controls how the organisation’s products progress and develop from concept (feature requirement and design) to completion (release). The Company uses a traditional project management paradigm to organise development however they are struggling to cope with the twin demands of new product development and existing product maintenance. Recently the management team and engineers have been discussing if and how it would be possible to adopt an Agile iterative development lifecycle.

The Company is now evaluating the Scrum methodology and are seeking to understand how it would impact their working environment, work practices, management and organisational structure, and also their status as an ISO9001 certified organisation (Figure below).
Figure: ISO9001 QMS continual improvement system

The Company's product is a large (>10M Loc) complex mature system for archiving and reporting from embedded systems in 'scale industry' environments that need to record and monitor event and process data. The Company's current product development lifecycle is described according to the different perspectives of support, test, project management, design and development. They employ a traditional development 'V' model for new product development projects in common with many of their customers. Their product release history is complex (Figure below), they deliver major revisions of the main product approximately 4 times a year, but they also deliver maintenance releases including ‘roll-up’ patches, custom releases and minor updates every other week.
Figure: Indicative release history Y1-Y4
The Company's customer support requests (Figure below) and the evolving software ecosystem that its products are installed in (browser versions, operating systems, hardware platforms) are significant drivers for both maintenance and main product releases. The demand for maintenance releases naturally fluctuates over time and sometimes ‘crowds out’ new product development projects in order to address urgent customer demands.

Figure: Indicative support queue activity Y1-Y4
The organisation essentially employs the two different suites of management and release processes for NPD and maintenance work, with maintenance comprising a separate and distinct division of their lifecycle process.

Provide an analysis and recommendations for future action.