ユーザーに受けいれられる製品開発を進める上で必要なドクトリン
前半は人間関係や人生の全般についてのプリンシプルが並んだが、後半は開発に関するドクトリンへと移る。上田氏が所属するキヤノンITソリューションズが「Web Performer」開発で重視していることでもある。
「Web Performer」は、Webアプリケーションを自動生成できる開発ツールだ。シンプルな設計情報を入力することでWebアプリケーションだけではなく、ドキュメントやテストケースなども自動生成している。また、ワークフロー機能もあり、高い操作性と多彩な機能で評価されている。2005年から販売開始し、2020年1月には累計導入社数が1176社に広がった。
上田氏は「ローコードで超高速に開発ができて、開発期間を大幅に短縮できるのが強みです。また試行錯誤しやすく、ユーザーと開発者で共創型開発ができるのも特徴です」と話す。
「保守主義」(エドマンド・バーク)
エンジニアは「保守」と言われると、メンテナンスを思い浮かべてしまいがちだが、ここではコンサバティブ。バークは「人間の歴史のなかで、革命的なものは必ず失敗する。歴史と現在合わせて多数決せよ」と説いた。IT業界でも、革新的過ぎて受けいれられなかった技術というのは過去にいくつも存在している。上田氏は「製品で培ってきた歴史、いいDNAは変えず、時代に合わせて進化していくように注意しています」と話す。
「フリクションレス」(マーク・ザッカーバーグ)
Facebookのザッカーバーグが、開発者向けカンファレンスで発言したコンセプトの1つ。直訳すると「摩擦がないこと」、テクノロジーは円滑かつ直感的に利用できるようにすべきという考え方だ。Web Performerでは入力を命令型ではなく、目的を記述する宣言型パラダイムにし、ユーザーのストレスや労力を極力減らしている。
「プラガブル」(エリック・レイモンド)
レイモンドは、UNIXの思想として、多様性の原則と拡張性の原則などを挙げている。前者は「唯一の正しい方法はない」であり、それを背景に後者があり、データ形式やコードには成長できる余地を残しておかなくてはならないという考えだ。具体的には、至るところにアプリケーション動作を拡張できる「プラグイン・ポイント」を設けることになる。
「家具の裏側」(スティーブ・ジョブズ)
非公式な発言だが、ジョブズは「目に見えない部分にこそクラフトマンシップが出る。手を抜かないことは結果的に全体の品質も向上させる」と話していたそうだ。上田氏は「われわれも、例えばユーザーが目にしないような、自動生成されたJavaコードにも可読性を持たせるなどしています」と話す。
「まなざし」(ジャン=ポール・サルトル)
実存主義のサルトルによると、人間は「人から見られる」ことを気にすることで、人の行動を変えるという。開発環境であれば、ユーザー「目線」が必要であるため、Web Performerではチーム内にユーザー役をおいている。常にユーザーの目線にさらされておくことで、いい開発ができるようにしている。
「卓越性」(アリストテレス)
アリストテレスは「人には向いていること、やるべきことがあり、それをすることが人類幸福の最大化につながる」と残した。それぞれが他より卓越した何かを持ち、それを遂行することの重要性を説いた。これを参考に、Web Performerを開発しているプロジェクトではキャリアやロールを多く用意し、エンジニアたちの好きなことや得意なことを生かしたジョブアサインを行う。
「無理なジョブチェンジは行わない。それぞれが自分の得意なことでチームに貢献すればいい。そうすると安心して働ける環境となり、ひいてはチームや製品がいい形で持続できるようになる」(上田氏)
工学とは人の役に立つこと、それには余らせることが大事
上田氏は「工学」についても触れた。「科学」は自然を説明するルールであるのに対し、「工学」は役立つものを設計するものとなる。「役立つもの」が工学の大事なところで、世界を改善していくために存在しており、現実と対峙していくものでもある。工学とは、人の役に立つためのハブ&インターフェースともいえる。
ただし、目の前の仕事をこなすことばかりに目を向けていると、役に立つ前に疲弊してしまう。実際に、上田氏もかつて仕事を「こなす」ことに徹底していた時、体調を崩したことがあったという。
そこで発想を転回して、「仕事をこなす」から「この仕事で役に立つ」と考え方を変えたのだ。上田氏は「外向きの効果として、いい意味で目線が上がり、全体最適が考えられるようになりました。内向きの効果としては、人間の行為として自然なので、大きな流れに乗っているようで気持ちが楽になりました」と話す。特に内向きの効果は大きかったという。考え方やスタンスに無理があって負荷が大きい状態から、自然体で楽な状態に近づけることで、さまざまなことがうまく回るようになったそうだ。
最後に、上田氏は「余らせる」ことの重要性を話した。「精神的、肉体的、時間的、金銭的、どれでもいいが『余らせる』ように意識することがないと、『役に立つ』ことにつながらない。ただし、無理に人を削るなど、誰かをないがしろにすることで『余らせる』を達成するのは正しくない。うまく『余らせる』ためにも、プリンシプルを活用すべきだ」と強調した。
「プリンシプルをうまく使い、余らせて、役に立つエンジニアリングを実践してほしいと思います」(上田氏)
お問い合わせ
キヤノンITソリューションズ株式会社