モダンなソフトウェア開発のための開発チーム運営方法モダンなソフトウェア開発の課題【前編】

コンテナ化されたマイクロサービスや自動化されたテストを効果的なコラボレーションやコミュニケーションと組み合わせれば、ソフトウェアのイノベーションを加速することができる。

2020年12月30日 08時00分 公開

 モダンなソフトウェア開発の定義についてComputer Weeklyが話を聞いた専門家の間で共鳴する技術分野が複数あった。コンテナ化されたマイクロサービスはその筆頭だ。このアプローチの主なメリットの一つは、ITシステム全体への影響を抑えながら、本番環境でコードの開発、テスト、デプロイ、運用ができることにある。

マイクロサービスの組織化

 コンウェイの法則によれば、システムを設計する組織は自身のコミュニケーション構造を複製した設計を作り出す(訳注)。Couchbaseの顧客成功担当ディレクター、ペリー・クラグ氏によると、コンウェイの法則にあらがうことはできなくても、その影響を認識することによってその制約の範囲内で動くことはできる。

訳注:コンウェイの法則の原文は、「Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.」。

 その影響はソフトウェア開発の領域に及ぶ。つまり、モダンなソフトウェア開発は社内に存在する組織構造に影響される。

 一つの側面において、これはモダンなソフトウェア開発を定義付ける協調的な働き方と矛盾するように見えるかもしれない。「アプリケーション開発を成功させるためにはコラボレーションが必要だ」とクラグ氏は言う。「新しい働き方のために緊密なコラボレーションが難しい場合は、緩いコラボレーションにすればいい。共有リソースが制約や障害を発生させているのであれば、ソフトウェアとその基盤との組み合わせを緩める。マイクロサービスのようなトレンドはそうした制約を明白に認識したものであり、これを自分たちのものとする必要がある」

会議よりワークフロー

 コロナ禍のためにチームコミュニケーションは最優先課題となった。

 クラグ氏は言う。「ソーシャルディスタンスの世界では、プロダクトマネジャーの重要性がかつてなく増している。開発者は、解決すべきことが分かれば解決策を作り出すために何をする必要があるのかが分かる。そうした問題を解決するということは、顧客の頭の中に入り込むということだ。開発者が心理学者になることを期待するのはあまりにも行き過ぎだ。それよりも、プロダクトマネジャーと開発者の間で、顧客がどんな問題を抱えていて、最終的にどんな状態になるのが理想なのかについて、はっきりとしたコミュニケーションが必要だ」

 つまり分散したチームとの迅速なコミュニケーションが不可欠だとクラグ氏は指摘し、「もしそれができていないのであれば、チームにとっての優先課題はそれが確実にできるようにすることだ」と言い添えた。

 ソフトウェア開発はチームの取り組みであり、情報は定期的な会議や進捗(しんちょく)の報告を通じて共有される。

 クラグ氏は、会議をできる限り生産的なものにすることに力を入れるよう促している。

 「数人以上が関わる会議は生産的ではない。そうした会議は良くても発表の場になり、悪ければ2人の人が話していて、残る全員は自分の名が呼ばれるのを待っている」

 クラグ氏の経験では、管理職やマーケティングなど組織の他の部門は、開発者のやり方を取り入れて課題追跡、スプリント、ワークフローの使い方を学び、会議の運営効率を高める必要がある。

 「会議をコンピュータのように考える必要がある。目標とすべきは、会議を高速のシステムにして行動に対する制約を排除し、人がもっと独立して働くために必要なデータと権限を与えることだ」(クラグ氏)

ITmedia マーケティング新着記事

news193.jpg

IASがブランドセーフティーの計測を拡張 誤報に関するレポートを追加
IASは、ブランドセーフティーと適合性の計測ソリューションを拡張し、誤報とともに広告が...

news047.png

【Googleが公式見解を発表】中古ドメインを絶対に使ってはいけない理由とは?
Googleが中古ドメインの不正利用を禁止を公式に発表しました。その理由や今後の対応につ...

news115.jpg

「TikTok禁止法案」に米大統領が署名 気になるこれからにまつわる5つの疑問
米連邦上院が、安全保障上の理由からTikTokの米国事業の売却を要求する法案を可決し、バ...