designing software for a million users

42
Designing Software for a Million Users Slide 1 Designing Software for a Million Users A story about a socio-technical system

Upload: ian-sommerville

Post on 31-Jul-2015

211 views

Category:

Technology


0 download

TRANSCRIPT

Designing Software for a Million Users Slide 1

Designing Software for a Million Users

A story about a socio-technical system

Designing Software for a Million Users Slide 2

Designing Software for a Million Users Slide 3

2007

Collaboration tools

Educational content

Documentmanagement

Designing Software for a Million Users Slide 4

Why me?

“There are a number of contractual stakeholders identified as users of Glow. These are the 32 local authorities, the 7 faculties of education within universities, Learning and Teaching Scotland, the Scottish Qualifications Agency, Her Majesty's Inspectorate of Education and the Scottish Government itself. “

Designing Software for a Million Users Slide 5

Replacing Glow

December 2013

Designing Software for a Million Users Slide 6

Remit

• Deliver a specification for a system to replace Glow

– Deadline was end- 2012

– System has to be acceptable to the teaching community

• Must be compatible with educational experiments in 1:1 device provision in schools and BYOD.

• Budget unspecified but ‘significantly less’ than the current Glow budget of £5 million/year

Designing Software for a Million Users Slide 7

Digital learningenvironment

Designing Software for a Million Users Slide 8

Potential users

658, 000 52, 000

650, 00010, 000

Designing Software for a Million Users Slide 9

Designing Software for a Million Users Slide 10

Softwarecomplexity

Technicalcomplexity

Governancecomplexity

Management

complexity

Environmental

complexity

Designing Software for a Million Users Slide 11

Technies don’t understand other

types of complexity

Non-techies don’t understand technical

complexity

Designing Software for a Million Users Slide 12

Governance complexity

• Education Scotland

– Responsible for managing the Glow service and deciding on the tools to be supported within Glow

• Research Machines

– Responsible for providing the Glow service, system enhancement, etc.

– Service also seen as basis of product to be sold elsewhere

• Local authorities

– Hardware and network provision. Content filtering.

– Often outsourced to IT companies (BT, Fujitsu, etc.)

• Schools

– Policies for Glow use; Some hardware provision.

Designing Software for a Million Users Slide 13

Environmental complexity

• Heterogeneous hardware platform from 8 year old PCs (honestly) to iPads

• Network connectivity from <1Mbit/second to 25 Mbits/second

• Wide range of content filtering policies across local authorities

• Government structure– Legally, Scottish Govt. can only advice local

authorities on policies – they cannot compel them to adopt policies

• Education is a newsworthy issue

Designing Software for a Million Users Slide 14

Software engineering

Establish the requirements for

the DLE

Define an architecture for the

system

Stakeholder consultationUse-case modellingPrototypingConflict analysis

System modelling, ADLs, UML

Designing Software for a Million Users Slide 15

What didn’t work!

Designing Software for a Million Users Slide 16

Requirements engineering!

Designing Software for a Million Users Slide 17

Viewpoints!

Designing Software for a Million Users Slide 18

“We don’t need a new system, just the freedom to use what is available”

Designing Software for a Million Users Slide 19

System modelling and the UML!

Designing Software for a Million Users Slide 20

Prototyping!

Designing Software for a Million Users Slide 21

Use-cases!

Designing Software for a Million Users Slide 22

Software engineering meets reality

Prof. Ian SommervilleSchool of Computer ScienceUniversity of St AndrewsScotland

Designing Software for a Million Users Slide 23

Reductionism

• Reductionism– “an approach to

understanding the nature of complex things by reducing them to the interactions of their parts, or to simpler or more fundamental things”.

• Its focus is on the parts of a system, not the relationships between those parts

• Reductionism underpins most engineering, including software engineering

Designing Software for a Million Users Slide 24

Reductionist assumptions

Owners of a system control its development

Decisions made rationally, driven by technical criteria

Definable problem and clear system boundaries

No single owner or controller

Decisions driven by political motives Wicked problem and

constantly renegotiated system boundaries

Reductionist assumptions

Control Rationality Problem definition

Large-scale complex IT systems reality

Designing Software for a Million Users Slide 25

Designing Software for a Million Users Slide 26

Designing Software for a Million Users Slide 27

Jack is a primary school teacher in Ullapool, teaching P6 pupils. He has decided that a class project should be focused around the fishing industry in the north-west Highlands, looking at the history, development and economic impact of fishing. As part of this, pupils are asked to gather and share reminiscences from relatives, use newspaper archives and collect old photographs related to fishing and fishing communities in the area.

Pupils use a Glow+ wiki to gather together fishing stories and SCRAN to access newspaper archives and photographs. However, Jack also needs a photo sharing site as he wants pupils to take and comment on each others' photos and to upload scans of old photographs which they may have in their families.

 

Designing Software for a Million Users Slide 28

Jack sends an email to a primary school teachers group which he is a member of to see if anyone can recommend an appropriate system. Two teachers reply and both suggest that he uses KidsTakePics, a photo sharing site that allows teachers to check and moderate content.

As KidsTakePics is not integrated with the Glow+ authentication service, he sets up a teacher and a class account. He uses the Glow+ setup service to add KidsTakePics to the services seen by the pupils in his class so that when they login, they can immediately use the system to upload photos from their phones and class computers.

Designing Software for a Million Users Slide 29

What happened?

Designing Software for a Million Users Slide 30

Trusted professionals

Designing Software for a Million Users Slide 31

Architecture for adaptability

Designing Software for a Million Users Slide 32

Deliver capability not features

Designing Software for a Million Users Slide 33

Designing Software for a Million Users Slide 34

Designing Software for a Million Users Slide 35

Implementation

experience

Designing Software for a Million Users Slide 36

Lessons learned

Designing Software for a Million Users Slide 37

Coolness!

“It has to look cool or the kids won’t use it”

Designing Software for a Million Users Slide 38

Digitising Government

Delivering technology to people who don’t really want it and who won’t really see any real benefit from it

Designing Software for a Million Users Slide 39

Politicians won’t or can’t accept that the problems with complex Government systems are not technical problems

Designing Software for a Million Users Slide 40

Government (and EU) procurement models are designed for police cars and paper clips, not software

Designing Software for a Million Users Slide 41

Designing Software for a Million Users Slide 42