Open source workflows in highly regulated environments

Open source workflows in highly regulated environments

Why how you work is as important as what you work on.

19d03ecc1ff5da1a5e63a3ddaa2d84c2?s=128

Ben Balter

May 08, 2017
Tweet

Transcript

  1. Open source workflows 
 in highly regulated environments @benbalter ben.balter.com

    ben.balter@github.com
  2. Conway's law “organizations which design systems ... are constrained to

    produce designs which are copies of the communication structures of these organizations ”
  3. How you work is as important as what you work

    on
  4. Roadmap 1. Open source moves beyond Agile 2. Open source

    behind the firewall 3. Open source in regulated environments
  5. 1. Open source moves beyond Agile

  6. Agile is a methodology "get incremental changes into users' hands"

  7. Open source is a philosophy "remove barriers to the free

    flow of information"
  8. Closed source Open source Waterfall Traditional software development Publishing 


    proprietary code Agile Modern software development Working in the open
  9. Both open source and agile value ad-hoc and informal communication

    over documentation and process
  10. Face-to-face versus asynchronous Agile Open source

  11. Applying open source to Agile

  12. Transparency solves for process

  13. 1. Prefer social constraints over administrative or technical constraints

  14. 2. Prefer systems that naturally capture and expose process

  15. 3. Prefer stakeholders subscribe to the software development process itself

  16. The constraints of open source

  17. Electronic Prefer systems that naturally capture process

  18. Available Expose process via shareable URLs

  19. Asynchronous Decisions can be made outside meetings

  20. Informal Professional, not formal

  21. Open source flow https://guides.github.com/introduction/flow/

  22. Issues are Agile user stories

  23. Everyone has access to issues

  24. Anyone can open an issue

  25. Teams prioritize, sequence, and implement

  26. Create a branch

  27. Add commits

  28. Open a pull request

  29. Discuss and review

  30. Deploy

  31. Merge

  32. 2. Open source behind the firewall

  33. Open source is a philosophy, 
 not a type of

    software
  34. Process is shared to the widest extent practical One team,

    your organization, or the entire world
  35. Human-centric processes produce human-centric software

  36. Five best practices of open source behind the firewall

  37. 1. The technology is the easy part

  38. 2. Start small and go through the motions

  39. 3. Minimize information imbalance

  40. 4. Embrace the constraints of open source

  41. 5. Minimize Friction

  42. Friction (n) - the time it takes to go from

    "I want to contribute" to "I have"
  43. 3. Open source in regulated environments

  44. Version control captures who made what change when

  45. Open source workflows 
 capture (and expose) process

  46. How open source captures process 1. Chat (and issues) 2.

    ChatOps 3. Continuous Integration 4. Code Reviews 5. Deployments
  47. Chat (and issues)

  48. Chat is inherently asynchronous

  49. Chat captures and exposes who made what decision why

  50. ChatOps A shared command-line for development teams

  51. Meet Hubot

  52. CultureOps

  53. DevOps • View cameras in our datacenter • Search error

    logs • Manage and trigger alerts • Perform server maintenance • Configure load balancer • Provision servers • Adjust firewalls • Activate DDoS mitigation • Configure DNS • Manage background jobs • Deploy to production
  54. Continuous Integration (CI)

  55. Required build statuses

  56. Nothing gets deployed unless tests are green

  57. Code reviews

  58. Nothing gets deployed unless reviews are green

  59. Deployments at GitHub On the pull request in Chat

  60. How you work is as important as what you work

    on
  61. Open source workflows 
 in highly regulated environments @benbalter ben.balter.com

    ben.balter@github.com