【セッションレポート】DevOps 時代の開発環境と現場体験 #cmdevio2015 #cmdevio2015A

2015.04.05

最近PowerShellと戯れてる横山です。

2015年3月29日に開催された Developers.IO 2015 にて、『DevOps 時代の開発環境と現場体験』というタイトルで、アトラシアン株式会社の長澤 智治氏に発表して頂きました。

今回はそのレポート記事です。

スライド

[slideshare id=46409237&doc=cmdevio2015a-4-150329003710-conversion-gate01]

ビジネスの構造改革

cmdevio_a4_00-thumb

セッション概要の誤字のお詫びに 大人用の仮面ライダーベルトをつけてきたという自己紹介からスタートしました。

昔に比べてソフトウェア開発者がビジネスにとって影響を与える時代である。 ビジネス自体にソフトウェア不可欠でこれからは、 ソフトウェア・ITの力をうまく利用してビジネスモデルを変えていく。 そのビジネスモデルの中、そういったところでテクノロジーの力をどんどん使っていく時代になる。

cmdevio_a4_01-thumbデバイス、クラウド、ビックデータ、IoT等の結果がBtoB経由でしか触れなかったデータが直接触れるようになってきた。 こういうマーケティングになってきてるので、いろんな企業がある市場にインパクト与える事ができるようになってきた。 それにより、今までうまくいっていたビジネスモデルが油断していると簡単に競合他社に持っていかれるようになる。

色々なテクノロジーを利用して市場をリードしていく必要がある。やったこともないことにチャレンジする時代。 やったこともない作ったこともない物を生み出すソフトウェア開発者の力が必要になる。 日本でもソフトウェア開発者の地位がもっと高くなくてはならない。 USの人気職Top10には必ず「Developer」が入ってくる。日本でもどんどんそうなっていくことを願っている。

cmdevio_a4_02-thumb市場で常にトップを走る、もしくはトップで走ってる会社に対して追いつき追い越すためには1回だけの成功だけではいけない。 競合の状況、市場の状況を継続的に見続け、お客様にビジネス価値を提供し続けなければいけない。 しかし、継続し続けることも難しいが、それだけだと他の優れているビジネスモデルにお客様を持っていかれる可能性が出てくる。 外向けのブランド力や他に負けない競合力の強化も大事だが、社内インフラを整備するのも大事。 そのために効率化、社内ITに対してビジネスアジリティ(機敏性)、ガバナンス、を気にかける必要がある。

意思決定者

cmdevio_a4_03-thumb少し前までIT部門で技術を知っている人が納期や予算を立てれたので比較的やりやすい。 eコマースなどWebを使ったソフトウェアを使うようになって、経営者目線での指摘がはいるようになった。 「経営的にみて機能が足りない」「パフォーマンスが得られていない」等 ビジネスモデルとソフトウェアが切っても切れない関係になっている。

デプロイ先

cmdevio_a4_04-thumbスタンドアローンー>Webー>クラウド・IoTへ変化している。 今までは目的を人間が意識してソフトウェアを使う。 これからはいろんな条件をデバイスに提示するだけで最適なものを判断してくれるソフトウェアになる。 そのためにはいろんなものを使わなければならない、技術者は技術をより好みすることが難しい。 なんでもやればいいというわけではない、ビジネスに結び付いている技術を使う。

スピードと融合

cmdevio_a4_05-thumbこれからビジネス、開発、運用のサイクルがどんどん短くなる。 いずれの分野を理解していないと行けなくなる。 サイクルの最適化を怠るとひずみが生じ、うまくいかなくなる。 リーンスタートアップのBuild-Measure-Learnのループを効率よく、素早く回す。 アイデア→構築→プロダクトサービス→運用→データ収集→アイデアのループ。 このループを繰り返すことにより無駄な投資しないで最大限の効果を得る。 リズミカルに開発、運用、アイデア収集、淀むと機会損失、競合他社に負けるなど問題が出る

cmdevio_a4_06-thumb サイクルタイムを意識するのが重要。 市場価値のあるものを出来るだけ、短いサイクルで出す。 時間がかかると経営者側がそのソフトウェアに期待できなくなる、または過度な期待を持つようになる。 運用からのフィードバックも重要。 障害・パフォーマンス不足・ユーザからの要望等をキャプチャし、ビジネスの優先順位をつける。 サイクルタイム・フィードバックが機能していないと営業か開発者に負担がかかる。

コンテキストスイッチングが多いと作業がはかどらない いろんな成果物を行ったり来たりしたり、いろんな画面を行ったり来たりすると仕事がうまく回らなくなる。 エクソサイズで「両手を前につきだし、親指立てる。左右の親指を交互に見る。」作業をやりながら、 簡単な計算をしたり、発表者の仮面ライダートークを聞いたりすることが難しいというのを実感した。 一箇所見ると開発状況を見ることの出来るツールがあるとよい。

デモ

以下、箇条書きです。 ・企画書をWebに置き開発メンバー誰でも付箋などでフィードバック出来る ・企画者は実装したい機能を表に書き出し、タスクとして登録出来る ・タスクでやる事をOpen、やらないこと保留の状態をタスクボードでD&Dでき、また上記の機能表に即時反映出来る ・タスクのリンククリックするとGitのブランチ作成出来る cmdevio_a4_07_2-thumb・「開発中」のタスクが存在すると「扇風機」をまわす ・コミットするごとにビルドが走る、品質を保つことが出来る ・コードレビューの依頼・進捗が2クリック以内で可能 ・コードレビューの承認時にWebからマージすることが出来る ・簡単にステージング→本番にWebからデプロイ・ロールバックすることが可能 cmdevio_a4_08-thumb・ビルド失敗するものを、マージすると「パトランプ」が回る

以上のことが出来るツールのことの「宣伝ではない」「是非調べないで欲しい」と言っていましたが、 無理な相談だということを、デモを見ながら思いました。

 

まとめ

これまでも開発・運用・ビジネスの分野ごとにスピードは求められていたが、 これからはお互いの分野を知りつつもっと早く・短く回す必要があることがわかった。

そのための開発ツールを色々知ることも重要だと感じました。