はじめに
当方フリーランスエンジニアで、現在転職(再就職)の予定は一切ありませんが、かなりたくさんの現場を経験した中で「Slackの活用方針は、その会社の技術への向き合い方を(ある程度)反映する」ってことが見えてきました。
もし今後僕が転職活動(再就職活動)をするなら「御社はどのようにSlackを活用していますか?」は必ず訊きます。絶対です。
例えば「高級な椅子やキーボードが支給されるか」っていうのも気になるところですが、それは転職面談だと聞きにくいですよね?
それに比べると、"Slackの活用レベル" は訊きやすくて、かつ明確に色々な情報を教えてくれるな、と。
注意点
ここから便宜上Slack活用をレベルごとに分けて書いていきますが、例えば必ずしも「レベル2までしかSlackを活用していなければ、会社全体の技術水準はレベル2にすぎない」っていうことは無いっていうことをご理解ください。
正確に言うならば「レベル3以上を当然のように使いこなしていれば、新しい技術の導入や業務の改善、DevOpsの活性化に対する感度が高い」 = 「技術者にとって居心地のいい会社である」可能性が高い、というそれだけの話です。あくまでも可能性の世界で、断言するようなものではありません。
Slackを高水準に使いこなしていれば社内全体でかなり高度に技術の知見や意思がストックされている可能性は高い一方、レベル3以降は大規模な会社になればなるほど全社単位で導入しにくいものです。それはよく理解しております。web系かSIerかでもまた変わりますしね。SIerでレベル3以降の全社的導入は相当厳しいかも。
この記事はむしろ、インフラ担当の方などに「こういうところを整えておけば技術者にとって『居心地のいい会社』に見える」というような目線で見て頂けると嬉しいです。
プロジェクト単位でもレベル3以降導入できるだけで全然違いますし。
ただしレベル0、テメーはダメだ。
ここからレベルごとに記載します
レベル0:チャットツール? 導入してません。社内連絡はメールです。
そんな会社あらへんやろ……
……それがあるねん。
信じられないことにあるねん。
結論から言います。
想像を絶するヤバさだと思ってください。
それは「エンジニアリングにおいて社内コミュニケーションの円滑化なんて全然重要ではない」 と宣言しているに他ならないからです。
信じられないことに、「社内コミュニケーションの活性化」を叫びながら社内での雑談を咎め、情報共有の円滑化に微塵も興味を示さない会社は存在します。
まぁこれだけボロクソ言えるの、かつて僕が正社員として入っていた会社がそうだったからなんですけどね。最近改善されたそうなので愛を込めてボロクソに言ってます。※
※一応その会社の一部の方とはまだ仲良く交流は続いています。
実際のところ、大半の技術会社はレベル1以降だと思います。
レベル1:コミュニケーションツールとして使っていて、プロジェクトごとにチャンネルを用意しています。
普通です。特に言うことはありません。
レベル2:全体雑談用チャンネルと、プロジェクト単位雑談用チャンネルを用意しています。また技術用チャンネルも別途あります。
別にチャンネル構成は必ずしもこの通りでなくてもよいのですが、要するに
- 『チャンネルの構築・運用』が重要であると理解していること
- 雑談用チャンネルでアイスブレイクすることが大事であると理解していること
- 技術用チャンネルで新規技術のスピーディな共有ができるようになっていること
大事なのは1と2で、3はあればなお良い、というところでしょうか。
1はもちろん大事なのですが、2はそれと同じくらい大事です。
「3の方が大事じゃないの?」と思った方がいるかもしれませんが、個人的には2の方が圧倒的に大事だと思っています。
何故か?
2があると、Slackへの投稿のハードルが一気に下がるのです。
「Slackへの投稿のハードルが低すぎて、余計なことまで投稿してしまう」ことと「Slackへの投稿のハードルが高く、気楽に投稿できない」こと。どちらが業務上のネックになるでしょうか。
僕は圧倒的に後者の方が有害であると考えます。
第一、前者は雑談用チャンネルが存在することで抑止できますし、個々人の問題なのでどうとでも対応できます。
「チャットツールで気軽に発信できない」は、会社の雰囲気や個人のパフォーマンスにも繋がる一大事です。技術者も人なので感情が仕事に影響するのは当然ですし、「誰も気軽に(Slack上にせよ)発言できない」ような会社で居心地の悪さを感じても不思議ではないでしょう。
それが雑談用チャンネルひとつあるだけで抑止できるのならば、非常に安い投資ではないでしょうか。
安いどころか無料です。
レベル3:Gitのホスティングサービスと完全連携
さて、ここからは「コミュニケーションツール」としての枠組みを超え、「開発ツール」あるいは「DevOpsツール」の枠組みとなってきます。
レベル3以降は入れ替わりがあるかもしれません。レベル4だけ導入してたりとか。
ただ、レベル3以降は一つ導入するとどんどん導入が増えていく領域なので、あまり上下関係を意識せずお読みいただけますと幸いです。
さて、便宜上レベル3に位置づけた「Gitホスティングサービスと完全連携」ですが、端的に言ってこれは「プルリク駆動レビュー文化」がどれだけ根付いているかの指標になります。
これは滅茶苦茶技術者にとって重要です。
これがあるかないかで、技術者の少なくともプログラミング領域の成長曲線は天地の差が生まれます。
Gitのリモートサーバ側のアクションは色々ありますが、例えばpushされた、mergeされた、プルリク発生、レビュワーに指定された(これは今大体のホスティングサービスにある機能ですね)、コードにコメントされた、承認された……
これら、可能なら全部Slackに連携しちゃいましょう、という発想が正しいと僕は考えています。
例えばbitbucketなんかではSlackで個々人のアカウントとも連携できて、レビュワーとして指定された際に通知が来るような仕組みがあったりします。
これがないと、プルリクエスト時に逐一別メッセージでレビュワーに「お願い」することになりますよね?
もう一度強調します。「お願い」することになるんです。
これって無駄な業務じゃないですか?
Gitにおける全てのアクションが、開発者への周知を兼ねている。
ここまでくると無敵です。開発速度はぐっと上がります。
レベル4:CI・CDと完全連携
ここからは色々端折って書きます。というのも、これ以降は「DevOpsツール」として……つまり開発そのものよりも「運用」に近づいていくからです。開発者には無用、あるいは開発者がガッツリ運用を兼ねざるを得ない自社開発のweb系企業以外無用、という可能性もあります。
ただ、わかりやすい例で言えば……
例えばGitのホスティングサービスとCircleCIなどのツールを連携して、push後にビルドやテストコードを走らせるということはよくやっていると思います。
それらがコケたときに開発者に通知されたら、速やかに開発者は対策を打てますよね。※
※pre-commit使えばええやん、というご意見もあるとは思いますが、それはそれとして。
参考文献はこちら:Python製のツールpre-commitでGitのpre-commit hookを楽々管理!!
本来は手元でテストもビルドも完璧にしてpushするのがベストなのですが、色々な理由でそう上手く行かなかったりします。
そんなときSlackが「ナイスアシスト」してくれるわけです。
レベル5:あらゆるものをSlackと完全連携し、あらゆることを通知してもらう
もうここまでくるとほぼ完全に運用レベルの話になってきますが、おそらくレベル4まで導入している企業であれば「あらゆるものはslackに連携できるやんけ」という発想になり始めます。
代表的なところでIFTTT。Twitterの口コミを集めたりできますね。
これはマーケティングに役立つだけではなく、例えば自社プロダクトなら不満やバグの早期発見にも繋がります。
それからAWSでもSlackと連携できるサービスが増えているようです。
AWSのメンテナンス情報をSlackに通知する
これは王道ですね。可用性の向上にダイレクトに繋がります。
(追記) レベル6:無限の可能性
この記事では「通知してもらう」ことに主眼を置いていましたが、コメントで別アプローチを2つ頂いたので追記いたします。
一つは「分報」、エンジニア向けのSlack版Twitterでリアルタイム情報共有しちゃおうっていう発想です。
Slackで簡単に「日報」ならぬ「分報」をチームで実現する3ステップ〜Problemが10分で解決するチャットを作ろう
PHP関連記事でQiitaでも有名な@suinさんの記事です。
Twitter依存になりやすいエンジニアが始めるとちょっと危険? スピーディな情報共有って意味では究極形態かもしれませんね。試してみたい。
他にも、「ピザのオーダーをSlackでお願いする」。
「外部連携した上で、通知する」という発想です。なんらかの通知をこちらから能動的かつ任意のタイミングでする必要がある現場……結構限られてくるとは思うのですが、そういう現場では結構実用的かも。
botにお任せして定時処理でslackから何かしらが送られる、っていう仕組みは結構幅広い現場で使えるかもです。チャンネル分けておけば記録もガーッと残りますし。
仕事中にピザを食べるのはほどほどに!
そろそろまとめます。
終わりに
レベル3以降はメールでも実現できますが、メールだと「多くなりすぎる」という弊害が出ます。受信ボックスをどう分けるかは個人に依存するので、そこで属人性が生まれてしまいます。
Slackだとチャンネルごとに通知を分ければいいだけなので、「大事なメールが他の通知で埋もれる」という問題は上手くやれば発生せず、属人性もありません。
たかがチャットツール、されどチャットツールです。
業務の改善にこれほど低コストで高い効果をもたらしてくれるものはそうそう存在しないと思ってます。
チャットツールをコミュニケーションツールとして終わらせるのはもったいない。SlackはDevOpsの中心に位置づけられる超強力なツールです。
レベル0をこき下ろしましたが、もしレベル0の企業内で読まれている方がいらっしゃれば……特にその企業が「自称技術会社」であるならば、繰り返しますが「想像を絶するヤバさ」であると思ったほうが良いかもしれません。
「コストが低く、手っ取り早く大きな改善ができる、みんな使ってる技術(ツール)」をサクッと導入しない会社で、「革新的な技術」なんて導入も運用もできるわけがないんです。
技術なんて究極的にはツールの集積ですから。
もしレベル0の企業が今後チャットツールを導入するならば、他のチャットツールではなくやっぱりSlackがおすすめです。Slackはデファクトスタンダード化しているため、各種クラウドサービスとの連携が豊富です。レベル3以降の導入を検討するのであれば、他のチャットツールよりも圧倒的な優位性があるのでSlackをおすすめいたします。
レベル1以降の会社であればここに列挙したことは「今後、比較的手早く導入できて効果も大きい」ものも多々あると思いますので、ぜひとも導入をご検討ください。お役に立ちましたら光栄です。
ではまた。
素晴らしい記事をありがとうございます。
個人的には「個人分報チャンネル」がある会社は作業効率が高いと感じています。
分報についてはこちらの記事で解説されています。 http://c16e.com/1511101558/
slackで全部できるぜ!!!アクティブメンバー総勢俺一人!!!!
@ToshioAkaneya
ありがとうございます。
これ滅茶苦茶いいっすね!Twitter感覚でやっちゃいそうで、これはかなり柔軟性のある会社じゃないと導入できないかも……レベル6ですねw
@onomame
リアルで笑えない(笑える)
雑談用チャンネルがある
と
気軽に発信できない
は
鶏卵論な気もしますがどうですかね〜
@yukitaka13-1110
「気軽に発信できない」状況が仮にあるとして、そこに事後的に「雑談用チャンネル」を設けることで「改善」の可能性がわずかでもあると言える以上、その関係性にはならないかと。
まあこれは経験則に過ぎないので、「エビデンスを取れ!検証しろ!」って言われたら困っちゃいますけどね、確かに。
うちはレベル4。ピザのオーダーもSlackで始めたらレベル5かな(笑
障害の通知とか、診断ツール、ステータスの確認なんかもこんな感じでSlackでやってます。障害対応が携帯からポチるだけで終わることもあります。
@knoguchi
真面目な話、この記事は「通知されること」に主眼を置いてて「通知すること」がすっぽ抜けてたので、ピザのオーダー初めたらレベル6かもですねw
分報とピザのオーダーについて追記しました。
いまの現場はSlack入れてるけど無料プランなのでレベル0.5くらいです…
企業文化にあわない
個人発信ページあっても誰も確認しない
そもそもナレッジ共有の場でドキュメント化しようとする粋な人がいない
Git,Githubなにそれ美味しいの
極めつけにSlackが繋がらない
た、たちけて
@H_Y_J
つ 履歴書と職務経歴書のテンプレート
@Amagawa
まだ入ったばかり(笑)
こういうのって誰がスタート推し進めるんやろ
他社の導入時の話ききたい!
やっぱ興味ある人のスモールスタートなんやろか
会社という一つの塊が前提になっているので、そうじゃないケースも共有しておきます。
大きな SIer になると「会社という国、部署という村」という構造になるので、村ごとに文化水準が違ったりします。
レベル0の村もあれば、レベル1やレベル2の村もあります。
(レベル3以上は、あるかもしれませんが私は見たことないです。たぶん全体の 1% も無い気がします)
もし SIer で頑張らざるをえない方は、 レベルの高い村 を意識して立ち回ると良いでしょう。
たとえば配属前の新人さんや、社内転職を検討している方は、対象部署の Slack 活用方針を尋ねても良いかもしれませんね。
@H_Y_J さん
プライベートではslackユーザー、会社では全社横断するため別のコミュニケーションツールを導入推進しました。(APIを叩いて外部から様々な情報を投稿する仕組みは別途構築)
発案すると先ず「それって儲かるの?その工数はどこから湧いてくるの?」という至極当然の意見が返ってきます。理詰めで数字(費用対効果)を明確にして納得させないと会社は動きませんので、プライベートの時間を削って数字をだし資料をつくり対会社で魅力あるプレゼンに挑みましょう!最終目標、過程、人、ツール、費用対効果、熱意があればどんな会社も動いてくれますよ^^ がんばってください!(同じことをすれば大概のものは会社が用意してくれます)もしダメでもH_Y_Jさんの努力は好評価されるでしょう
会社に対して受け身では何も成長しないので、自分の力で何とかしようと行動することが大切だと私は思います。
@mui_nyan
0とは雲泥の差です、ここからですよ。
@sta
ごもっともです。ただ、当記事で「企業」単位で語ったのは明確な意図があります。
それは例えば「村」単位でレベル2以降が導入できているなら、それは企業としては大した問題ではないと考えているからです。
レベル0の「村」があるなら、事情が特殊か上司がよろしくないかどちらかです。
一方、全社単位で「レベル0」の会社は確かに存在します。
例えば、一部の企業では未だにフリーウェアの導入基準をブラックリスト式ではなくホワイトリスト式で管理しています。
極論、「弊社はSlackのようなクラウドサービスは使っていないから安全だぜ、ガハハ」と言いかねないような企業も多々存在しています。
それが「技術会社」を名乗ってないなら別に問題はないです。この世全ての企業がSlackを導入すべきとは微塵も思いません。
ですが、「技術会社」を名乗りながらレベル0の企業は、若手があらゆる新規技術を導入「できない」ことを意味しています。
当然です、Slackすら導入できない企業風土で「新しい技術を積極的に導入しようとする若手」なんて、虫が良いにも程があります。
端的に言って、そういう「技術会社」は技術に対する冒涜だと思ってます。
……とまぁ、ここまでかなり個人的な怒りが混ざっているので、本文で書くべきことではないということは重々承知していました。
ということで婉曲的な書き方になったっていう、その結果ですね。
@H_Y_J
僕個人は言いたい放題やりたい放題のコンサル要素もちょっとあるフリーランスなんで、逆に自由に諸々導入できる立場ですが、社員だときついですよね。
例えば@hdk731 さんの仰るような手段も一つの手だとは思います。
一方で「会社の鼻つまみ者」になるのも一種の手かもしれません。会社の中で治外法権を作る。誰も文句を言わせない。
かなり難しいですが、もしかするとそっちのほうが近道かもしれません。
方法は色々あると思います。ただ、間違いなく言えることは「誰か言わないと絶対に始まらない」ってことです。
……まぁ、正直逆に「やりたい放題」できないようであれば、その文化で技術者として滞在するメリットはあまりない気はします……
独立も手ですよ(ウェルカム)