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

PDF
No Cloning Theorem with essential Mathematics and Physics
DOC
diamond-chip report
PPTX
Core i 7 processor
PPTX
IBOC TECHNOLOGY
PPTX
Gaming Console
PPTX
E ball technology
PPTX
PPTX
E Ball Computer
No Cloning Theorem with essential Mathematics and Physics
diamond-chip report
Core i 7 processor
IBOC TECHNOLOGY
Gaming Console
E ball technology
E Ball Computer

Viewers also liked (13)

PPTX
Human failure (LSCITS EngD 2012)
PPT
Chap 01 intro
PPTX
Security case buffer overflow
PPTX
CS5032 L19 cybersecurity 1
PPT
Quan nguyen symmetric versus asymmetric cryptography
PPTX
CS5032 Case study Ariane 5 launcher failure
PPT
Chap 28 security
PPT
12 symmetric key cryptography
PPT
13 asymmetric key cryptography
PPT
Introduction to Cyber Security
PPT
Network security
PPTX
An Introduction to Software Failure Modes Effects Analysis (SFMEA)
PPT
Network Security Threats and Solutions
Human failure (LSCITS EngD 2012)
Chap 01 intro
Security case buffer overflow
CS5032 L19 cybersecurity 1
Quan nguyen symmetric versus asymmetric cryptography
CS5032 Case study Ariane 5 launcher failure
Chap 28 security
12 symmetric key cryptography
13 asymmetric key cryptography
Introduction to Cyber Security
Network security
An Introduction to Software Failure Modes Effects Analysis (SFMEA)
Network Security Threats and Solutions
Ad

Similar to Designing software for a million users (20)

PDF
BIAC Hackathon Lightning Talks
PDF
Get the Tech Training Your Nonprofit Has Been Asking for (and That You'll Act...
PDF
LEDU Education Ecosystem Whitepaper
PDF
Netflix for the_360_billion_professional_development_market
PDF
LEDU Education Ecosystem Whitepaper
PPT
Google vs microsoft
PDF
Q1_LE_TLE 7_Lesson 1_Week 1 ICT 7 JOB.pdf
PDF
MATATAG CURR_Q1_LE_TLE 7_Lesson 1_Week 1.pdf
PDF
OutSystems for Higher Education Allowing Colleges to Excel at Digital Transfo...
PPT
Managing New Technologies: The Challenge Of Web 2.0
PDF
DIAT - Intro 2022 Batch sketch for a successful career in I will be waiting
PDF
SC6 Workshop 1: Big Data Europe platform requirements and draft architecture:...
PPTX
L&D Needs to Build Ecosystems for the Future of Work
PPT
AGILE - Adoptive Gateways for dIverse MuLtiple Environments
PPT
Adoptive Gateways for dIverse MuLtiple Environments
PPTX
UKSG Jisc learninganalytics-3june2016
PPTX
One to-One Computing Webinar Final 20160401
PPTX
K tech santa clara 20131114 v1
PPTX
AAPBriefingNov2015
PPTX
apidays LIVE Helsinki & North - How public innovative procurement speeds up A...
BIAC Hackathon Lightning Talks
Get the Tech Training Your Nonprofit Has Been Asking for (and That You'll Act...
LEDU Education Ecosystem Whitepaper
Netflix for the_360_billion_professional_development_market
LEDU Education Ecosystem Whitepaper
Google vs microsoft
Q1_LE_TLE 7_Lesson 1_Week 1 ICT 7 JOB.pdf
MATATAG CURR_Q1_LE_TLE 7_Lesson 1_Week 1.pdf
OutSystems for Higher Education Allowing Colleges to Excel at Digital Transfo...
Managing New Technologies: The Challenge Of Web 2.0
DIAT - Intro 2022 Batch sketch for a successful career in I will be waiting
SC6 Workshop 1: Big Data Europe platform requirements and draft architecture:...
L&D Needs to Build Ecosystems for the Future of Work
AGILE - Adoptive Gateways for dIverse MuLtiple Environments
Adoptive Gateways for dIverse MuLtiple Environments
UKSG Jisc learninganalytics-3june2016
One to-One Computing Webinar Final 20160401
K tech santa clara 20131114 v1
AAPBriefingNov2015
apidays LIVE Helsinki & North - How public innovative procurement speeds up A...
Ad

More from Ian Sommerville (20)

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

Recently uploaded (20)

PPTX
A Presentation on Artificial Intelligence
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Modernizing your data center with Dell and AMD
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
KodekX | Application Modernization Development
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPT
Teaching material agriculture food technology
PDF
Electronic commerce courselecture one. Pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
A Presentation on Artificial Intelligence
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Review of recent advances in non-invasive hemoglobin estimation
Dropbox Q2 2025 Financial Results & Investor Presentation
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Modernizing your data center with Dell and AMD
Mobile App Security Testing_ A Comprehensive Guide.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Digital-Transformation-Roadmap-for-Companies.pptx
KodekX | Application Modernization Development
20250228 LYD VKU AI Blended-Learning.pptx
Unlocking AI with Model Context Protocol (MCP)
Network Security Unit 5.pdf for BCA BBA.
Empathic Computing: Creating Shared Understanding
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Teaching material agriculture food technology
Electronic commerce courselecture one. Pdf
Building Integrated photovoltaic BIPV_UPV.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