ソフトウェア開発者の役割が変化した10年–Atlassian幹部に聞く
今回は「ソフトウェア開発者の役割が変化した10年–Atlassian幹部に聞く」についてご紹介します。
関連ワード (ソフトウェア開発の新たなトレンド、特集・解説等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
過去10年間で、ソフトウェア開発者の役割は急速に進化した。その背景には、アプリケーションの新バージョンをかつてないほどのスピードと頻度で提供しようとする組織が増加したことがある。
Atlassianのエンジニアリング責任者であるAgnes Ro氏は、身をもってそれを体験した。Ro氏は同ソフトウェア企業に15年間勤務しており、新卒で開発者として入社してから、昇進を重ねて、Atlassianのクラウドプラットフォーム内にあるFoundational Collaborationという部門で100人のエンジニアのチームを監督するようになった。同氏の主な職務には、Atlassian製品の共通の体験とバックエンドサービス(たとえば「JIRA」や「Confluence」のリッチテキストエディター)のほか、ファイルやストレージの体験の提供などがある。
Ro氏によると、反復サイクルが数時間とまでは言わないまでも数週間単位で起きる現在と違って、以前はソフトウェア開発のターンアラウンドタイムが長かったという。
「出荷していたのはいわゆるサーバー製品で、開発リリースサイクルは約3カ月あった。これはかなり長い時間だ」と同氏は述べた。
Ro氏は、ターンアラウンドタイムが短くなった理由として、顧客がオンプレミスからクラウドインフラストラクチャーに移行したことを挙げる。
「以前は顧客にインフラストラクチャーを運用してもらい、われわれは各種データベース、アプリケーションサーバー、さらには『Java』バージョンなど、当時サポートしていた複数のプラットフォームでの出荷とテストに全力を注いでいた」とRo氏は語る。
「自社の製品がどのように運用されるのか、よく分からないことが多かった。リリースサイクルの最後にテストと安定化の期間を非常に長く設けて、必ず適切なことをテストするようにしていた。一方で最近は、すべてがクラウド上にあるため、出荷してインフラストラクチャーを提供し、自社のすべての製品とサービスをわれわれが自ら運用している。これにより、開発のペースが大幅に加速したと感じている」
Ro氏は、特にフロントエンドで開発者が記述する言語をサポートするフレームワークも成熟したと述べ、同氏のチームが始まったときはまだ「Internet Explorer 6」(IE6)のサポートを担当していたと回想した。
「今ではブラウザーの標準の標準化が非常に進んでいるため、エンジニアは以前よりも多様な課題に取り組んでいる」
ソフトウェア開発の初期の頃は内向きのアプローチが好まれていた、とRo氏は認める。これは、顧客が必要とするものではなく、ソフトウェア開発者が重要だと考えるものに従ってアプリケーションが構築されていたためだという。
現在、Atlassianでは、製品の開発に着手する前に、より協調的なアプローチをとり、エンジニア、設計チーム、製品チームが「3本柱」を形成して、開発計画を立てる。Ro氏によると、このアプローチが特に重要になるのは、チームが開発中の製品に何らかのユーザー向け機能が必要な場合だという。それにより、何を構築する必要があるかについて開発者が理解を深められるようになる、と同氏は指摘した。
「プロダクトマネージャーの助力によって注力できたことには実際に大きな価値があった。出荷量は減ったかもしれないが、適切なものを出荷している。設計チームも、顧客に分かりやすいユーザーインターフェースと体験をより多く構築する作業を本当に助けてくれている。われわれはもはや製品をエンジニア向けにだけ出荷しているのではない。こうした役割を導入したことは非常に重要であり、顧客に出荷するものとその周りの体験に与えた影響は極めて大きかったと感じている」(Ro氏)
たとえば、セキュリティが開発のあらゆる段階で重要視されるようになった、と同氏は指摘した。
「セキュリティは以前よりもはるかに深く浸透している」とRo氏。「Atlassianの最優先事項だとエンジニアリングチームの全員に伝える。他部署であるセキュリティ部門内だけの責任ではなく、皆の責任だと理解するようになった。そのため、絶えずテストを実施し、安全性に優れた最高の製品を顧客に出荷できるよう、多くのことに取り組んでいる」
ソフトウェア開発者はもはや組織内で孤立した存在ではなく、さらに重要な役割を果たすようになっている、とRo氏は考えている。
「現在のエンジニアは、開発ライフサイクルのすべての部分に対して、以前よりもはるかに大きな責任があると感じており、かつてのようにコードを書いているだけではない」とRo氏は述べた。
「出荷や運用といった面まで、まさにあらゆる工程に関与して、信頼性と安定性を確保しなければならず、コードを記述して出荷すればよいわけではない。それは極めて大きな変化であり転換であると私は確信している」