宇宙機開発の「一度きり」のシステム開発者は、テストについてどう考えているのか~『エンジニアサポートCROSS 2015』から
2015/01/31公開
探査機などの宇宙機の打ち上げシステムや、生放送のテレビ番組と連動するWebシステムは、本番稼働が一度きり。シミュレーションも完璧な形では行えない。そういった「一度きり」のシステム開発におけるテストに関する考え方は、継続的にサービス改善を行うWebサービス開発の場合とどこが違うのか。
1月29日に横浜・大さん橋ホールで開催された、Web開発者向けの大規模勉強会『エンジニアサポート CROSS』。「はやぶさ2開発者に聞く~一度きりのテスト対策〜」と題したセッションでは、TDD(テスト駆動開発)で知られるタワーズクエスト取締役社長の和田卓人氏がモデレーターを務め、はやぶさ2のロボットアーム制御エンジニアだったJAXAの成田伸一郎氏、テレビ連動のアンケートシステム開発を担うバスキュールの鳥居剛司氏に、上記のテーマがぶつけられた。
ここでは、成田氏が語った宇宙機開発のテストの方法と考え方を中心に、セッションの内容を紹介する。
実環境の完全再現は不可能。「枯れた技術」が優先される
フロンティア領域にチャレンジし続ける宇宙機開発においては、「そもそも、宇宙機を宇宙へ飛ばすことそのものがテスト」であると成田氏は言う。
例えば、大きな電子レンジと冷蔵庫と真空ポンプが一緒になったような「熱真空チャンバ」というテスト用の装置があり、打ち上げ前はその中で真空、温度条件のデモンストレーションを行っていたという。だが、放射線などの外部的、複合的要因は実際に軌道上に出してみないと分からない。実環境を完全に再現することはできないからだ。
では、「行ってみないと分からない」部分のリスクヘッジについては、どのような考え方で臨んでいるのか。
「宇宙機開発の技術選択では、実績数が重視されます。新しくて性能が良いものでも実績がないものは使われない。どんなにローテクでも、100回、200回とロシアのコンポーネントなどで飛んでいる実績があるものの方が、信頼性が高いという評価で採用されるのです」
ミッションそのものは常に最先端を追求したチャレンジ。だが、その手法は安全性が最優先。絶対に失敗が許されない分、一般的なシステム開発でいうところの「枯れた技術」であることが、より重視されるということだ。
定性的なノウハウは「レッスン・アンド・ラーン」で属人化を防ぐ
JAXAではやぶさ2の開発などに携わる成田氏
そして、宇宙機を打ち上げた後は運用面で絶えず判断を迫られる。
例えば、2010年に小惑星イトカワのサンプルを地球へ持ち帰った探査機『はやぶさ』は、リハーサルとなる1回目の軟着陸を終えた後、2回目の軟着陸を試みずに地球に帰還するという選択肢があったという。
はやぶさには、「地球とイトカワを往復すること」と、「イトカワのサンプルを持ち帰ること」という、2つのミッションがあったからだ。
リスクを回避して前者のミッションを確実に達成するのか、最悪の場合すべて失敗するリスクを承知で両方の達成を目指すのか――。探査機の健康状態のデータを基にしたこうした選択は、プロジェクトリーダーの決断に委ねられているのだという。
こうしたノウハウが個人に依存することのリスクについては、どう考えられているのか。技術の属人化の問題は、Webサービスの開発現場にも共通するものだろう。
「宇宙機開発では、企画立案時にミッションのサクセスプライテリアをミニマム/フル/エキストラの3段階に分け、それに対する成果報告書とレビューで内容を評価します。ただ、ノウハウやノウフーの部分は定性的で、データベースに落としにくいし、無理矢理落とし込んだとしても活用できないことが多い。
そこで、『レッスン・アンド・ラーン』で、リーダー、チーム員、経営側といったいろいろなフェーズでの気付きを作文のように溜め、何かがあった際には参照できるようなことも行っています」
宇宙機開発の現場にもある「ジョブ・セキュリティ」問題
宇宙機開発のサイクルはWeb開発と比べて圧倒的に長い。その分だけ、引き継ぎや後継育成の難しさは深刻だ。
「それを体系化することを目指したのがシステムエンジニアリングです。アポロ計画のころからそうした動きが始まっていて、どう体系化していくかということそのものが、学問にもなっています」
ただし、本当のフロンティアな部分は、職人の世界に近いと成田氏は続ける。
「教えたからといって誰もがすぐにその領域にたどり着けるものではありません。大工の棟梁が鉋がけを手取り足取り教えないのと同じように、背中から学べというようなところがあるのが実際です」
その背景には、「自分のノウハウをタダで教えたら、自分の職がなくなりかねない」という、どのジャンルのエンジニアも直面しがちな「ジョブ・セキュリティ」の問題もあるという。
根本に潜んでいる課題や難しさは、Webサービス開発に通じるものが少なくない。「一度きり」ゆえ、スケールの大きさゆえに、それがより顕著な形で表れるのが宇宙機開発の現場であるといえるかもしれない。
取材・文・撮影/鈴木陸夫(編集部)