Ruby in the US Government for Ruby World Conference

108
Ruby in the US Government Sarah Allen @ultrasaurus 米大統領イノベーションフェロー Presidential Innovation Fellow

description

In the United States, Ruby is a common technology choice for startups and is also gaining popularity in large companies. In contrast, Ruby is rarely used for US Government projects. Why do startups favor Ruby while the government makes other choices? I have been both a startup founder and government employee. After developing a Ruby on Rails web app for my startup Mightyverse from 2009, I worked as a Presidential Innovation Fellow within the Obama administration. I will discuss work in both spheres, and highlight the common themes in the development process.

Transcript of Ruby in the US Government for Ruby World Conference

Page 1: Ruby in the US Government for Ruby World Conference

Ruby in the US Government

Sarah Allen!@ultrasaurus!!

米大統領イノベーションフェロー!Presidential Innovation Fellow

Page 2: Ruby in the US Government for Ruby World Conference

User Centric Design Agile Development US Government

Page 3: Ruby in the US Government for Ruby World Conference
Page 4: Ruby in the US Government for Ruby World Conference
Page 5: Ruby in the US Government for Ruby World Conference

Bridge Foundry

Page 6: Ruby in the US Government for Ruby World Conference
Page 7: Ruby in the US Government for Ruby World Conference

I love Ruby

Page 8: Ruby in the US Government for Ruby World Conference

“The goal of Ruby

is to make

programmers

happy.”

Page 9: Ruby in the US Government for Ruby World Conference

Ruby

also good for business

Page 10: Ruby in the US Government for Ruby World Conference

Flexible Expressive

Solid Test Frameworks

Page 11: Ruby in the US Government for Ruby World Conference

Software grows & changes

to meet market needs.

Page 12: Ruby in the US Government for Ruby World Conference

Language is Power

言語は、パワーです。

Page 13: Ruby in the US Government for Ruby World Conference

is Ruby good for Government?

Page 14: Ruby in the US Government for Ruby World Conference

130 most commonly used services

available on-line, anywhere, anytime,

and in both official languages

2006

Canada Government On Line

http://publications.gc.ca/collections/Collection/P4-1-2006E.pdf

Page 15: Ruby in the US Government for Ruby World Conference

gov.uk replaced hundreds of websites

streamlining access to most used

services and information

2012

United Kingdom Government Digital Service (GDS)

Page 16: Ruby in the US Government for Ruby World Conference

“the strategy is delivery”

— Mike Bracken, Head of Government Digital Service

United Kingdom Government Digital Service (GDS)

Page 17: Ruby in the US Government for Ruby World Conference

United Kingdom Government Digital Service (GDS)

Page 18: Ruby in the US Government for Ruby World Conference

“Making the thing makes scary things

feel exciting and achievable”

— Leisa Reichelt, Head of User Reseach

Government Digital Service

United Kingdom Government Digital Service (GDS)

Page 19: Ruby in the US Government for Ruby World Conference

allow wider public access to government data

to improve the transparency of state affairs

2013

Republic of KoreaGovernment 3.0

Page 20: Ruby in the US Government for Ruby World Conference
Page 21: Ruby in the US Government for Ruby World Conference

“I want us to ask ourselves every day,

how are we using technology to make a

real difference in people’s lives.”

— US President Barack Obama

United States of America Digital Government Strategy

http://www.whitehouse.gov/sites/default/files/omb/egov/digital-government/digital-government.html

Page 22: Ruby in the US Government for Ruby World Conference

United States of America Digital Government Strategy

United States Digital Service

Page 23: Ruby in the US Government for Ruby World Conference

https://playbook.cio.gov/

Page 24: Ruby in the US Government for Ruby World Conference

U.S. Digital Services Playbook 米国. ディジタルサ〡ビスのPlaybook

1. 人々が必要とするものを

理解する。

2. 全経験に、始めから

終わりまで演説しなさい。

3. それを簡単および

直観的にする。

1. Understand what people need

2. Address the whole experience,

from start to finish

3. Make it simple and intuitive

https://playbook.cio.gov/

Page 25: Ruby in the US Government for Ruby World Conference

U.S. Digital Services Playbook 米国. ディジタルサ〡ビスのPlaybook

4. 敏捷で、

反復的な練習を使用して

サ〡ビスをつくる。

5. 納品をサポ〡ト

する予算と構造を構築する。

4. Build the service using

agile and iterative practices

5. Structure budgets & contracts

to support delivery

https://playbook.cio.gov/

Page 26: Ruby in the US Government for Ruby World Conference

U.S. Digital Services Playbook 米国. ディジタルサ〡ビスのPlaybook

6. 1人のリ〡ダ〡を割り当て、

その人が説明責任を持つ

7. ベテランのチ〡ムで

6. Assign one leader and

hold that person accountable

7. Bring in experienced teams

https://playbook.cio.gov/

Page 27: Ruby in the US Government for Ruby World Conference

U.S. Digital Services Playbook 米国. ディジタルサ〡ビスのPlaybook

8. 新しいテクノロジ〡

スタックを選ぶ。

9. 適用範囲が広いホ

スト環境で展開する。

10.テストとデプロイを

自動化する。

11.再使用可能な

プロセスによってセキュリティおよびプライバシ〡を管理する。

8. Choose a modern technology stack

9. Deploy in a flexible

hosting environment

10.Automate testing & deployments

11.Manage security and privacy

through reusable processes

https://playbook.cio.gov/

Page 28: Ruby in the US Government for Ruby World Conference

U.S. Digital Services Playbook 米国. ディジタルサ〡ビスのPlaybook

12.デ〡タを使用して

決定する。

13.オ〡プンであることを

デフォルトにする。

12.Use data to drive decisions

13.Default to open

https://playbook.cio.gov/

Page 29: Ruby in the US Government for Ruby World Conference

https://playbook.cio.gov/

Page 30: Ruby in the US Government for Ruby World Conference
Page 31: Ruby in the US Government for Ruby World Conference
Page 32: Ruby in the US Government for Ruby World Conference

US Government Experience

Page 33: Ruby in the US Government for Ruby World Conference

米大統領イノベーションフェロー!

Page 34: Ruby in the US Government for Ruby World Conference

http://bit.ly/exec-order-open-data

Page 35: Ruby in the US Government for Ruby World Conference
Page 36: Ruby in the US Government for Ruby World Conference

19 博物館

9 研究所

23 図書館

15 書庫archives

museums

libraries

research centers

Page 37: Ruby in the US Government for Ruby World Conference

1.37億specimens, art works and other treasures...

with over...

13.6万 cubic feetof archival material

Page 38: Ruby in the US Government for Ruby World Conference
Page 39: Ruby in the US Government for Ruby World Conference
Page 40: Ruby in the US Government for Ruby World Conference
Page 41: Ruby in the US Government for Ruby World Conference
Page 42: Ruby in the US Government for Ruby World Conference
Page 43: Ruby in the US Government for Ruby World Conference
Page 44: Ruby in the US Government for Ruby World Conference
Page 45: Ruby in the US Government for Ruby World Conference
Page 46: Ruby in the US Government for Ruby World Conference
Page 47: Ruby in the US Government for Ruby World Conference
Page 48: Ruby in the US Government for Ruby World Conference
Page 49: Ruby in the US Government for Ruby World Conference
Page 50: Ruby in the US Government for Ruby World Conference
Page 51: Ruby in the US Government for Ruby World Conference
Page 52: Ruby in the US Government for Ruby World Conference
Page 53: Ruby in the US Government for Ruby World Conference
Page 54: Ruby in the US Government for Ruby World Conference

5百万 plant specimens

Page 55: Ruby in the US Government for Ruby World Conference

3.7 百万without digital records

Page 56: Ruby in the US Government for Ruby World Conference

This is the record (structured data)

Page 57: Ruby in the US Government for Ruby World Conference
Page 58: Ruby in the US Government for Ruby World Conference
Page 59: Ruby in the US Government for Ruby World Conference

Why Not Ruby?

Page 60: Ruby in the US Government for Ruby World Conference

Why Not Ruby?

Page 61: Ruby in the US Government for Ruby World Conference

CMS

High Level Components

Little Custom Code

Page 62: Ruby in the US Government for Ruby World Conference

CMSContent Management System

Page 63: Ruby in the US Government for Ruby World Conference
Page 64: Ruby in the US Government for Ruby World Conference
Page 65: Ruby in the US Government for Ruby World Conference

Ruby CMS?

Page 66: Ruby in the US Government for Ruby World Conference

0

300,000

600,000

900,000

1,200,000

Refinery

Comfortable!Mexican Sofa

Browser CMSRadiantAlchemyLocamotive

Drupal 7

Drupal 6

Downloads

Active Installs

Page 67: Ruby in the US Government for Ruby World Conference

0

300,000

600,000

900,000

1,200,000

Refinery

Comfortable!Mexican Sofa

Browser CMSRadiantAlchemyLocamotive

Drupal 7

Drupal 6Ruby CMS?

Active Installs

Page 68: Ruby in the US Government for Ruby World Conference
Page 69: Ruby in the US Government for Ruby World Conference

High Level Components

Page 70: Ruby in the US Government for Ruby World Conference
Page 71: Ruby in the US Government for Ruby World Conference
Page 72: Ruby in the US Government for Ruby World Conference

I can build a blog in 5 minutes!

Page 73: Ruby in the US Government for Ruby World Conference
Page 74: Ruby in the US Government for Ruby World Conference

Ruby

Components

Page 75: Ruby in the US Government for Ruby World Conference

Ruby

Components

separate pieces assembled by a developer

Page 76: Ruby in the US Government for Ruby World Conference
Page 77: Ruby in the US Government for Ruby World Conference
Page 78: Ruby in the US Government for Ruby World Conference

OmniAuth

Page 79: Ruby in the US Government for Ruby World Conference

OmniAuth

Bootstrap

Page 80: Ruby in the US Government for Ruby World Conference

OmniAuth

Bootstrap

Page 81: Ruby in the US Government for Ruby World Conference

User InterfaceAdmin

InterfaceCode

Page 82: Ruby in the US Government for Ruby World Conference

User InterfaceAdmin

InterfaceCode

Page 83: Ruby in the US Government for Ruby World Conference

User InterfaceAdmin

InterfaceCode

Page 84: Ruby in the US Government for Ruby World Conference

User InterfaceAdmin

InterfaceCode

Page 85: Ruby in the US Government for Ruby World Conference

自動にしないものはWhat we do not automate

!

また繰り返すwe are doomed to repeat.

Page 86: Ruby in the US Government for Ruby World Conference

Page 87: Ruby in the US Government for Ruby World Conference

三!

!

Little Custom Code

Page 88: Ruby in the US Government for Ruby World Conference

三!

!

Biggest Challenge is not code

Page 89: Ruby in the US Government for Ruby World Conference

Framework choice leads to language choice.

フレームワークの選択は、 言語の選択につながります。

Page 90: Ruby in the US Government for Ruby World Conference

CMS

CODE

time

100%

0%

Page 91: Ruby in the US Government for Ruby World Conference

CMS CODE

time

100%

0%

BIG

REW

RIT

E

Page 92: Ruby in the US Government for Ruby World Conference

Frameworks are patterns for how we work

フレームワークは、 私達が働くパターンです。

Page 93: Ruby in the US Government for Ruby World Conference

Ever notice that the top Ruby CMS options are all Rails apps…?

Page 94: Ruby in the US Government for Ruby World Conference

A Ruby Story

Page 95: Ruby in the US Government for Ruby World Conference
Page 96: Ruby in the US Government for Ruby World Conference

https://github.com/18F/notalone

User Research

Tech Policy / LegalSecurity Design

Page 97: Ruby in the US Government for Ruby World Conference

https://github.com/18F/notalone

Admin Interface Web Site

markdownyaml

Page 98: Ruby in the US Government for Ruby World Conference
Page 99: Ruby in the US Government for Ruby World Conference

Alternate

CMS

Approach

Page 100: Ruby in the US Government for Ruby World Conference
Page 101: Ruby in the US Government for Ruby World Conference
Page 102: Ruby in the US Government for Ruby World Conference

コンポ〡ネントのエコシステム 語と同様に重要です。

Page 103: Ruby in the US Government for Ruby World Conference

言語は、パワーです。

Page 104: Ruby in the US Government for Ruby World Conference

私たちは 新たな力を生み出すことができる

We can create

new powers.

Page 105: Ruby in the US Government for Ruby World Conference

ルビ〡が良く

なるためには

新たな力が必要

!

!

We need

a few new powers

for Ruby to be better

Page 106: Ruby in the US Government for Ruby World Conference

ルビ〡が良く

なるためには

新たな力が必要

官庁の為に

We need

a few new powers

for Ruby to be better

for government

!

Page 107: Ruby in the US Government for Ruby World Conference

ルビ〡が良く

なるためには

新たな力が必要

官庁の為に

そして皆さんの為に

We need

a few new powers

for Ruby to be better

for government

and for everyone.

Page 108: Ruby in the US Government for Ruby World Conference

質問はありますか?