システム開発において、リポジトリとして管理される情報は、仕様、デザイン、ソースコード、テスト情報、インシデント情報など多岐にわたります。
単純なソースファイルのバージョン管理から、各工程や詳細なタスクの管理、仕様やプロジェクト全体の進捗管理まで、様々な情報をリポジトリによって適切に管理することによって、より効率的に開発を進めることが出来ます。
それでは、システム開発の現場において、どのようにリポジトリを管理していくのでしょうか。
様々なリポジトリを管理する方法と、リポジトリを中心とした、リポジトリ型ローコード開発ツールを使った開発方法について説明していきましょう。
リポジトリ管理とはどのようなことか
システム開発におけるリポジトリ管理で最も一般的なものとして、プログラムのソースファイルの世代管理を行うバージョン管理ツールが挙げられます。
バージョン管理ツールで有名なものとしては、CVSやSubversion、Gitなどがあります。
バージョン管理ツールの基本的な利用方法としては、まず作成したソースファイルをリポジトリに登録します。
そして、ソースファイルを修正する場合は、リポジトリから最新のソースファイルをローカル環境に取り出し、修正を加えた後にリポジトリに保存します。
この際、複数の開発者による修正の競合などが発生した場合、バージョン管理ツールが自動的に判定し、競合を排除する働きをします。
また、対象のソースファイルにバグや誤った修正が行われていることが判明した際に、どの時点でその修正が行われたかを、さかのぼって確認することも出来ます。
これをさらに発展させた開発者向け支援ツールでは、ソースファイルなどの成果物ベースだけでなく、開発工程で発生した課題やタスクをリポジトリに登録することで、各課題やタスクの進捗や詳細な情報を管理・共有することが出来ます。
リポジトリによる開発とは
従来の労働集約的な開発方法では、業務分析、要件定義、仕様決定、設計、開発、テスト、といった各工程毎に要件定義書、仕様書、設計書などの文書化された成果物をレビューし、コミットしていく作業が必要となります。
もちろん、上記の各工程毎にバージョン管理ツールを導入し、各工程それぞれをリポジトリで管理するといった方法をとることも可能です。
しかし、リポジトリ型ローコード開発ツールを使ったリポジトリ中心の開発方式では、開発の各工程をツールによって一括管理することにより、工程毎の成果物作成を大幅に減らすことができます。(すべての成果物が不要になるわけではありません。)
また、ツールが求める業務情報(扱うデータや機能の定義、利用者に提供するインターフェースデザインなど)をリポジトリに登録することで、その後の設計、開発、テストまでの間各工程間の整合性もツールが担保してくれるため、万一途中で業務上の要求から仕様が変更になったとしても、リポジトリに登録している業務情報を変更することで、ツールによって自動的に変更がなされ、各工程への影響や手戻りを心配する必要もなくなります。