SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot

Introduction to AI & ML
Introduction to AI & MLIntroduction to AI & ML
Introduction to AI & MLMandy Sidana
 
Syntax and semantics of propositional logic
Syntax and semantics of propositional logicSyntax and semantics of propositional logic
Syntax and semantics of propositional logicJanet Stemwedel
 
Online algorithms and their applications
Online algorithms and their applicationsOnline algorithms and their applications
Online algorithms and their applicationsVikas Jindal
 
Introduction of Deep Learning
Introduction of Deep LearningIntroduction of Deep Learning
Introduction of Deep LearningMyungjin Lee
 
General introduction to AI ML DL DS
General introduction to AI ML DL DSGeneral introduction to AI ML DL DS
General introduction to AI ML DL DSRoopesh Kohad
 
Video Background Music Generation with Controllable Music Transformer
Video Background Music Generation with Controllable Music TransformerVideo Background Music Generation with Controllable Music Transformer
Video Background Music Generation with Controllable Music Transformerivaderivader
 
comparison of various sdlc models
comparison of various sdlc modelscomparison of various sdlc models
comparison of various sdlc modelssadaf ateeq
 
Presentation on computer science & engineering (cse)
Presentation on  computer science  & engineering (cse)Presentation on  computer science  & engineering (cse)
Presentation on computer science & engineering (cse)topu93
 
Nlp, robotics and expert system
Nlp, robotics and expert systemNlp, robotics and expert system
Nlp, robotics and expert systemsuman Mann Mann
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGSaqib Raza
 
INTERNSHIP ON MAcHINE LEARNING.pptx
INTERNSHIP ON MAcHINE LEARNING.pptxINTERNSHIP ON MAcHINE LEARNING.pptx
INTERNSHIP ON MAcHINE LEARNING.pptxsrikanthkallem1
 
Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering pptshruths2890
 
GAN - Theory and Applications
GAN - Theory and ApplicationsGAN - Theory and Applications
GAN - Theory and ApplicationsEmanuele Ghelfi
 
Overview on Optimization algorithms in Deep Learning
Overview on Optimization algorithms in Deep LearningOverview on Optimization algorithms in Deep Learning
Overview on Optimization algorithms in Deep LearningKhang Pham
 
Convolutional Neural Networks
Convolutional Neural NetworksConvolutional Neural Networks
Convolutional Neural NetworksAshray Bhandare
 
PPT2: Introduction of Machine Learning & Deep Learning and its types
PPT2: Introduction of Machine Learning & Deep Learning and its typesPPT2: Introduction of Machine Learning & Deep Learning and its types
PPT2: Introduction of Machine Learning & Deep Learning and its typesakira-ai
 

What's hot (20)

Introduction to AI & ML
Introduction to AI & MLIntroduction to AI & ML
Introduction to AI & ML
 
Deep learning
Deep learningDeep learning
Deep learning
 
Syntax and semantics of propositional logic
Syntax and semantics of propositional logicSyntax and semantics of propositional logic
Syntax and semantics of propositional logic
 
Online algorithms and their applications
Online algorithms and their applicationsOnline algorithms and their applications
Online algorithms and their applications
 
Introduction of Deep Learning
Introduction of Deep LearningIntroduction of Deep Learning
Introduction of Deep Learning
 
General introduction to AI ML DL DS
General introduction to AI ML DL DSGeneral introduction to AI ML DL DS
General introduction to AI ML DL DS
 
Augmenting Data Structures
Augmenting Data StructuresAugmenting Data Structures
Augmenting Data Structures
 
Video Background Music Generation with Controllable Music Transformer
Video Background Music Generation with Controllable Music TransformerVideo Background Music Generation with Controllable Music Transformer
Video Background Music Generation with Controllable Music Transformer
 
Transformer Zoo
Transformer ZooTransformer Zoo
Transformer Zoo
 
comparison of various sdlc models
comparison of various sdlc modelscomparison of various sdlc models
comparison of various sdlc models
 
Presentation on computer science & engineering (cse)
Presentation on  computer science  & engineering (cse)Presentation on  computer science  & engineering (cse)
Presentation on computer science & engineering (cse)
 
Artificial Intelligence = ML + DL with Tensor Flow
Artificial Intelligence = ML + DL with Tensor FlowArtificial Intelligence = ML + DL with Tensor Flow
Artificial Intelligence = ML + DL with Tensor Flow
 
Nlp, robotics and expert system
Nlp, robotics and expert systemNlp, robotics and expert system
Nlp, robotics and expert system
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
INTERNSHIP ON MAcHINE LEARNING.pptx
INTERNSHIP ON MAcHINE LEARNING.pptxINTERNSHIP ON MAcHINE LEARNING.pptx
INTERNSHIP ON MAcHINE LEARNING.pptx
 
Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering ppt
 
GAN - Theory and Applications
GAN - Theory and ApplicationsGAN - Theory and Applications
GAN - Theory and Applications
 
Overview on Optimization algorithms in Deep Learning
Overview on Optimization algorithms in Deep LearningOverview on Optimization algorithms in Deep Learning
Overview on Optimization algorithms in Deep Learning
 
Convolutional Neural Networks
Convolutional Neural NetworksConvolutional Neural Networks
Convolutional Neural Networks
 
PPT2: Introduction of Machine Learning & Deep Learning and its types
PPT2: Introduction of Machine Learning & Deep Learning and its typesPPT2: Introduction of Machine Learning & Deep Learning and its types
PPT2: Introduction of Machine Learning & Deep Learning and its types
 

Viewers also liked

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
 

Viewers also liked (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
 

Similar to 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 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
 
LEDU Education Ecosystem Whitepaper
LEDU Education Ecosystem WhitepaperLEDU Education Ecosystem Whitepaper
LEDU Education Ecosystem WhitepaperLEDU Token
 
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
 

Similar to 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
 
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
 
LEDU Education Ecosystem Whitepaper
LEDU Education Ecosystem WhitepaperLEDU Education Ecosystem Whitepaper
LEDU Education Ecosystem Whitepaper
 
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
 

More from 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
 

More from 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
 

Recently uploaded

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 

Recently uploaded (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 

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