2016 年ソフトウェア開発の動向

この投稿では、当社顧客ベースから判明したソフトウェア開発トレンドをシリーズの第一弾として紹介します。お楽しみください!

皆さんはマーク・アンドリーセンの格言「ソフトウェアが世界を飲み込む」を耳にしたことがあるかもしれません。つまり手作業が進むと考えられていた各産業にとって、ソフトウェアが差別化要因になっているということです。Tesla が分かりやすい例でしょう。Tesla は走るコンピューターを開発することで、自動車産業を改革する一助となりました。私たちは、ほぼすべての産業でソフトウェアが道を示すという概念をさらに深く掘り下げたい、そして、ソフトウェア開発をさらに進めるトレンドを知りたいと考えていました。

5 万以上の顧客を持つアトラシアンは、ソフトウェア開発のトレンドをタップ 1 つで見つけられる独特の立場にあります。顧客という最高のリソースがあるからです。当社は 1300 以上の顧客を調査し、調査結果をインタラクティブリソースに落とし込みました。その結果の一部をここでシェアしたいと思います。

最高の開発チームは、アジャイル、Git、継続的デリバリーを実践

あらゆる産業のソフトウェアチームから分かったこと:

これらのプロセスは、明らかにソフトウェアチームの標準になっていますが、このすべてを実践しているのはまだ 49% だけです。しかし、これを実施しているチームは、より速く変化を起こし大きな自信となっています。

アジャイル、Git、継続的デリバリーが標準になっているが、3 つすべてを実践しているソフトウェアチームはまだ 49% だけである。


その方法とは? アジャイルの繰り返しアプローチなら、顧客や市場フィードバックに基づいて簡単にチームの優先度を変更することができます。興味深いことに、アジャイルチームの 50% がアジャイルと非アジャイルのテクニックを合わせて使用していると報告しています。それは各チームがニーズに合わせてプロセスを適用していることを意味しています。Git がブランチとマージのワークフローをサポートしているので、コード上での共同作業が容易になります。そして適切な継続的デリバリーパイプラインによりリリースは重大なイベントではなくなり、より小さくより頻繁に (すなわちより低リスクで) 行われるようになります。

開発チームがますます分散化

産業に関係なく回答者の 72% がチームの一部がリモート作業をしていると答えました。

Git

前述の通り回答者の 85% が Git などの DVCS に移行しています。Git を使うと、チームメンバーがどこにいても作業することができます。分散バージョン管理システムとして、各開発者は自分のローカルリポジトリを持ち、コミットの全履歴を備えています。全ローカル履歴を持つことが意味するのは、コミットを行ったり、ファイルの全バージョンを調査したり、コミット間の差分を取るためにネットワークに接続する必要がないということです。

分散開発は、より信頼性のある開発環境も生み出します。各開発者がローカルリポジトリ内で作業することで、彼らの変更が切り離され、そしてさらに重要なことは彼らのミスが切り離されるからです。ピアレビューを実施したり、チームの共有リポジトリにプッシュする前に変更をテストするなどといった基本的な開発ベストプラクティスと併せることで、Git はパワフルなツールになります。アトラシアンは、スマートミラーリングのような分散チーム向けの新機能によってGit のこのような動向をサポートしています。

ビルトイン コラボレーション

チームとしてまとまりを保つことは、チームが遠隔地にいる時には特に大変です。HipChat のようなコラボレーションツールが、分散チームにとっては必要不可欠なものです。しかし、仕事について議論する際において、グループチャットが唯一の場所というわけではありません。ほとんどの課題トラッカーでは、チームメイトが課題についてコメントをすることができるため、それぞれ最新の状態を維持することができます。同じことが開発ツールにも言えます。コンテキスト内でコードの変更や不正ビルドについて議論できることは、今では普通です。

自動化と可視性

各ツールは、同じベンダーのものであれ異なるベンダーのものであれ、ますます統合されつつあり、コンテンツの自動シェアや同期がしやすくなっています。実際のところ、回答者の 82% がソースコード管理ツールがビルドシステムや課題トラッカー、あるいはその両方と統合されたと報告しています。

たとえば、JIRA Software と Bitbucket の統合 を見てみましょう。開発者が Bitbucket でプルリクエストを行うと、JIRA Software の対応する課題が自動的にワークフローの次の段階へ進みます。チーム内の誰でも課題を見るだけで作業の状態を確認することができ、これが実際に進行中の状態を表していると信頼することができます。そして HipChat がこれに加わると、チームはビルドステータス、プルリクエスト、そしてその他の課題の更新をリアルタイムで取得することができます。

チームがよりスリムで素早く

回答者の 80% が、自社の平均的な開発チームは 10 人以下のメンバーで構成されていると答えました。これは驚くべき数字なので、私たちはここをさらに掘り下げることにしました。来週は新たなソフトウェア開発トレンドに関する投稿をしますのでお楽しみに。

コンテナ、一番ホットなソフトウェア開発トレンド

当社顧客の 56% がテストの実施やステージング、製品開発にコンテナを使用していると答えました。コンテナを使用することでアプリケーションやサービスの実行に必要なすべてを定義することができ、スケールが必要なときにはいつでも (「イメージ」と呼ばれる) ブループリントを使って新しいコピーを作ったり、あるいは単純に他人とそれを共有することができます。コンテナによる容易さやスピードで開発がより効率的になるだけではなく、従来のベアメタルハードウェアを維持する場合に比べ、IT オーバーヘッドを削減することができます。

Bitbucket と Bamboo 両方への当社の Docker 統合は人気が高く、現在どれほどコンテナが流行っているかを証明しています。Bitbucket を使うとソースコードのステータスを Docker リポジトリ側で見ることができます。そして、Bamboo では Docker を使うビルドエージェントをさらに動かすことができます。Twitter 上の流行や地球上で行われているあらゆる開発会議のスケジュールから考えて、コンテナ (特に Docker) は今後数年間にわたりソフトウェアにおける IT テクノロジーになることでしょう。

あなたのチームはどうですか?

全体としてデータはすべて良好です。しかし、あなたが本当に知りたいことは、あなたのチームが他の人たちに匹敵しているかどうかですよね? 当社は比較ツールを開発しました。これはあなたのチームが同業者に匹敵するかどうかを確認するためのものです。

引き続き当社顧客の事例からより多くのことを学んでください。近いうちに、より小さくスリムなソフトウェアチームの新しいトレンドに関する投稿をします。さらに Git の新しい洞察についてもです。それまでの間、比較ツールをお楽しみください!

あなたのチームの達成度を確認する

この投稿が役に立ちましたか? ソーシャルネットワークでシェアして頂くと、同業のソフトウェアメーカーも 2016 年のトレンドが学べます!


*本ブログは Atlassian Blogs の翻訳です。本文中の日時などは投稿当時のものですのでご了承ください。 *原文 : 2016 年 3 月 29 日 "Top software development trends in 2016"