TOPNetwork > リモート開発チームのためのベストプラクティス(下)

Network

リモート開発チームのためのベストプラクティス(下)

2021/03/05

Isaac Sacolick InfoWorld

 今回の記事では、リモートでのアプリケーション開発プロセスのベストプラクティスについて、新たに7項目を挙げておきたい。

前回から続く)

テストとセキュリティのシフトレフト

Credit: Ross Findon

 アプリケーションの開発方法やデプロイ先を問わず、機能要件、性能基準、セキュリティ要件など、さまざまな要件を満たしているかどうかのテストは欠かせない。リモート開発チームは、エンドユーザー任せでユーザー受け入れテストを確実に実施することはできない。プラットフォーム、API、機能、パフォーマンス、セキュリティに関するテストを自動化する必要がある。CI/CDパイプラインを活用しているチームは、パイプラインで自動化テストの一部をトリガーする継続的テストを考えるとよい。

 また、シフトレフトテストの戦略を取り入れることも急務となる。シフトレフトテストでは、テストの確立と自動化を開発プロセスの早い段階で行う。本番環境のコードに欠陥が紛れ込んだり、本番環境で発生したインシデントに対応したりといったことは、誰でも嫌なものだが、特に大勢がリモートワークで作業している状況では、修正にかかる負担や、それに付随するコストとストレスが、いっそう大きくなる。

 リモート開発チームがそのほかに注目すべき部分としては、シフトレフトセキュリティと、新機能を導入する時の機能フラグの使用という2つがある。ここでのベストプラクティスは、デプロイの回数の増加よりも質の向上に照準を合わせることだ。重要なのは速さよりも品質の高さである。

低リスクの変更管理を自動化する

 アプリケーションに低リスクの変更を加える時に、そのデプロイに関してCAB(変更諮問委員会)の長時間の会議が必要になるのは、リモート開発チームとしてはありがたくない。こうした会議は、必ずしも時間の上手な使い方ではないかもしれない。だが一方で、運用チームやセキュリティチームにとって、プロセスの手続きの厳密さは重要だ。本番環境でのインシデントの原因について、こうした変更承認までさかのぼって確認する場合も多い。また、SOC 2への準拠やそのほかの監査のために、変更承認のプロセスを必要とする企業も多い。

↑ページ先頭へ