今やエンジニアは、ビジネス要件に応じた製品やサービスを「迅速」に、しかも「高い品質」で、できれば「低コスト」で開発しリリースするという、相反する要求を同時に満たす必要に迫られている。では、どうすればその要求を同時に満たすことができるのだろうか?
ソフトウェア開発力が企業の競争力に直結する時代が到来しつつある。今やエンジニアは、ビジネス要件に応じた製品やサービスを「迅速」に、しかも「高い品質」で、できれば「低コスト」で開発しリリースするという、相反する要求を同時に満たす必要に迫られている。では、どうすればその要求を同時に満たすことができるのだろうか? 2017年12月6日に行われたセミナー「AI/IoT時代のソフトウェア開発〜ITとOTの出会う場所〜」の「@IT Agile Track」では、高いソフトウェア生産性を実現するためのプロセスや環境作りのヒントが、さまざまな角度から紹介された。
本稿では、基調講演と幾つかのベンダーセッションの内容をお届けする。
基調講演「社内にシリコンバレーをつくる デンソー、『ソフトウェアの戦い』に挑む」に登壇したのはデンソーの成迫剛志氏(技術開発センター デジタルイノベーション室長)だ。同氏は複数のIT企業で長年にわたり業務経験を積んだ後、2016年8月に、自動車部品製造大手の「デンソー」という異なる文化を持つ企業に飛び込んだ。こうした経験に基づき、「かっちり仕様を決め、数年かけてプロダクトに落とし込んでいくのが当たり前」の製造業にデジタルトランスフォーメーション(DX)を前提とした「攻めのIT」の姿勢を取り込んでいくための工夫を紹介した。
「さまざまな分野でイノベーションをもたらしたインターネットが登場した時以上に、IoTやAI、ロボット、ビッグデータといった破壊的な技術が社会に変化をもたらし、世界中の人に大きな影響を与えようとしている。そのような変革の波の中では、企業にとって経営とITは車の両輪であるという考え方で事業に取り組んでいかなければならない」(成迫氏)
自動車業界ももちろんその波から逃れられない。デンソーでも、インターネットにつながった自動車のセンサーからさまざまなデータを取得してクラウド上に集約し、それをAIでデータ分析して付加価値を加える……という「コネクテッドカー」「Mobility as a Service」の実現を視野に入れている。
「またDXにおいてはソフトウェア開発力が企業の競争力に直結する以上、これまで競合とは考えられてこなかった新たなコンペティターとの競争に直面することにもなる」(成迫氏)
こうした現状を踏まえ、デンソーは2017年4月に組織改変を行って「デジタルイノベーション室」を新設。「攻めのIT」の実現に向け、基盤整備とアジャイル開発の推進に取り組み始めているという。
デジタルイノベーション室では、3つの取り組みを進めている。「早く、安く作り上げる」ための「クラウドとオープンソース」、「作りながら考える・顧客と共に作る」を実現するための「アジャイルと内製化」、「ゼロからイチを作る」ための「デザイン思考」だ。
まず着手したのは基盤の整備だ。小さく始め、利用者が増えてきたら自力でメンテナンスできる環境に切り替えることを目的に、オープンソースソフトウェア(OSS)とパブリッククラウドを積極的に活用することにした。
「OSSについては、コスト削減を目的に使うのではなく、システムの柔軟性、要件に応じて機能を変更できるから使っている。ただ、OSSには成熟して安定したものもあれば、発展途上で安易に使うと苦労するものもある。OSSを使うのにどれだけの人やコストが必要になるのかをきちんと検討する必要がある」(成迫氏)
加えて、サービスが成長した際に自由に移動できるよう、インフラ基盤のベンダーロックインを避けることにも留意した。
「OSよりも上のミドルウェア/アプリケーションレイヤーでポータビリティーを確保し、複数のクラウドをまたげる仕組みをいろいろ考えた。そうこうしているうちにOSSのDockerやKubernetesといった技術が出てきてポータビリティーを高められそうだと判断した」(成迫氏)
最終的にコンテナ技術とハイブリッドクラウドの組み合わせによって、「グローバル展開を考慮し、自社設備でもパブリッククラウドでも同様に稼働できるようなアーキテクチャにしている」と経営層に説明できるようにしたという。
次に取り組んだのが開発体制の整備だ。
成迫氏がIT業界から製造業に来て驚いたのが、スピード感の違いと、完成形を目指すレビューや管理体制の厳格さだ。それが品質につながっているのは確かだが、完成形の仕様を厳密に決め、長期で開発プロジェクトを進める従来型のウオーターフォールでは、ユーザーのフィードバックを受けつつ、機能拡張していくというやり方が難しい。そこでアジャイル開発を導入した。
現在デンソーでは、開発方式としてスクラムを採用し、Amazon CEOのジェフ・ベゾス氏が提唱する「2枚のピザ理論」から最大9人体制のチームで開発を進めている。木曜日にプランニングを行い、金曜日から翌週の水曜日まではその計画をひたすら実行。そして次の木曜日にレビューを行い、仕様やユーザー要件、非機能要件や開発の生産性、人が足りていないかどうかといったところまで、ありとあらゆることを振り返っている。
「1週間のスプリントの中で、ものすごく速いカイゼン活動ができている」(成迫氏)
仕様を決める際には、「ユーザーが本当に望んでいるものは何か」を付箋に書き出し、清書もせずにぺたぺたと張り出して、「価値」「最低限必要なもの」あるいは「できればあるといいもの」という具合に分類。このバックログを優先順位に従って並べ、週単位でやるべきことを整理している。もし終わらなかったものがあれば、次のスプリントでは分量を減らす。
「『それで納期に間に合うの?』と思う人がいるかもしれないが、間接業務を省いて余計なことをしないようにしている。コミュニケーションを取るのに一番良いのは壁とホワイトボード。メールとSlackは使うが、ExcelもPowerPointもいらない。体感では、ウオーターフォールと比べて4分の1ほどに開発期間を短縮できている」(成迫氏)
デンソーではさらに、「ゼロからイチをつくる」ための思考方法として、デザイン思考に取り組んでいる。
「アンケート調査を行って平均値だけを取っても、既にあるものしか作れない。破壊的なものを作るには、イノベーターやアーリーアダプターが何をしているかを知る必要がある」(成迫氏)
そこで大事なのが「ビジネスエスノグラフィー」だ。「変」なユーザーが何をしているかを「観察」して背景や価値観も含めて理解し、真のニーズを発見するアプローチだ。そこから得られた発想をプロトタイピングし、アジャイル開発でソフトウェアにしていくという。
最後に成迫氏は、「新しいことを始めるのにシステムや方法論から入る企業が多いが、『まずは、やってみる』ことが大事。きちんと考えて体制を整えながら『やってみる』ことが大切だ」と呼び掛けた。
Copyright © ITmedia, Inc. All Rights Reserved.