Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Using Python to improve government - Pycon UK 2014

Using Python to improve government - Pycon UK 2014

The Government Digital Service is helping to transform government, helping to provide user led, high quality digital services to make citizens lives easier. One of the projects is based in Birmingham, dealing with giving citizens redundancy pay if their employer goes insolvent. We took a team of .NET engineers with no experience of agile development, and built a project in Python, iteratively, following government security principles. In this session, you'll learn why we picked python, how we convinced management, and how we convinced the developers

037360597d7b529eed1e61bb2329abc9?s=128

Michael Brunton-Spall

September 21, 2014
Tweet

Transcript

  1. Michael Brunton-Spall! Technical Architect! Government Digital Service! @bruntonspall

  2. Using python to improve government GDS Michael Brunton-Spall

  3. Who am I? GDS Michael Brunton-Spall

  4. Government Digital Service GDS Michael Brunton-Spall

  5. A digital civil service GDS Michael Brunton-Spall

  6. 1. Build a centre of excellence in digital GDS Michael

    Brunton-Spall
  7. 2. Fix publishing GDS Michael Brunton-Spall

  8. 3. Fix transactions GDS Michael Brunton-Spall

  9. Identify 25 projects GDS Michael Brunton-Spall

  10. Insolvency Service GDS Michael Brunton-Spall

  11. Redundancy Payments GDS Michael Brunton-Spall

  12. The size of the problem GDS Michael Brunton-Spall

  13. GDS Michael Brunton-Spall

  14. Forms? GDS Michael Brunton-Spall

  15. I think the web might have a solution for this!

    GDS Michael Brunton-Spall
  16. An underused, under- invested in team GDS Michael Brunton-Spall

  17. Code freeze - 1 year and counting GDS Michael Brunton-Spall

  18. .NET, no consistent test or build systems GDS Michael Brunton-Spall

  19. How can we help? GDS Michael Brunton-Spall

  20. User centered design GDS Michael Brunton-Spall

  21. Nobody wants to claim redundancy GDS Michael Brunton-Spall

  22. They just want to get paid GDS Michael Brunton-Spall

  23. GDS Michael Brunton-Spall

  24. Start afresh, new language, new ways of working GDS Michael

    Brunton-Spall
  25. GDS Michael Brunton-Spall

  26. But what language? GDS Michael Brunton-Spall

  27. Considered: JVM, .NET, Ruby, Node.js, Python GDS Michael Brunton-Spall

  28. Have to convince some very skeptical senior managers GDS Michael

    Brunton-Spall
  29. Need a language that is GDS Michael Brunton-Spall

  30. Easy to learn GDS Michael Brunton-Spall

  31. Simple ecosystem GDS Michael Brunton-Spall

  32. Lots of pre-existing packages GDS Michael Brunton-Spall

  33. Good support for tests GDS Michael Brunton-Spall

  34. Performant and production capable GDS Michael Brunton-Spall

  35. Cross-OS support GDS Michael Brunton-Spall

  36. "Batteries included" GDS Michael Brunton-Spall

  37. Python was a clear winner GDS Michael Brunton-Spall

  38. (we might have been biased to start with) GDS Michael

    Brunton-Spall
  39. GDS Michael Brunton-Spall

  40. The team learnt: GDS Michael Brunton-Spall

  41. A new language GDS Michael Brunton-Spall

  42. Agile development GDS Michael Brunton-Spall

  43. Test driven design GDS Michael Brunton-Spall

  44. DevOps - Puppet, Ansible GDS Michael Brunton-Spall

  45. Linux Servers GDS Michael Brunton-Spall

  46. Cloud computing GDS Michael Brunton-Spall

  47. Continuous Integration GDS Michael Brunton-Spall

  48. Deployment GDS Michael Brunton-Spall

  49. All within a “secure” government context GDS Michael Brunton-Spall

  50. all in 12 months GDS Michael Brunton-Spall

  51. Not bad! GDS Michael Brunton-Spall

  52. Next challenges GDS Michael Brunton-Spall

  53. Repeat on other services GDS Michael Brunton-Spall

  54. Move into the backend services GDS Michael Brunton-Spall

  55. Be a good citizen, work for your government! GDS Michael

    Brunton-Spall
  56. Michael Brunton-Spall! Technical Architect! Government Digital Service! @bruntonspall