前田建設工業株式会社

Rubyを活用したアジャイル開発とオープンイノベーションの実現に向けて

東京都千代田区に本社を置く前田建設工業株式会社(以下、前田建設工業)は、2019年1月に創業100周年を迎えた大手総合建設会社だ。
ここ数年さまざまな業界で急速にデジタル化が進む中、建設業界もそれは例外ではない。
同社はWeb系システムを内製化しており、その開発にはRubyを採用していると聞き、前田建設工業の髙橋哲郎氏にお話を伺った。

デジタル化が進む建設業界の現状

建設業界のデジタル化について理解するには、この業界が直面している2つの課題を知る必要がある。

国内全体の労働人口が減少する中、人手不足はどの業界でも叫ばれている問題だが、建設業界はより深刻だ。
建設業就業者数は1997年をピークに年々減少し続け、近年はピーク時のおよそ70%にまで減少している。さらに就業者の高齢化が進んでおり、全体のおよそ3割が55歳以上、29歳以下は1割しかいないという状況だ。
高齢化が進行しているため次世代への技術継承が大きな課題となっている。

建設業界は年間50兆円以上が動く巨大市場だ。
たが投資額の推移で見ると、1996年の82兆円をピークに徐々に下がり続け2010年には42兆円まで落ち込んでいる。ここ数年は2020年のオリンピックの影響もあって50兆円前後で推移しているが、2020年以降はリニアモーターカーの特需は見込めるものの、大きく建設投資額が増えることは考えにくい。
その一方で、2010年頃からは海外における建設受注実績が徐々に右肩上がりになっている。
従来型の国内請負だけではなく、国際市場への進出や建設業以外の多角化戦略を視野に入れる必要が出てきている状況だ。

こうした状況を踏まえ、国土交通省は2015年11月「i-Construction」を発表した。

これは建設現場の生産性の向上を目的としており、測量、設計、施工、管理の全プロセスでICT技術を活用していくというものだ。3次元設計、BIM、CIM、ドローン、ICT建機などの革新的な技術を現場に導入し、生産性が高く魅力的な新しい建設現場を創出することを提唱している。
これによって、人口減少や高齢化が進む中にあっても建設業が私たちの暮らす地域のインフラ整備・維持の担い手であると共に、地域社会の安全・安心の確保を担う地域の守り手として在り続けられることを目指している。

経営を支える全社システム統合基盤をRubyで構築

こういった背景の中、前田建設工業は既存の請負業だけではなく、新しいサービスを融合させた総合インフラサービス企業への変革を掲げ、さまざまな取り組みを進めている。

その取り組みを支えるシステムが、BizSideと呼ばれる全社システム統合基盤だ。このシステムはユーザー管理やSSO、ファイル格納などの共通機能をAPIで提供しており、全ての社内システムがBizSideと連携して稼働することができるように標準仕様を定義している。
建設現場で必要となるシステムをはじめ社内のICT資産管理システムなど、連携するシステムは多岐に渡るため日常業務の中心的な存在となっている。

BizSideは2013年頃、社内のごく少人数のチームで生み出されたシステムだ。ベース部分はRuby on Railsで構築されている。
今現在でも日常的に開発が入っているこのシステムは、Jenkinsを用いてテストからビルドまでを一括で管理している。ステルスブラウザを用いて実機でのテストまで含めて自動化しており、テストシナリオで実際に操作した画面は自動でキャプチャされ、テスト結果と共に開発者にフィードバックされる。
デプロイは、開発チームがチャットボットと対話することでCapistranoと連携しデプロイできるようになっており、このチャットボットからはテストの失敗や本番環境のエラーも通知される。

〈髙橋氏のチームで構築したシステムの一部。
前田建設工業のメンバーを中心に、株式会社ネットワーク応用通信研究所やウルシステムズ株式会社など、複数のパートナーを加えたチームでこれらのシステムを構築している〉

「私のチームは7〜8名がコアメンバーになっていて、アジャイル開発チームとして活動しています。これまで作ったシステムは大小あわせて30システムくらいあって、全てRuby on Railsで開発しています。」

Railsを中心としたCIやDevOpsをフル活用しているこのシステムは、どういった流れで作られたのであろうか。

Rubyとの出会い、アジャイル開発への取り組みのはじまり

髙橋氏の取り組みの歴史は2011年より前まで遡る。

「弊社では以前よりWeb系システムの内製開発を進めていまして、2011年頃からWeb系システムに対するニーズが高まってきていました。ところが当時のWebシステム開発は、開発者個人の能力や不十分な開発ルールに依存していて暗中模索の状態でした。加えて、社内のITに対する期待が増大し、単に外部ベンダーに依存した開発では経営層の要求する内容とスピードに応えられない状況もありました。そのため、IT部門をバイモーダルな組織構成とし、内製開発力を強化してニーズに応じた柔軟でスピーディな開発を進められる環境が必要になりました。」

そういった課題を解決するべく色々と調べていた折、Rubyと出会った。

「世界中にはMatzとかDHHとか凄い人達がいるのだな、と。そこに近づけるのなら近づいてみよう、と自主的に取り組んだのが始まりです。」

〈前田建設工業株式会社の髙橋氏〉

BizSideの誕生と経営環境の変化

「弊社のIT開発の基本方針は、すでにパッケージやサービスがあるものは購入して済ませますし、要件が明確なものは外部ベンダーにお願いしています。一方で、建設業務向けの専門システムなど他に製品やサービスがなかったり、自社開発して差別化ができるようなシステムを内製開発しています。そういったシステムはアジャイルでしか解決できないような曖昧模糊な要件だったり、開発のスピード感を求められる場合が多く、プロトタイプを作って各部門と対話を重ねながら開発を進める上でRubyの開発効率の良さは必要不可欠でした。」

いくつかの取り組みを進めている中、既存の各システムの共通機能を集める形で誕生したのがBizSideだ。

「それまではやりたいことがあった時に、既にあるシステムを使ってどうするかという話になったり、それができない場合は個別に要件を聞いて作ったりという個別最適化になっていました。BizSideができた後はこれを全社の標準として、新しくサービスを作る場合にもこれと連携する前提で進めてもらうようになっています。」

自主的に始めた小さな取り組みは、いつしか全社の根幹を担うシステムを生み出す取り組みへと進化していく。

「2016年くらいから組織も大きく変わり、それまで経営企画本部にあったBizSideですが、以降は技術部門に組み込まれて技術部門が業務改革をやっていこうという流れになりました。自分たちがトライしてきていた部分と経営層の期待がマッチしたわけです。今は私たちが業務に必要となるシステムを企画して作っていくという形になっています。」

アジャイル思考をIT部門以外にも展開

髙橋氏に今後の取り組みについても聞いてみた。

「アジャイル開発など急速にトライを繰り返し成果に結びつける開発手法はこれからの企業の研究開発や製品開発にも必須の概念だと思います。これまでの開発を通じて得た知見を他のIT部門以外へも、例えば研究開発へも展開し、開発の生産性を向上させていきたいと考えています。」

振り返ってみれば、髙橋氏の取り組みはシステム開発手法のみならず、チームの在り方もアジャイル的であると感じる。

異分野の企業との共創によるオープンイノベーション

インタビューの間、髙橋氏は繰り返し「私たちはOSSという巨人の肩に乗せてもらいながら歩んできた」と述べていた。同社はOSSの世界に少しずつ自分たちの成果を還元していくとして、これまでの取り組みで開発したいくつかのプロダクトをGitHubに公開している。
髙橋氏の「巨人の肩に乗る」という言葉は、偉大な先人に畏敬の念を払うとともに、自身が生み出した知識もまた後ろに続く人たちに提供していくということを指しているのであろう。これは異分野の領域の方々とタッグを組み、多くの知見や技術を集約しながらより良いサービスを社会に提供するという、前田建設工業の姿勢の1つであると感じる。

まつもとゆきひろ、というひとりのエンジニアが作り上げたRubyは今、世界中の人々から支持される存在になった。
前田建設工業のRubyを活用した取り組みもまた、建設業界の発展へと貢献するべくこれからも進化し続けるであろう。そしてその先は、私たちが安心して暮らせる社会へと繋がっているのである。

<前田建設工業株式会社のGitHub>
https://github.com/maedadev

※本事例に記載の内容は取材日時点(2019年7月)のものであり、現在変更されている可能性があります。