This document summarizes the early history and development of the Government Digital Service (GDS) in the UK. It discusses how GDS was set up to create a single government domain (GOV.UK) and transform government services. It describes the initial split into "mainstream" and "inside government" work streams. It provides a timeline of departments that transitioned to GOV.UK between 2012-2013. It also discusses features of the platform, technical challenges around testing, and how adopting a service object pattern improved testability and code design.
23. GDS
David Heath
Feb 2012 - Inside Gov Beta
May 2012 - Dev work starts
Oct 2012 - GOV.UK mainstream live
23
24. GDS
David Heath
Feb 2012 - Inside Gov Beta
May 2012 - Dev work starts
Oct 2012 - GOV.UK mainstream live
Nov 2012 - DfT, DCLG
24
25.
26.
27. GDS
David Heath
Feb 2012 - Inside Gov Beta
May 2012 - Dev work starts
Oct 2012 - GOV.UK mainstream live
Nov 2012 - DfT, DCLG
Dec 2012 - MoD, FCO, BIS, AGO
27
28. GDS
David Heath
Feb 2012 - Inside Gov Beta
May 2012 - Dev work starts
Oct 2012 - GOV.UK mainstream live
Nov 2012 - DfT, DCLG
Dec 2012 - MoD, FCO, BIS, AGO
Jan 2013 - DECC, Scotland of
fi
ce
28
29. GDS
David Heath
Feb 2012 - Inside Gov Beta
May 2012 - Dev work starts
Oct 2012 - GOV.UK mainstream live
Nov 2012 - DfT, DCLG
Dec 2012 - MoD, FCO, BIS, AGO
Jan 2013 - DECC, Scotland of
fi
ce
Feb 2013 - Cabinet of
fi
ce (plus Commons
Lords of
fi
ce)
29
30. GDS
David Heath
Feb 2012 - Inside Gov Beta
May 2012 - Dev work starts
Oct 2012 - GOV.UK mainstream live
Nov 2012 - DfT, DCLG
Dec 2012 - MoD, FCO, BIS, AGO
Jan 2013 - DECC, Scotland of
fi
ce
Feb 2013 - Cabinet of
fi
ce (plus Commons
Lords of
fi
ce)
Feb 2013 - FCO travel services
30
31. GDS
David Heath
Feb 2012 - Inside Gov Beta
May 2012 - Dev work starts
Oct 2012 - GOV.UK mainstream live
Nov 2012 - DfT, DCLG
Dec 2012 - MoD, FCO, BIS, AGO
Jan 2013 - DECC, Scotland of
fi
ce
Feb 2013 - Cabinet of
fi
ce (plus Commons
Lords of
fi
ce)
Feb 2013 - FCO travel services
Mar 2013 - DfID, DoH, HO, Wales of
fi
ce
31
32. GDS
David Heath
Feb 2012 - Inside Gov Beta
May 2012 - Dev work starts
Oct 2012 - GOV.UK mainstream live
Nov 2012 - DfT, DCLG
Dec 2012 - MoD, FCO, BIS, AGO
Jan 2013 - DECC, Scotland of
fi
ce
Feb 2013 - Cabinet of
fi
ce (plus Commons
Lords of
fi
ce)
Feb 2013 - FCO travel services
Mar 2013 - DfID, DoH, HO, Wales of
fi
ce
Apr 2013 - Defra, MOJ, DWP, DfE HMT
32
40. GDS
David Heath
Features
Bulk document import
Iterating admin work
fl
ow
- Scheduled publishing
Iterating the navigation and design
Filter pages
Email alerts
40
41. GDS
David Heath
Features
Bulk document import
Iterating admin work
fl
ow
- Scheduled publishing
Iterating the navigation and design
Filter pages
Email alerts
Organisations
41
42. GDS
David Heath
Features
Bulk document import
Iterating admin work
fl
ow
- Scheduled publishing
Iterating the navigation and design
Filter pages
Email alerts
Organisations
- corporate information
42
43. GDS
David Heath
Features
Bulk document import
Iterating admin work
fl
ow
- Scheduled publishing
Iterating the navigation and design
Filter pages
Email alerts
Organisations
- corporate information
- featuring
43
58. GDS
David Heath
Position 1 -
- rails functional tests are
effective, pragmatic, powerful
tests
- cucumber is a complicated
and unnecessary abstraction
58
59. GDS
David Heath
Position 2 -
- no advantage of functional
tests over integration tests
- cucumber is great and every
new feature should have
cucumber coverage
59
74. GDS
David Heath
Complexity is the enemy
good software design allows us
to reason about code and
makes it testable
74
75. GDS
David Heath
Rails conventions followed
unthinkingly can lead to poor
design - coupled database,
models, controllers and views
Bob Martin
- “Architecture, the lost years”
75
99. GDS
David Heath
Rails conventions do not
encourage isolated designs
...to achieve good software
design, you need to study and
thoughtfully apply it
99
105. GDS
David Heath
Some patterns which help:
- service objects
- repository
- dependency injection
- “hexagonal” architecture
(isolate business logic from app
framework)
105