複雑さと品質の指標を調べる
品質メトリックは多数ありますが、最も重要なメトリックをいくつか次に示します。
複雑さのメトリックは、品質を測定するのに役立ちます。 サイクロマティック複雑度は、プログラムのソース コードを介して異なるパスの数を測定します。 品質を理解するためのもう 1 つの方法は、Halstead の複雑さのメジャーを計算することです。
この指標では、次の内容を評価します。
- プログラムのボキャブラリ
- プログラムの長さ
- 計算されたプログラムの長さ
- ボリューム
- 難易度
- Effort
コード分析ツールでは、セキュリティ、パフォーマンス、互換性、言語の使用、グローバリゼーションを確認できます。 これらのツールは、すべての開発者のツールボックスとソフトウェアビルドプロセスの一部である必要があります。
静的コード分析ツールを定期的に実行し、その出力を読み取ることが、開発者として改善する優れた方法です。これは、ソフトウェア ルールによって検出された問題が、多くの場合、新しいことを教える可能性があるためです。
品質関連の一般的なメトリック
DevOps の約束の 1 つは、ソフトウェアをより速く、より高い品質で提供することです。 過去には、この2つの目標は反対に見えました。 速度が速ければ速いほど、品質は低下する。 品質が高くなるほど、時間がかかりました。 しかし、DevOps プロセスは、以前に問題を見つけるのに役立ちます。これは通常、修正にかかる時間が短くなることを意味します。
前に、いくつかの一般的なプロジェクト メトリックと KPI について説明しました。 生成されるコードの品質とビルドとデプロイのプロセスに直接関連するメトリックの一覧を次に示します。
- ビルド失敗率 - 全体として、どれくらいの割合のビルドが失敗していますか?
- デプロイ失敗率 - 全体として、どれくらいの割合のデプロイが失敗していますか?
- チケット量 - 顧客またはバグ チケットの全体的な量はどれくらいですか?
- バグ バウンス率 - どれくらいの割合の顧客またはバグ チケットが再開されていますか?
- 計画外作業率 - 作業全体のどれくらいの割合が計画外ですか?