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

Designing software for a million users

Jul 31, 2015

Download

Technology

Ian Sommerville
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Designing software for a million users

Designing Software for a Million Users Slide 1

Designing Software for a Million Users

A story about a socio-technical system

Page 2: Designing software for a million users

Designing Software for a Million Users Slide 2

Page 3: Designing software for a million users

Designing Software for a Million Users Slide 3

2007

Collaboration tools

Educational content

Documentmanagement

Page 4: Designing software for a million users

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. “

Page 5: Designing software for a million users

Designing Software for a Million Users Slide 5

Replacing Glow

December 2013

Page 6: Designing software for a million users

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

Page 7: Designing software for a million users

Designing Software for a Million Users Slide 7

Digital learningenvironment

Page 8: Designing software for a million users

Designing Software for a Million Users Slide 8

Potential users

658, 000 52, 000

650, 00010, 000

Page 9: Designing software for a million users

Designing Software for a Million Users Slide 9

Page 10: Designing software for a million users

Designing Software for a Million Users Slide 10

Softwarecomplexity

Technicalcomplexity

Governancecomplexity

Management

complexity

Environmental

complexity

Page 11: Designing software for a million users

Designing Software for a Million Users Slide 11

Technies don’t understand other

types of complexity

Non-techies don’t understand technical

complexity

Page 12: Designing software for a million users

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.

Page 13: Designing software for a million users

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

Page 14: Designing software for a million users

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

Page 15: Designing software for a million users

Designing Software for a Million Users Slide 15

What didn’t work!

Page 16: Designing software for a million users

Designing Software for a Million Users Slide 16

Requirements engineering!

Page 17: Designing software for a million users

Designing Software for a Million Users Slide 17

Viewpoints!

Page 18: Designing software for a million users

Designing Software for a Million Users Slide 18

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

Page 19: Designing software for a million users

Designing Software for a Million Users Slide 19

System modelling and the UML!

Page 20: Designing software for a million users

Designing Software for a Million Users Slide 20

Prototyping!

Page 21: Designing software for a million users

Designing Software for a Million Users Slide 21

Use-cases!

Page 22: Designing software for a million users

Designing Software for a Million Users Slide 22

Software engineering meets reality

Prof. Ian SommervilleSchool of Computer ScienceUniversity of St AndrewsScotland

Page 23: Designing software for a million users

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

Page 24: Designing software for a million users

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

Page 25: Designing software for a million users

Designing Software for a Million Users Slide 25

Page 26: Designing software for a million users

Designing Software for a Million Users Slide 26

Page 27: Designing software for a million users

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.

 

Page 28: Designing software for a million users

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.

Page 29: Designing software for a million users

Designing Software for a Million Users Slide 29

What happened?

Page 30: Designing software for a million users

Designing Software for a Million Users Slide 30

Trusted professionals

Page 31: Designing software for a million users

Designing Software for a Million Users Slide 31

Architecture for adaptability

Page 32: Designing software for a million users

Designing Software for a Million Users Slide 32

Deliver capability not features

Page 33: Designing software for a million users

Designing Software for a Million Users Slide 33

Page 34: Designing software for a million users

Designing Software for a Million Users Slide 34

Page 35: Designing software for a million users

Designing Software for a Million Users Slide 35

Implementation

experience

Page 36: Designing software for a million users

Designing Software for a Million Users Slide 36

Lessons learned

Page 37: Designing software for a million users

Designing Software for a Million Users Slide 37

Coolness!

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

Page 38: Designing software for a million users

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

Page 39: Designing software for a million users

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

Page 40: Designing software for a million users

Designing Software for a Million Users Slide 40

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

Page 41: Designing software for a million users

Designing Software for a Million Users Slide 41

Page 42: Designing software for a million users

Designing Software for a Million Users Slide 42