platforms and agility - bcs.org · product owner scrum master ... a different role to being a...

32
Platforms and Agility Do they work (together)? Presentation to BCS West Yorkshire Branch Bradford, Thursday 19 th May 2016

Upload: voque

Post on 27-Jul-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Platforms and Agility Do they work (together)?

Presentation to BCS West Yorkshire Branch

Bradford, Thursday 19th May 2016

Who am I?

In the past, I’ve…

Worked for 15 years in IT in the telecommunications, energy and local

government sectors

Taught software project management at University of Brighton

PhD on software effort estimation in conjunction with Ericsson

Wrote BCS ISEB/Certification syllabuses for Project Management

Chief moderator for above

BCS representative on British Standards project management standards

committee

Event coordinator: BCS Project management specialist group (PROMS-G)

Platforms and agility:

Where we are today

Despite efforts of the Government Digital Service etc., government IT

projects are still of concern e.g. Universal Credits, Rural Payments

2011 The Institute for Government published a report on UK government

project delivery System Error: Fixing the faults in government IT which

recommended:

Use of agile delivery

Development/consolidation of common IT platforms for delivering IT services

Basic ideas adopted by the then new Con-Lib coalition government

Question: what problems and issues arise from implementing these ideas?

Agenda

What makes IT projects different?

What we mean by ‘Platform’ and ‘Agile’

Two contrasting project case studies as illustrations

Seagull and Koala - Scrum

ABC – parallel incremental

Is it just a case of project size? PRINCE2 Agile and scalability

Some discussion points

Back to basics 1: software

Agile methods were developed primarily for software development –

arguably?

Special characteristics of software (following Fred Brooks)

Complexity

Invisibility

Changeability – software functions tend to replace hardware as a result

Conformance – need to conform to external requirements

Plus

Ease of replication – once created, mass production/distribution is easy

Back to basics 2: projects

More to projects/programmes than just software delivery

Programmes are often primarily about business change i.e. transition

management

Pre-transition: software/system building – project management

Transition: installing system into an organization – change management

Post-transition: value through operation – benefits management

Each type of management has a stake in the preceding phases.

Platform strategy 1

The platform consists of the software/hardware infrastructure in place to

enable applications (which do useful things for users)

The idea of platform strategy based on Ross, Weill & Robertson Enterprise

Architecture as Strategy Harvard Business School Press

Key dimensions:

Standardisation – using the same processes

Integration – sharing the same data

The basic advantage is having common services:

(i) removing duplicated effort

(ii) economies of scales e.g. negotiating bulk discounts

Platform strategies 2:

operating models

Diversification FEW common processes / LITTLE common data Example: local authority departments: e.g. road maintenance and social services may have little in common. Focus on common generic organizational tools e.g. office tools (word processing, spreadsheets …), desktop, payroll, purchase orders etc.

Coordination FEW common processes/ MUCH common data Example: Dept of Work & Pensions may supply a range of different services to the same customer base Focus on shared databases

Platform strategies : operating models

Replication MANY common processes / LITTLE common data

Example: Local authority functions across the country e.g.

council tax

Focus on same system replicated with different data sets

Unification

MANY common processes/ common data

Example: Fire & Rescue Service as envisaged by

(now abandoned) FiReControl project.

Focus on single national integrated system

Note: Some advice implied about selection criteria for the choice of the

approach

Agile development

Original movement away from pure waterfall (sequentially phased)

projects

Increments – division of functionality into modules, each of which can implemented individually

Iterations – repeated versions of same function with subject to trials/changes from user representatives

Agile focus on removing obstacles to fast communication between

developers and user representatives e.g.

Test data first development

Pair programming

Continuous integration etc., etc.

Scrum

Other Agile methods available! Scrum is the approach given most attention by PRINCE2 Agile™

A metaphor based on rugby scrums – team joining together in one effort

Not an acronym – so not ‘SCRUM’!

Scrum was originally a product design approach – not specific to software development

Developed originally by Ken Schwaber and Jeff Sutherland

Identifies three key roles:

Product owner

Scrum master

Development team

Case study: Seagull software

Based in a south coast town in the UK

Provides a service to travel businesses generating standard email shots to

their customers e.g. E-tickets

Uses data extracted from the standard PNR (passenger record) created by

systems such as Amadeus or Sabre

So,

Seagull had international clientele

Competitive because of existing software/IT assets and expertise

Two platform elements: access to external PNR, in-house bulk emailing capability

Seagull espoused the use of Scrum

The client: Koala Travel

A travel related business based in eastern Australia

Objectives of project

To use statutory email confirmation of an online transaction as an opportunity for cross-selling new or enhanced services

To outsource the work of generating the confirmatory emails

To ensure that the email (which would appear to customer as coming directly from Koala) had the correct corporate image/style

Koala had never used Scrum before

Scrum roles

Product owner – from Koala

Owned the requirements

Approved products

Scrum master – from Seagull

Guided the process

Chaired key meetings

A different role to being a project manager

Development team

Seen as largely self-managing – based at Seagull

Scrum planning meeting 1

Group meeting to identify requirements - recorded in a product backlog.

The initial version of product log established during pre-contract discussions

Work out the tasks needed to implement product backlog in a sprint

backlog

Identify tasks/products for first sprint, i.e. Increment

Estimate effort for each task and allocate tasks to developers

Sprint Planning meeting 2: Sprint

backlog

Two passes

Identification of tasks needed

Estimation of effort and allocation of developers

Seagull developers came to the fore here

Discussion tended to be technical but Scrum Master stressed importance of

Koala understanding how estimates were arrived at

At end Scrum Master promised to distribute updated Product and Sprint

Backlogs

Product Owner ‘don’t give me a Gantt chart’!

Sprint execution

Usually Sprint meetings – daily 15 minute ‘stand-up’ meeting of the

development team

In this case, telephone conferences with clients every other day

Each developer reported:

Progress since last meeting

Planned activities for next meeting

Any inhibitions of further progress

Sprint terminates with a sprint review meeting – presentation of products to

product owner

Followed by planning meeting for the next sprint

Communications

Initial contract negotiation done by Seagull managers going to Australia –

importance of physical contact to establish trust.

Seagull had a physical Australian presence but in a different city to Koala

Because of the need for a contract, basic requirements had been

established up-front although this is against the spirit of Scrum

Telephone conferences were scheduled at the beginning of the UK day

and end of the Eastern. Australian day – used for planning meetings and

stand-up progress meetings on Tuesdays and Thursdays

Also heavy use of email for document transfer.

What this showed

Distributed Scrum can work – where there is motivation

Telephone conferences can be effective

Use of tabular list approach rather than diagrams make more sense in

voice only conferences

Seagull needed a lot of detailed information from Koala in order to set up

mailing facility. Intensive interactive approach with customer effective

here – but not classic Scrum

Which shore is ‘off’?

Case study 2 : ‘ABC’

‘ABC’ is a multinational consulting, technology services, and out-sourcing

company

Fortune Globe 500 company

300,000 employees

Clients in 20 cities and 50+ countries

The project(s)

Large integrated software system within enterprise architecture environment

Client – UK public sector organisation

Time and materials contract

Software development in India

ABC project actors

ABC development site

(India)

Test

manager

Build

manager

Test

manager

Build

manager

Project

manager

(development)

Project

manager

(client-facing)

Project

manager

(development)

Design

manager

Client site

(UK)

ABC development site

(UK)

Performance

report

Performance

report

Performance

report

Functional

specification

Software

Functional

knowledge

Code defect

Design defect

Performance

report

Performance

report

Performance

report

Performance

report

Performance

report

Key

People

Product

Consumer layer

Sof

twar

e de

velo

pmen

t (D

esig

n, B

uild

, and

Tes

t)

Process middleware layer

Service middleware layer

Legacy layer

Com

pone

nt c

atal

ogue

too

l

Sys

tem

dev

elop

men

t (o

pera

tion

, sec

urit

y, a

nd g

over

nanc

e)

Consumer

system 1

Consumer

system 2

Consumer

system n

Legacy

system 1

Legacy

system 2

Legacy

system n

Aut

hent

icat

ion

tool

1

23

. . .

4

5

Service components

Process components

6

78

Legacy components

9

Consumer components

. . .

‘parallel incremental’ delivery

design build test

Increment 1

Increment 2 Increment 1

Increment 3 Increment 2 Increment 1

Increment 3 Increment 2

Increment 3

Time

Time delay and quality deficits

The largest project delays were at the testing phase

Phases (e.g. design/build/test)

all started on scheduled time whether previous phases were completed

Risk of rework when finalised products of previous phase became available

Testing: when this identified faults, software developers could be working

on the next increment – resources clashes

The complex integrated architecture meant that there were interventions

from a wide range of specialist stakeholders – see next slide

Specialist stakeholders

Build manager (UK)

Build manager (India)

Client

Consumer/user

Cross project delivery managers

Design manager

Enterprise service bus manager

3rd party/peer suppliers

Project manager (customer-facing)

Project manager (development UK)

Project manager (development India)

Solution architecture manager

Technical architecture manager

Technical environment manager

Test data manager

Test manager (UK)

Test manager (India)

Tester

How does PRINCE2 AgileTM fit in here?

PRINCE2 ®

Owned by AXELOSTM , a joint venture between Capita (51%) and the

Cabinet Office (49%)

AXELOSTM expected to pay government £500 million over 10 years

PRINCE ® a project management framework focussed on project

governance

Claims to be applicable to any project delivery mode, including agile, but

seen by many as a traditional, waterfall based approach

PRINCE2 AgileTM 2015

An extension to PRINCE2 looking ‘at interactions between PRINCE2 and

agile, and how they can be adapted to accommodate each other’

PRINCE2 Agile

350 page manual costing £100 – somewhat cheaper via Amazon

Certification available: but only to paid-up current PRINCE2 practitioners

General approach

All of current PRINCE2 remains intact, especially:

the two top levels of Project Direction and Project Management

PRINCE2 roles e.g. Project Board, Project Manager, Team Managers

Focus on Stages – which can be equated with Releases

PRINCE2 management model synchronised with Agile delivery at either Stage or Work Product level

PRINCE2 has always been designed to accommodate external work at Product Delivery/Work Package level managed using non-PRINCE2 approaches

Does not explicitly deal with coordinating parallel agile groups

Agile and project management – a

matter for debate

‘Agile can be successfully scaled across very large and complex

organisations without project governance frameworks such as PRINCE2.’

Agile and PRINCE2® And how they integrate Peter Measey BCS

Accreditations Whitepaper

‘…Scrum and Kanban are not project management frameworks…a project

manager role is not defined….On their own they cannot be used to

manage a project’ page 21 PRINCE2 Agile AXELOS

‘…[Scrum] does not contain any engineering or delivery practices so it

could be said to “manage” product delivery as opposed to “do” product

delivery” page 174 PRINCE2 Agile AXELOS

Some final thoughts: design vs build

In IT/software system development, two different modes:

Product design

One-off

Customer-client oriented

Iterative learning

Product build

Continuous development

Code oriented

Structured

Design vs Build

Agile software development merges the two: the code is the design

document

Projects often divided into two stages: product design (with prototyping),

and product build cf DSDM

In the case of ABC, a continuous production line process with no PRINCE2-

type stages but rigorous quality checking and control – like Kanban – might

be more appropriate

Designers Builders Testers Buffer Buffer

Final thoughts

The starting point should be asking:

What are the problems with your processes?

How damaging are they?

What can you do about those problems?

How much would they cost to fix in terms of time and money?

Need for empirical evidence – rather than just opinions (and spin) – about

effectiveness of approaches

The ideal would be the IT equivalent of NICE (The National Institute for

Clinical Excellence)

Could BCS The Chartered Institute for IT have a role here?