社内のオンラインコミュニケーションもOSS活動を参考に
横井氏が参加しているのが「Node-RED」の開発プロジェクト。Node-REDはOpenJS Foundation管理下のOSSローコード開発ツールで、「開発元のIBMに続き、日立が2番手ぐらいの位置を担っている。全世界で156人のコントリビュータが開発に参加している」と説明する。ほかにも、富士通やNEC、サムスン、インテル、ウフル、STMicroelectronicsなどの企業がNode-REDを活用しているという。
横井氏はノードの許可リスト管理方式やノードの説明文追加機能、フローエディタ向けの和訳追加、フロータエディタのIE対応、UIテストのBrowserStack対応などで貢献。またNode-REDの部品開発ツール「Node generator」やオフライン環境で使えるスタンドアロンNode-RED、ダッシュボード向けテーブル表示ノードなどを開発。「他社サービスで取り込まれたものもある」と横井氏。例えばThe Linux Foundationが開発しているOSSの緊急地震速報システムに、横井氏が作ったテーブル表示ノードが採用されたという。「日本ではすでに緊急地震速報システムがあるので、使われることはないかもしれないが、海外ではプエルトリコで実際に使われていると聞いています」を横井氏は笑顔を見せる。
このようなOSS開発を開発コミュニティではどのように進めているのか。開発の進め方としては、まず機能提案の後、設計ドキュメントをマークダウン形式で記載し、GitHub上で共有する。機能を実装した後は、GitHub上でプルリクエストを提出する。開発の状況はTrelloやGitHub Projectsを用いて共有する。
![開発コミュニティでの開発の進め方](http://cz-cdn.shoeisha.jp/static/images/article/13709/13709_2_2.jpg)
開発コミュニティでの開発の進め方
コミュニケーション方法は、2週間ごとにSlack上で開発状況を共有するほか、3カ月ごとにWebExを使った議論する。半年に1回はイギリスに出張し、Node-RED開発メンバーと直接、顔を合わせての議論もしていたという。結果、貢献ランキング世界4位、さらに「IBMのCEOから表彰状をいただいたこともあった」と横井氏は振り返る。
開発した機能やノウハウを紹介するため、勉強会で登壇したり、社内の研修所や研究所を会場として提供し、社外の人たちと一緒にイベントを開催したりした。「そこでイベントの運営ノウハウを習得することができた」と横井氏は語る。また勉強会の運営メンバーで書籍を出版したり、記事投稿したりもした。
コロナ禍においても、「OSSの開発は元々オンラインがメインのため、これまで通りにできた」と横井氏。出張はなくなったが、他社の勉強会でプレゼンをしたり、地方のグループ会社にヒアリングしたり、海外企業や海外グループ会社との打ち合わせをしたりするなど、「社外とのやり取りが多くなった」と言う。イベントもオンラインで開催され、運営や登壇を経験。配信ノウハウやオンラインのみでの準備の進め方などが習得できた。
「問題は社内でのコミュニケーションだった」と横井氏は言う。コロナ禍の影響で仕事環境が100%在宅勤務にシフト。しかも異動も重なったので、社内では会ったことのない同僚が大半だったからだ。「そこで、今まで社外で得たノウハウの中から、使える活動を社内で行ってみた」と言う。例えば同僚に書籍出版を勧めたり、同僚と日立のアドベントカレンダーを運営してみたりした。これによって、他チームの仕事の内容が把握できたり、自他部署とのつながりを作れたりしたという。
また社外で使えるツールとは異なるものの、Microsoft TeamsやMicrosoft Stream、Yammer、One Drive、社内GitLab、Redmineなど社内ではリモートワークで使えるツールも揃っていたので、Teamsで社内勉強会を開催し、Streamで記録するといったことにもチャレンジしたという。
同僚と雑談するためのツールとしては、NTTコミュニケーションズが提供する「NeWork」を試しているところだという。
「リモートワークでは仕事の方針の宣言が重要になる」と横井氏。横井氏はたまたま異動時に希望業務を出す機会があり、それを共有できたことで、その後のリモートワークのやりやすさにつながったという。
「エンジニアの働き方が変わりつつあるこれからは、特にオンラインでのコミュニケーションを得意とするOSS開発者や社外勉強会コミュニティ経験者が活躍しやすくなるはず。今回紹介したやり方を参考にして、ぜひ実践してみてほしい。」
最後にこう語り、横井氏はセッションを締めた。