SlideShare ist ein Scribd-Unternehmen logo
1 von 42
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
Document
management
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 learning
environment
Designing Software for a Million Users Slide 8
Potential users
658, 000 52, 000
650, 000
10, 000
Designing Software for a Million Users Slide 9
Designing Software for a Million Users Slide 10
Software
complexity
Technical
complexity
Governance
complexity
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 consultation
Use-case modelling
Prototyping
Conflict 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 Sommerville
School of Computer Science
University of St Andrews
Scotland
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

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction To Mycin Expert System
Introduction To Mycin Expert SystemIntroduction To Mycin Expert System
Introduction To Mycin Expert SystemNipun Jaswal
 
Arterial Supply of Upper Limb
Arterial Supply of Upper LimbArterial Supply of Upper Limb
Arterial Supply of Upper LimbAsish Rajak
 
weak slot and filler structure
weak slot and filler structureweak slot and filler structure
weak slot and filler structureAmey Kerkar
 
Tibiofibular and ankle joint complex
Tibiofibular and ankle joint complexTibiofibular and ankle joint complex
Tibiofibular and ankle joint complexAmmedicine Medicine
 
Anatomy of pubic symphysis and sacroiliac joint (www.Am-medicine.com)
Anatomy of pubic symphysis and sacroiliac joint (www.Am-medicine.com)Anatomy of pubic symphysis and sacroiliac joint (www.Am-medicine.com)
Anatomy of pubic symphysis and sacroiliac joint (www.Am-medicine.com)Ammedicine Medicine
 
Anastomosis around shoulder joint, anatomy
Anastomosis around shoulder joint, anatomyAnastomosis around shoulder joint, anatomy
Anastomosis around shoulder joint, anatomyRasheedUlhaq
 
Typical Spinal Nerve.ppsx
Typical Spinal Nerve.ppsxTypical Spinal Nerve.ppsx
Typical Spinal Nerve.ppsxShubhamKalambe8
 
Organization of the ll, front and medial sides of thigh
Organization of the ll, front and medial sides of thighOrganization of the ll, front and medial sides of thigh
Organization of the ll, front and medial sides of thighOmar Moatamed
 
Retinacula of the hand
Retinacula of the handRetinacula of the hand
Retinacula of the handIdris Siddiqui
 
Critical Section in Operating System
Critical Section in Operating SystemCritical Section in Operating System
Critical Section in Operating SystemMOHIT AGARWAL
 
Common illiac artery
Common illiac arteryCommon illiac artery
Common illiac arteryMuzaffar khan
 
Lymphatic's of breast
Lymphatic's of breast Lymphatic's of breast
Lymphatic's of breast Muhammad Bilal
 

Was ist angesagt? (20)

Run time administration
Run time administrationRun time administration
Run time administration
 
CUBITAL FOSSA.pptx
CUBITAL FOSSA.pptxCUBITAL FOSSA.pptx
CUBITAL FOSSA.pptx
 
Introduction To Mycin Expert System
Introduction To Mycin Expert SystemIntroduction To Mycin Expert System
Introduction To Mycin Expert System
 
Arterial Supply of Upper Limb
Arterial Supply of Upper LimbArterial Supply of Upper Limb
Arterial Supply of Upper Limb
 
The anatomy of the arm
The anatomy of the armThe anatomy of the arm
The anatomy of the arm
 
weak slot and filler structure
weak slot and filler structureweak slot and filler structure
weak slot and filler structure
 
Tibiofibular and ankle joint complex
Tibiofibular and ankle joint complexTibiofibular and ankle joint complex
Tibiofibular and ankle joint complex
 
Anatomy of pubic symphysis and sacroiliac joint (www.Am-medicine.com)
Anatomy of pubic symphysis and sacroiliac joint (www.Am-medicine.com)Anatomy of pubic symphysis and sacroiliac joint (www.Am-medicine.com)
Anatomy of pubic symphysis and sacroiliac joint (www.Am-medicine.com)
 
Anastomosis around shoulder joint, anatomy
Anastomosis around shoulder joint, anatomyAnastomosis around shoulder joint, anatomy
Anastomosis around shoulder joint, anatomy
 
Typical Spinal Nerve.ppsx
Typical Spinal Nerve.ppsxTypical Spinal Nerve.ppsx
Typical Spinal Nerve.ppsx
 
DITEC - Software Engineering
DITEC - Software EngineeringDITEC - Software Engineering
DITEC - Software Engineering
 
Lecture#5
Lecture#5Lecture#5
Lecture#5
 
Organization of the ll, front and medial sides of thigh
Organization of the ll, front and medial sides of thighOrganization of the ll, front and medial sides of thigh
Organization of the ll, front and medial sides of thigh
 
The pelvic
The pelvic The pelvic
The pelvic
 
Retinacula of the hand
Retinacula of the handRetinacula of the hand
Retinacula of the hand
 
Critical Section in Operating System
Critical Section in Operating SystemCritical Section in Operating System
Critical Section in Operating System
 
Common illiac artery
Common illiac arteryCommon illiac artery
Common illiac artery
 
Lymphatic's of breast
Lymphatic's of breast Lymphatic's of breast
Lymphatic's of breast
 
Fault tolerance
Fault toleranceFault tolerance
Fault tolerance
 
Arm & Cubital Fossa.pptx
Arm & Cubital Fossa.pptxArm & Cubital Fossa.pptx
Arm & Cubital Fossa.pptx
 

Andere mochten auch

Human failure (LSCITS EngD 2012)
Human failure (LSCITS EngD 2012)Human failure (LSCITS EngD 2012)
Human failure (LSCITS EngD 2012)Ian Sommerville
 
Security case buffer overflow
Security case buffer overflowSecurity case buffer overflow
Security case buffer overflowIan Sommerville
 
CS5032 L19 cybersecurity 1
CS5032 L19 cybersecurity 1CS5032 L19 cybersecurity 1
CS5032 L19 cybersecurity 1Ian Sommerville
 
CS5032 Case study Ariane 5 launcher failure
CS5032 Case study Ariane 5 launcher failureCS5032 Case study Ariane 5 launcher failure
CS5032 Case study Ariane 5 launcher failureIan Sommerville
 
12 symmetric key cryptography
12   symmetric key cryptography12   symmetric key cryptography
12 symmetric key cryptographydrewz lin
 
13 asymmetric key cryptography
13   asymmetric key cryptography13   asymmetric key cryptography
13 asymmetric key cryptographydrewz lin
 
Introduction to Cyber Security
Introduction to Cyber SecurityIntroduction to Cyber Security
Introduction to Cyber SecurityStephen Lahanas
 
An Introduction to Software Failure Modes Effects Analysis (SFMEA)
An Introduction to Software Failure Modes Effects Analysis (SFMEA)An Introduction to Software Failure Modes Effects Analysis (SFMEA)
An Introduction to Software Failure Modes Effects Analysis (SFMEA)Ann Marie Neufelder
 
Network Security Threats and Solutions
Network Security Threats and SolutionsNetwork Security Threats and Solutions
Network Security Threats and SolutionsColin058
 

Andere mochten auch (13)

Human failure (LSCITS EngD 2012)
Human failure (LSCITS EngD 2012)Human failure (LSCITS EngD 2012)
Human failure (LSCITS EngD 2012)
 
Chap 01 intro
Chap 01 introChap 01 intro
Chap 01 intro
 
Security case buffer overflow
Security case buffer overflowSecurity case buffer overflow
Security case buffer overflow
 
CS5032 L19 cybersecurity 1
CS5032 L19 cybersecurity 1CS5032 L19 cybersecurity 1
CS5032 L19 cybersecurity 1
 
Quan nguyen symmetric versus asymmetric cryptography
Quan nguyen   symmetric versus asymmetric cryptographyQuan nguyen   symmetric versus asymmetric cryptography
Quan nguyen symmetric versus asymmetric cryptography
 
CS5032 Case study Ariane 5 launcher failure
CS5032 Case study Ariane 5 launcher failureCS5032 Case study Ariane 5 launcher failure
CS5032 Case study Ariane 5 launcher failure
 
Chap 28 security
Chap 28 securityChap 28 security
Chap 28 security
 
12 symmetric key cryptography
12   symmetric key cryptography12   symmetric key cryptography
12 symmetric key cryptography
 
13 asymmetric key cryptography
13   asymmetric key cryptography13   asymmetric key cryptography
13 asymmetric key cryptography
 
Introduction to Cyber Security
Introduction to Cyber SecurityIntroduction to Cyber Security
Introduction to Cyber Security
 
Network security
Network securityNetwork security
Network security
 
An Introduction to Software Failure Modes Effects Analysis (SFMEA)
An Introduction to Software Failure Modes Effects Analysis (SFMEA)An Introduction to Software Failure Modes Effects Analysis (SFMEA)
An Introduction to Software Failure Modes Effects Analysis (SFMEA)
 
Network Security Threats and Solutions
Network Security Threats and SolutionsNetwork Security Threats and Solutions
Network Security Threats and Solutions
 

Ähnlich wie Designing software for a million users

BIAC Hackathon Lightning Talks
BIAC Hackathon Lightning TalksBIAC Hackathon Lightning Talks
BIAC Hackathon Lightning TalksEd Donahue
 
Get the Tech Training Your Nonprofit Has Been Asking for (and That You'll Act...
Get the Tech Training Your Nonprofit Has Been Asking for (and That You'll Act...Get the Tech Training Your Nonprofit Has Been Asking for (and That You'll Act...
Get the Tech Training Your Nonprofit Has Been Asking for (and That You'll Act...TechSoup
 
LEDU Education Ecosystem Whitepaper
LEDU Education Ecosystem WhitepaperLEDU Education Ecosystem Whitepaper
LEDU Education Ecosystem WhitepaperLEDU Token
 
LEDU Education Ecosystem Whitepaper
LEDU Education Ecosystem WhitepaperLEDU Education Ecosystem Whitepaper
LEDU Education Ecosystem WhitepaperKristineMejia2
 
Netflix for the_360_billion_professional_development_market
Netflix for the_360_billion_professional_development_marketNetflix for the_360_billion_professional_development_market
Netflix for the_360_billion_professional_development_marketKristineMejia2
 
OutSystems for Higher Education Allowing Colleges to Excel at Digital Transfo...
OutSystems for Higher Education Allowing Colleges to Excel at Digital Transfo...OutSystems for Higher Education Allowing Colleges to Excel at Digital Transfo...
OutSystems for Higher Education Allowing Colleges to Excel at Digital Transfo...OutSystems
 
Managing New Technologies: The Challenge Of Web 2.0
Managing New Technologies: The Challenge Of Web 2.0Managing New Technologies: The Challenge Of Web 2.0
Managing New Technologies: The Challenge Of Web 2.0lisbk
 
SC6 Workshop 1: Big Data Europe platform requirements and draft architecture:...
SC6 Workshop 1: Big Data Europe platform requirements and draft architecture:...SC6 Workshop 1: Big Data Europe platform requirements and draft architecture:...
SC6 Workshop 1: Big Data Europe platform requirements and draft architecture:...BigData_Europe
 
L&D Needs to Build Ecosystems for the Future of Work
L&D Needs to Build Ecosystems for the Future of WorkL&D Needs to Build Ecosystems for the Future of Work
L&D Needs to Build Ecosystems for the Future of WorkLearningCafe
 
AGILE - Adoptive Gateways for dIverse MuLtiple Environments
AGILE -  Adoptive Gateways for dIverse MuLtiple EnvironmentsAGILE -  Adoptive Gateways for dIverse MuLtiple Environments
AGILE - Adoptive Gateways for dIverse MuLtiple EnvironmentsAGILE IoT
 
Adoptive Gateways for dIverse MuLtiple Environments
Adoptive Gateways for dIverse MuLtiple EnvironmentsAdoptive Gateways for dIverse MuLtiple Environments
Adoptive Gateways for dIverse MuLtiple EnvironmentsCharalampos Doukas
 
UKSG Jisc learninganalytics-3june2016
UKSG Jisc learninganalytics-3june2016UKSG Jisc learninganalytics-3june2016
UKSG Jisc learninganalytics-3june2016Paul Bailey
 
One to-One Computing Webinar Final 20160401
One to-One Computing Webinar Final 20160401One to-One Computing Webinar Final 20160401
One to-One Computing Webinar Final 20160401Alex Jackl
 
K tech santa clara 20131114 v1
K tech santa clara 20131114 v1K tech santa clara 20131114 v1
K tech santa clara 20131114 v1ISSIP
 
AAPBriefingNov2015
AAPBriefingNov2015AAPBriefingNov2015
AAPBriefingNov2015Mark Conway
 
apidays LIVE Helsinki & North - How public innovative procurement speeds up A...
apidays LIVE Helsinki & North - How public innovative procurement speeds up A...apidays LIVE Helsinki & North - How public innovative procurement speeds up A...
apidays LIVE Helsinki & North - How public innovative procurement speeds up A...apidays
 
Digital Transformation Strategy Template and Training
Digital Transformation Strategy Template and TrainingDigital Transformation Strategy Template and Training
Digital Transformation Strategy Template and TrainingAurelien Domont, MBA
 
NUS-ISS Learning Day 2018- Harness the power of network effects and platform ...
NUS-ISS Learning Day 2018- Harness the power of network effects and platform ...NUS-ISS Learning Day 2018- Harness the power of network effects and platform ...
NUS-ISS Learning Day 2018- Harness the power of network effects and platform ...NUS-ISS
 
Digital apprenticeships community event
Digital apprenticeships community eventDigital apprenticeships community event
Digital apprenticeships community eventJames Clay
 

Ähnlich wie Designing software for a million users (20)

BIAC Hackathon Lightning Talks
BIAC Hackathon Lightning TalksBIAC Hackathon Lightning Talks
BIAC Hackathon Lightning Talks
 
Get the Tech Training Your Nonprofit Has Been Asking for (and That You'll Act...
Get the Tech Training Your Nonprofit Has Been Asking for (and That You'll Act...Get the Tech Training Your Nonprofit Has Been Asking for (and That You'll Act...
Get the Tech Training Your Nonprofit Has Been Asking for (and That You'll Act...
 
LEDU Education Ecosystem Whitepaper
LEDU Education Ecosystem WhitepaperLEDU Education Ecosystem Whitepaper
LEDU Education Ecosystem Whitepaper
 
LEDU Education Ecosystem Whitepaper
LEDU Education Ecosystem WhitepaperLEDU Education Ecosystem Whitepaper
LEDU Education Ecosystem Whitepaper
 
Netflix for the_360_billion_professional_development_market
Netflix for the_360_billion_professional_development_marketNetflix for the_360_billion_professional_development_market
Netflix for the_360_billion_professional_development_market
 
Google vs microsoft
Google vs microsoftGoogle vs microsoft
Google vs microsoft
 
OutSystems for Higher Education Allowing Colleges to Excel at Digital Transfo...
OutSystems for Higher Education Allowing Colleges to Excel at Digital Transfo...OutSystems for Higher Education Allowing Colleges to Excel at Digital Transfo...
OutSystems for Higher Education Allowing Colleges to Excel at Digital Transfo...
 
Managing New Technologies: The Challenge Of Web 2.0
Managing New Technologies: The Challenge Of Web 2.0Managing New Technologies: The Challenge Of Web 2.0
Managing New Technologies: The Challenge Of Web 2.0
 
SC6 Workshop 1: Big Data Europe platform requirements and draft architecture:...
SC6 Workshop 1: Big Data Europe platform requirements and draft architecture:...SC6 Workshop 1: Big Data Europe platform requirements and draft architecture:...
SC6 Workshop 1: Big Data Europe platform requirements and draft architecture:...
 
L&D Needs to Build Ecosystems for the Future of Work
L&D Needs to Build Ecosystems for the Future of WorkL&D Needs to Build Ecosystems for the Future of Work
L&D Needs to Build Ecosystems for the Future of Work
 
AGILE - Adoptive Gateways for dIverse MuLtiple Environments
AGILE -  Adoptive Gateways for dIverse MuLtiple EnvironmentsAGILE -  Adoptive Gateways for dIverse MuLtiple Environments
AGILE - Adoptive Gateways for dIverse MuLtiple Environments
 
Adoptive Gateways for dIverse MuLtiple Environments
Adoptive Gateways for dIverse MuLtiple EnvironmentsAdoptive Gateways for dIverse MuLtiple Environments
Adoptive Gateways for dIverse MuLtiple Environments
 
UKSG Jisc learninganalytics-3june2016
UKSG Jisc learninganalytics-3june2016UKSG Jisc learninganalytics-3june2016
UKSG Jisc learninganalytics-3june2016
 
One to-One Computing Webinar Final 20160401
One to-One Computing Webinar Final 20160401One to-One Computing Webinar Final 20160401
One to-One Computing Webinar Final 20160401
 
K tech santa clara 20131114 v1
K tech santa clara 20131114 v1K tech santa clara 20131114 v1
K tech santa clara 20131114 v1
 
AAPBriefingNov2015
AAPBriefingNov2015AAPBriefingNov2015
AAPBriefingNov2015
 
apidays LIVE Helsinki & North - How public innovative procurement speeds up A...
apidays LIVE Helsinki & North - How public innovative procurement speeds up A...apidays LIVE Helsinki & North - How public innovative procurement speeds up A...
apidays LIVE Helsinki & North - How public innovative procurement speeds up A...
 
Digital Transformation Strategy Template and Training
Digital Transformation Strategy Template and TrainingDigital Transformation Strategy Template and Training
Digital Transformation Strategy Template and Training
 
NUS-ISS Learning Day 2018- Harness the power of network effects and platform ...
NUS-ISS Learning Day 2018- Harness the power of network effects and platform ...NUS-ISS Learning Day 2018- Harness the power of network effects and platform ...
NUS-ISS Learning Day 2018- Harness the power of network effects and platform ...
 
Digital apprenticeships community event
Digital apprenticeships community eventDigital apprenticeships community event
Digital apprenticeships community event
 

Mehr von Ian Sommerville

Ultra Large Scale Systems
Ultra Large Scale SystemsUltra Large Scale Systems
Ultra Large Scale SystemsIan Sommerville
 
Dependability requirements for LSCITS
Dependability requirements for LSCITSDependability requirements for LSCITS
Dependability requirements for LSCITSIan Sommerville
 
Conceptual systems design
Conceptual systems designConceptual systems design
Conceptual systems designIan Sommerville
 
Requirements Engineering for LSCITS
Requirements Engineering for LSCITSRequirements Engineering for LSCITS
Requirements Engineering for LSCITSIan Sommerville
 
An introduction to LSCITS
An introduction to LSCITSAn introduction to LSCITS
An introduction to LSCITSIan Sommerville
 
Internet worm-case-study
Internet worm-case-studyInternet worm-case-study
Internet worm-case-studyIan Sommerville
 
CS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disasterCS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disasterIan Sommerville
 
CS5032 L20 cybersecurity 2
CS5032 L20 cybersecurity 2CS5032 L20 cybersecurity 2
CS5032 L20 cybersecurity 2Ian Sommerville
 
L17 CS5032 critical infrastructure
L17 CS5032 critical infrastructureL17 CS5032 critical infrastructure
L17 CS5032 critical infrastructureIan Sommerville
 
CS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breachCS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breachIan Sommerville
 
CS 5032 L18 Critical infrastructure 2: SCADA systems
CS 5032 L18 Critical infrastructure 2: SCADA systemsCS 5032 L18 Critical infrastructure 2: SCADA systems
CS 5032 L18 Critical infrastructure 2: SCADA systemsIan Sommerville
 
CS5032 L9 security engineering 1 2013
CS5032 L9 security engineering 1 2013CS5032 L9 security engineering 1 2013
CS5032 L9 security engineering 1 2013Ian Sommerville
 
CS5032 L10 security engineering 2 2013
CS5032 L10 security engineering 2 2013CS5032 L10 security engineering 2 2013
CS5032 L10 security engineering 2 2013Ian Sommerville
 
CS5032 L11 validation and reliability testing 2013
CS5032 L11 validation and reliability testing 2013CS5032 L11 validation and reliability testing 2013
CS5032 L11 validation and reliability testing 2013Ian Sommerville
 
CS 5032 L12 security testing and dependability cases 2013
CS 5032 L12  security testing and dependability cases 2013CS 5032 L12  security testing and dependability cases 2013
CS 5032 L12 security testing and dependability cases 2013Ian Sommerville
 
CS 5032 L7 dependability engineering 2013
CS 5032 L7 dependability engineering 2013CS 5032 L7 dependability engineering 2013
CS 5032 L7 dependability engineering 2013Ian Sommerville
 

Mehr von Ian Sommerville (20)

Ultra Large Scale Systems
Ultra Large Scale SystemsUltra Large Scale Systems
Ultra Large Scale Systems
 
Resp modellingintro
Resp modellingintroResp modellingintro
Resp modellingintro
 
Resilience and recovery
Resilience and recoveryResilience and recovery
Resilience and recovery
 
LSCITS-engineering
LSCITS-engineeringLSCITS-engineering
LSCITS-engineering
 
Requirements reality
Requirements realityRequirements reality
Requirements reality
 
Dependability requirements for LSCITS
Dependability requirements for LSCITSDependability requirements for LSCITS
Dependability requirements for LSCITS
 
Conceptual systems design
Conceptual systems designConceptual systems design
Conceptual systems design
 
Requirements Engineering for LSCITS
Requirements Engineering for LSCITSRequirements Engineering for LSCITS
Requirements Engineering for LSCITS
 
An introduction to LSCITS
An introduction to LSCITSAn introduction to LSCITS
An introduction to LSCITS
 
Internet worm-case-study
Internet worm-case-studyInternet worm-case-study
Internet worm-case-study
 
CS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disasterCS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disaster
 
CS5032 L20 cybersecurity 2
CS5032 L20 cybersecurity 2CS5032 L20 cybersecurity 2
CS5032 L20 cybersecurity 2
 
L17 CS5032 critical infrastructure
L17 CS5032 critical infrastructureL17 CS5032 critical infrastructure
L17 CS5032 critical infrastructure
 
CS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breachCS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breach
 
CS 5032 L18 Critical infrastructure 2: SCADA systems
CS 5032 L18 Critical infrastructure 2: SCADA systemsCS 5032 L18 Critical infrastructure 2: SCADA systems
CS 5032 L18 Critical infrastructure 2: SCADA systems
 
CS5032 L9 security engineering 1 2013
CS5032 L9 security engineering 1 2013CS5032 L9 security engineering 1 2013
CS5032 L9 security engineering 1 2013
 
CS5032 L10 security engineering 2 2013
CS5032 L10 security engineering 2 2013CS5032 L10 security engineering 2 2013
CS5032 L10 security engineering 2 2013
 
CS5032 L11 validation and reliability testing 2013
CS5032 L11 validation and reliability testing 2013CS5032 L11 validation and reliability testing 2013
CS5032 L11 validation and reliability testing 2013
 
CS 5032 L12 security testing and dependability cases 2013
CS 5032 L12  security testing and dependability cases 2013CS 5032 L12  security testing and dependability cases 2013
CS 5032 L12 security testing and dependability cases 2013
 
CS 5032 L7 dependability engineering 2013
CS 5032 L7 dependability engineering 2013CS 5032 L7 dependability engineering 2013
CS 5032 L7 dependability engineering 2013
 

Kürzlich hochgeladen

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 

Kürzlich hochgeladen (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 

Designing software for a million users

  • 1. Designing Software for a Million Users Slide 1 Designing Software for a Million Users A story about a socio-technical system
  • 2. Designing Software for a Million Users Slide 2
  • 3. Designing Software for a Million Users Slide 3 2007 Collaboration tools Educational content Document management
  • 4. 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. “
  • 5. Designing Software for a Million Users Slide 5 Replacing Glow December 2013
  • 6. 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
  • 7. Designing Software for a Million Users Slide 7 Digital learning environment
  • 8. Designing Software for a Million Users Slide 8 Potential users 658, 000 52, 000 650, 000 10, 000
  • 9. Designing Software for a Million Users Slide 9
  • 10. Designing Software for a Million Users Slide 10 Software complexity Technical complexity Governance complexity Management complexity Environmental complexity
  • 11. Designing Software for a Million Users Slide 11 Technies don’t understand other types of complexity Non-techies don’t understand technical complexity
  • 12. 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.
  • 13. 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
  • 14. Designing Software for a Million Users Slide 14 Software engineering Establish the requirements for the DLE Define an architecture for the system Stakeholder consultation Use-case modelling Prototyping Conflict analysis System modelling, ADLs, UML
  • 15. Designing Software for a Million Users Slide 15 What didn’t work!
  • 16. Designing Software for a Million Users Slide 16 Requirements engineering!
  • 17. Designing Software for a Million Users Slide 17 Viewpoints!
  • 18. Designing Software for a Million Users Slide 18 “We don’t need a new system, just the freedom to use what is available”
  • 19. Designing Software for a Million Users Slide 19 System modelling and the UML!
  • 20. Designing Software for a Million Users Slide 20 Prototyping!
  • 21. Designing Software for a Million Users Slide 21 Use-cases!
  • 22. Designing Software for a Million Users Slide 22 Software engineering meets reality Prof. Ian Sommerville School of Computer Science University of St Andrews Scotland
  • 23. 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
  • 24. 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
  • 25. Designing Software for a Million Users Slide 25
  • 26. Designing Software for a Million Users Slide 26
  • 27. 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.
  • 28. 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.
  • 29. Designing Software for a Million Users Slide 29 What happened?
  • 30. Designing Software for a Million Users Slide 30 Trusted professionals
  • 31. Designing Software for a Million Users Slide 31 Architecture for adaptability •
  • 32. Designing Software for a Million Users Slide 32 Deliver capability not features
  • 33. Designing Software for a Million Users Slide 33
  • 34. Designing Software for a Million Users Slide 34
  • 35. Designing Software for a Million Users Slide 35 Implementation experience
  • 36. Designing Software for a Million Users Slide 36 Lessons learned
  • 37. Designing Software for a Million Users Slide 37 Coolness! “It has to look cool or the kids won’t use it”
  • 38. 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
  • 39. 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
  • 40. Designing Software for a Million Users Slide 40 Government (and EU) procurement models are designed for police cars and paper clips, not software
  • 41. Designing Software for a Million Users Slide 41
  • 42. Designing Software for a Million Users Slide 42