営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス

Livesense Inc.
Livesense Inc.Livesense Inc.
How Livesense Works #1
営業さんまで、社員全員がSQLを使う
"越境型組織" ができるまでの3+1のポイント
Yukihiko Kawarazuka, Engineer of Livesense, inc

kawarazuka@livesense.co.jp
ある日、営業さんから来た依頼
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
あるある
わりとざっくり仕様。
※反響=お問い合わせのこと
でも
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
あるある
その8ヶ月後
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
これはほんの一例
なぜ?
なぜ、営業さんもSQLを書くのか
なぜ、営業さんにまでデータベースアクセス権を開放しているのか
なぜ、SQLを学習しようと思ったのか
なぜ、学習を完遂できたのか
なぜ、学習にとどまらず実運用に耐えるスキルに昇華されたのか
なぜ、このような協業文化ができ、根付いたのか
私は前職で「怠惰で横柄で直感頼りな営業」にしびれを切らし、*1
開発をやりつつ自分で営業もしていたので
「なぜ?」を越えて「ショック」だった。
*1 切らしたのはしびれだけではなかったが
営業  「データベース?そんなよくわからんもの営業には関係ない」
シス管 「DBにアクセスできる人数は、最小限にすべき。
     技術コンタミを防ぐために、部署外の人間はアクセス禁止」
マーケ 「昔いた〇〇さんはSQLでやってたみたいだけど、、
     はてどうやるんだっけ」
プロマネ「いいものを開発しよう。
     いいものを作れば営業が売ってきてくれる。
     どう売るか?知らないけどそれは営業が。」
開発  「えっ外注して作ってもらったの?
     それうちの部署でツール化してたのに。」
私が前職でよく聞いた声
本質的な課題とは
無関心
責任範囲の
固執
意図しない
秘密主義
責任範囲への固執(セクショナリズム)
原因:
自分が与えられた責任を全うしようとする、責任感に起因。
責任を全うするのは、当然重要。
しかし部分最適になっていないか?
「セキュリティのため、DBにアクセスできる人数は最小限にすべき」
「技術コンタミを防ぐために、部署外の人間はアクセス禁止」
無関心
「データベース?そんなよくわからんもの営業には関係ない」
「いいものを開発しよう。
いいものを作れば営業が売ってきてくれる。
どう売るか?知らないけどそれは営業が。」
原因:
(1)自分の持つ強み(技術・ノウハウ)のみで仕事を捉え、それを一般化してしまう。
(2)事業やサービス全体を俯瞰した視野が持てておらず、
自分の業務外の部分を吸収しようとしない。
”責任範囲への固執”から生まれていることも多い。
意図しない秘密主義
原因:
(1)本当はちゃんと皆に共有したいが、置き場がないため口伝の世界に
(2)他に必要な人、あると嬉しい人がいることを知らない
その結果、人が目に届かないところに成果物がおかれ、意図せずに秘密主義化する。
“無関心”から引き起こされることも多い。
「昔いた〇〇さんはそうやってたみたいだけど、、はてどうやるんだっけ」
「えっ外注して作ってもらったの?それうちの部署でツール化してたのに。」
無関心
責任範囲の
固執
意図しない
秘密主義
そんなよくわからんもの営業には関係ない
お客様の情報が入ったデータを
だれでも触らせるわけにはいかん
昔いた〇〇さんは
そうやってたみたいだけど
各々が各々を引き起こす因果関係にあり、
組み合わさると、ひどい悪循環に。
こんな悪循環にしないために、
なにができるか。
#1 「意図しない秘密主義」から「共有カルチャーの醸成」へ
 ・情報共有するためののインフラを用意する
 ・情報共有マインドを醸成する
#2 「無関心」から「学習を通じた相互理解」へ
 ・関心を引く資料を共有し、それを実現するための技術要素の提示
 ・身近な題材を用いた教材の用意
 ・学習の見える化による相互作用
#3 「責任範囲への固執(セクショナリズム)」から「越境する組織」へ
 ・職種を越えるための環境の整備
 ・越境者には伴走を
 ・越境したら伝道を
無関心
責任範囲の
固執
意図しない
秘密主義
学習
越境
共有
組織や職種という範疇を越境して協業を行い、
その事例を共有し、
その共有事例がさらなる学習意欲を生むことで、
より組織や職種を超えたコラボレーションが生まれるサイクルが理想的
営業さんもSQLを書くようになるまでの事例
#1
「意図しない秘密主義」から
「共有カルチャーの醸成」へ
学習
越境
共有
導入している情報共有インフラ
Redmine(現在はJIRAに移行中)
Confluence
Hipchat
Cybouzu
GoogleApps
基本は社員に対してオープンアクセス
必要に応じて制限するポリシー
Redmine
(※現在はAtlassian JIRAに移行中)
すべての業務フローを一つのシステムに集約。
営業さんからのSQL発行依頼から

プロダクトの仕様決定まで、
後から見返し経緯を知ることができる。
→新しく入社しても、創業初期からの経緯を
知ることができる
Atlassian Confluence
トップページは人気順。
企画・エンジニアリングから
「本当に難しいショートケーキ」まで、
フラットに並ぶ。
Atlassian HipChat (チャット)
事業別ROOM(必須参加)と、

要素別ROOM(任意参加)を用意。
情報共有インフラの導入
≠
 
情報共有カルチャーの醸成
 情報共有カルチャーの醸成 > 情報共有インフラの導入
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
 情報共有カルチャーの醸成 > 情報共有インフラの導入
#2
「無関心」から
「学習を通じた相互理解」へ
学習
越境
共有
関心を引くレポートと、その共有
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
調査レポートにSQLクエリが併記されることで、
関心事と要素技術がつながる
再現方法があることで追試を行える、真似できる
身近な題材を用いた教材: SQL100本ノック
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
自習の見える化と相互作用
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
#3
「責任範囲への固執(セクショナリズム)」から
「越境する組織」へ
学習
越境
共有
「職種を越えるための環境の整備」
非エンジニアへの分析用DB公開
「セキュリティのため、DBにアクセスできる人数は最小限にすべき」
技術による制約の回避
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
個人情報マスキングプログラム
本番系DBに格納された個人情報を保護(マスク)し、
社内スタッフが触れるようするにためのプログラム。
DBマスキング処理を簡単に記述できるよう、
よく使われるマスキングパターンを基本プログラム側で用意している。
テーブル名とカラム名を指定すれば即マスキング対応可能。
パターン マスキング処理内容
氏名 「山田 太郎」「ヤマダ タロウ」「ヤマダタロウ」「やまだ たろう」のどれかに変更
住所 「東京都渋谷区南平台町16-28」に変更
ビル名 「グラスシティ渋谷 2F」に変更
メールアドレス
“@”とトップレベルドメイン以外をハッシュ化。ただしデバッグのため自社メ
ールアドレス(*.livesense.co.jp)はハッシュ化しない
口座番号 半角7文字の乱数で埋める
銀行コード 半角4文字の乱数で埋める
銀行支店番号 半角3文字の乱数で埋める
その他 「このカラムはマスキングされています。」に変更
企業名 「株式会社マスキング」「カブシキガイシャマスキング」のどれかに変更
電話番号 半角12文字のユニークな乱数で埋める
基本プログラムで用意しているマスキングパターン
その上で
まずは再利用から
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
エンジニア主導のトレーニング
「越境者には伴走を」
若手(入社1~2年目相当)2名
教材作成(SQL100本ノック)
&実地でのトレーニング
教えるかわりに、他の人へも教える約束
実地でのトレーニング
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
:
:
指摘されたところをもう一度ミス
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
:
:
難しいところはExcelで乗り切る
その後、慣れてきた頃に
400万件のフルスキャン
重いクエリでDBサーバ止まる
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
“ー “未来企業 レジリエンスの経営とリーダーシップ” 94ページ
協働を最大限に促すために
1 責務の透明性を高める
2 サイバー空間で信頼を高めながら親睦を深める
3 コミュニケーションを欠かさない
4 思いやりの重要性を理解する
その後、各チームでの伝道師的な活動
「越境したら伝道を」
各メディアごとの100本ノックの作成
伝道師的活動
アルバイトスタッフにも
アルバイトスタッフ向け勉強会資料
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
全員がSQLを書くようになるまでの事例はここまで。
ー “戦略サファリ” 258ページ
組織学習の基本原則
1 失敗から学ぶ
2 絶え間ない再検証
3 直接体験による学習
4 知識の流動性を保つ
5 外界に目を向け、知識を吸収する
“
One more thing…
学習
越境
共有
学習
越境
共有
知識創造
学習
Internalization
(内面化)
越境
Socialization
(共同化)
共有
Externalization
(表出化)
知識創造
Combination
(連結化)
多くの “知識創造企業” で

見られる
“SECIモデル”
“
組織的な知識創造は
個人レベルから始まり、
メンバー間の相互作用が、課、部、事業部門、
そして組織という共同体の枠を超えて
上昇、拡大していくスパイラル・プロセス
ー “知識創造企業” 108ページ
このスパイラルが回り出すことで、
より組織や職種を超えたコラボレーションが生まれる
営業さんもSQLを書くようになった頃に
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
SQLクエリを登録しておき
ExcelのWebクエリ機能で、データを取得・更新
各種分析をExcelベースで行えるように
そしてその結果は、デイリーチャートとしてチームに共有
まとめ
学習・共有の環境を整えた上で、
「越境」を促すことで、
職種を超えたコラボレーションを行うことができる。
SQLはその一例。
自分の仕事の領域を決めすぎず学ぶこと
相手の仕事の領域を敬意をもって侵すこと

うまくいったことを、具体的に共有すること
うまくいったスパイラルの伝道師となること
そして、
このサイクルを通じて皆が一緒に、
良い仕事・良いサービスを作っていこうとすること
その先にある、「創造型組織」を目指し続けること
“ ー “イノベーションのDNA” 53ページ
イノベーティブなアイデアは、さまざまな
人たちの多様な経験が交わる場所で花開く。
歴史を通じて、偉大なアイデアは文化や
経験の交わるところで生まれている。
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
付録
今日から社内で使えるSQL10本ノック
リブセンス社内で使われている実際の「SQL100本ノック」のうち
10本を厳選し、
教育用途として扱いやすいようにスキーマをカスタマイズしたものです。
DB環境がなくとも、ブラウザがあれば実施できるように準備しました。
題材は「アルバイト求人情報サイト」
(※貴社に馴染みのある題材に変更してお使いください)
応募テーブル、店舗テーブル、都道府県テーブルの構成
テーブル説明::entries(応募)
カラム名 説明 例
id ID 23
name 応募者氏名 木村太郎
birthday 生年月日 1995-03-02
mail メールアドレス foo@bar.net
date 応募日 2013-02-21
adopt_status
採用確定時に1、
不採用確定時に2、
そうでなければ0
1
adopt_date
採用・不採用確定日
未確定のときは0
2013-02-27
client_id 店舗ID 3
device_type
応募時に利用した

デバイス
SMARTPHONE/PC
テーブル説明::client(店舗)
カラム名 説明 例
id ID 3
name 店舗名 井村商店
pref_id 都道府県ID 13
テーブル説明::pref(都道府県)
カラム名 説明 例
id ID 13
name 都道府県名 東京都
http://sqlfiddle.com/
環境
ベースSQL(DBスキーマ)
http://bit.ly/1D7WARF
http://sqlfiddle.com/ にて、ダウンロードしたベースSQLを投入
まず、テーブル内の件数を出してみましょう
動作確認
Run SQLを押して、件数が出れば成功です。
それでは10本ノック、行ってみましょう
2013年2月の応募数
SELECT
COUNT(*)
FROM
entries
WHERE
entries.date BETWEEN '2013-02-01 00:00:00' AND '2013-02-28 23:59:59'
;
2013年2月の採用数
SELECT
COUNT(*)
FROM
entries
WHERE
entries.adopt_status = 1
AND entries.date BETWEEN '2013-02-01 00:00:00' AND '2013-02-28 23:59:59'
;
2013年2月の不採用数
SELECT
COUNT(*)
FROM
entries
WHERE
entries.adopt_status = 2
AND entries.date BETWEEN '2013-02-01 00:00:00' AND '2013-02-28 23:59:59'
;
2013年2月に応募があった店舗数
SELECT
COUNT(DISTINCT client_id)
FROM
entries
WHERE
entries.date BETWEEN '2013-02-01 00:00:00' AND '2013-02-28 23:59:59'
;
2013年2月の応募数前年比
SELECT
SUM(entries.date between '2013-02-01' and '2013-02-28 23:59:59') /
SUM(entries.date between '2012-02-01' and '2012-02-29 23:59:59')
AS ratio
FROM
entries
WHERE
YEAR(entries.date) IN (2012,2013)
AND MONTH(entries.date) = 2
;
2013年2月の東京都の応募数
SELECT
prefs.id,
prefs.name,
COUNT(*)
FROM
clients
INNER JOIN prefs ON clients.pref_id = prefs.id
INNER JOIN entries ON clients.id = entries.client_id
WHERE
entries.date BETWEEN '2013-02-01 00:00:00' AND '2013-02-28 23:59:59'
AND prefs.name = '東京都'
GROUP BY
prefs.id,
prefs.name
ORDER BY
prefs.id,
prefs.name
;
2013年2月の都道府県別応募数ランキング上位3位
SELECT
prefs.id,
prefs.name,
COUNT(*)
FROM
clients
INNER JOIN prefs ON clients.pref_id = prefs.id
INNER JOIN entries ON clients.id = entries.client_id
WHERE
entries.date BETWEEN '2013-02-01 00:00:00' AND '2013-02-28 23:59:59'
GROUP BY
prefs.id,
prefs.name
ORDER BY
COUNT(*) DESC
LIMIT 3
;
2013年2月のデバイス別応募数
SELECT
device_type,
COUNT(*)
FROM
entries
WHERE
entries.date BETWEEN '2013-02-01 00:00:00' AND '2013-02-28 23:59:59'
GROUP BY device_type
;
以上で問題終了です。
解いた事例は共有してもらましょう!
1 of 133

More Related Content

What's hot(20)

TDD のこころ @ OSH2014TDD のこころ @ OSH2014
TDD のこころ @ OSH2014
Takuto Wada15.8K views
Oss貢献超入門Oss貢献超入門
Oss貢献超入門
Michihito Shigemura29K views
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉44.4K views
WayOfNoTrouble.pptxWayOfNoTrouble.pptx
WayOfNoTrouble.pptx
Daisuke Yamazaki3.1K views
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima29.3K views
Slideshare JapaneseSlideshare Japanese
Slideshare Japanese
Hidenori Goto127K views

Similar to 営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス(20)

Viewを使って開発を楽にする話Viewを使って開発を楽にする話
Viewを使って開発を楽にする話
Isamu Watanabe1.6K views
超小規模環境のMySQL #mysqlcasual超小規模環境のMySQL #mysqlcasual
超小規模環境のMySQL #mysqlcasual
鉄次 尾形4.7K views
教育というお仕事教育というお仕事
教育というお仕事
Yuumi Yoshida1.3K views
Database qpstudy-okunoDatabase qpstudy-okuno
Database qpstudy-okuno
Mikiya Okuno8.3K views
女の人生と起業女の人生と起業
女の人生と起業
Keiko Kano466 views
Sql第1回資料Sql第1回資料
Sql第1回資料
yujiimuta74 views
顧客価値って奥深いですね顧客価値って奥深いですね
顧客価値って奥深いですね
Takuya Kawabe651 views
koredake modeling accelerates agilekoredake modeling accelerates agile
koredake modeling accelerates agile
ChangeVision2.8K views
20121019-jenkins-akiko_pusu.pdf20121019-jenkins-akiko_pusu.pdf
20121019-jenkins-akiko_pusu.pdf
akiko_pusu16.8K views

営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス