AccuRev VS Subversion

AccuRev VS Subversion
他のバージョン管理ツールとの
比較資料を希望される場合は、
下記をクリックしてください。
「比較資料お問い合わせ」
テクマトリックス株式会社
Copyright © 2014 Techmatrix Corporation. All rights reserved.
2
1. SubversionとAccuRevの違い
 パフォーマンス
 ブランチ、プロセスの管理
 コスト
SubversionとAccuRevの代表的な違いについてご紹介します。
詳細な比較情報については、別紙「AccuRev_vs_Subversion_比較.pdf」を参照ください。
Copyright © 2014 Techmatrix Corporation. All rights reserved.
3
1. SubversionとAccuRevの違い
パフォーマンス
Subversionにおいては、運用年数が経過し、パフォーマンスが劣化した場合はrevisionをshrinkする、最新コードを別リポジト
リへインポートするかなどの対策が必要となります。
AccuRevはSubversionとは異なる管理手法を持つため、パフォーマンスが経年劣化しません。
Subversion
AccuRev
経年劣化する
高い
 導入当初は問題なく動作する。
 データの管理アルゴリズム上、差分が増える(ファイルの
変更回数が増える)と差分を処理する時間がかかり、動
作パフォーマンスが低下する。
 差分によるデータ管理ではなく、実ファイルをそのまま管理
する。
 ファイルのチェックアウト等の際に差分の処理が不要である
ため、パフォーマンスが劣化することはない。
 差分管理のツールと比較して、ディスク容量を多く消費す
る。
Copyright © 2014 Techmatrix Corporation. All rights reserved.
※経年劣化しない
4
1. SubversionとAccuRevの違い
ブランチ、プロセスの管理
Subversionは無償で利用が可能な分、管理者や開発者の時間を必要とします。AccuRevはライセンス費が必要である代わ
りに、トレーニングや環境構築支援、保守サポートがつくため、Subversionと比べて開発者の時間を負担しません。
Subversion
AccuRev
人手による管理のため運用が複雑になりやすい
ブランチの見える化により管理が容易
 ブランチの管理はSubversion単体では実現できないた
め、Excelなどを用いて運用する。
 プロセスの管理はできない。
 管理を厳格にする場合、ブランチを作成するための申請
手続きなどをルール化する必要があり、運用に手間がかか
る。
 StreamBrowserにより、現在作成されているブランチや
ブランチの関連を見える化した画面で確認する。
 ブランチだけではなく、開発プロセスを見える化できる。
 組織として成果物を登録するブランチを決め、ブランチ作
成の権限を設定する。成果物登録用のブランチよりも下
位のブランチはチームごとに好きに運用できる。
branch2
ブランチ構造はツール外で管理する
各ブランチの開発プロセスは人手で管理する
trunk
branch1
VnV
Coding
Design
開発プロセス
branch1
trunk
branch3
ブランチ名
派生元
用途
trunk
n/a
n/a
branch1
trunk
Xxxxxx
branch2
branch1
Yyyyyy
Branch3
Trunk
Zzzzzz
Copyright © 2014 Techmatrix Corporation. All rights reserved.
branch2
branch3
ブランチ構造やチームごとの開発プロセスを見える化する
5
1. SubversionとAccuRevの違い
コスト
Subversionは無償で利用が可能な分、管理者や開発者の時間を必要とします。AccuRevはライセンス費が必要である代わ
りに、トレーニングや環境構築支援、保守サポートがつくため、Subversionと比べて開発者の時間を負担しません。
Subversion
AccuRev
ライセンス費:無 人件費:高
ライセンス費:有 人件費:低
導入コスト
 ライセンス費は不要(サポート無し)
 自ら環境構築・設定を行う必要がある。
 ブランチの構造を後から変更することが困難であるため、ブ
ランチやマージの運用ルールを事前に決めておくほうが良
い。
導入コスト
 ライセンス費が必要(有償サポートあり)
 環境構築支援、トレーニングあり
 ストリーム構造をいつでも変更可能なため、導入時の運
用ルールを後から変更することが可能。
メンテナンスコスト
 保守費は不要(サポート無し)
 システム内のプラグインのアップグレードおよび互換性の維
持のための工数負荷が高い。
 ツールの外でプロセスを手動定義/メンテナンスする必要が
ある。
メンテナンスコスト
 保守更新費が必要
 構成管理+課題管理部分はAccuRevに内蔵されてお
り、互換性を気にする必要がない。
 バージョンアップを保守サービスの中でサポートしている。
 プロセスを管理できるため、運用ルールの変更に柔軟に
対応できる。
Copyright © 2014 Techmatrix Corporation. All rights reserved.
6
2. AccuRevの利点
 大幅な生産性の向上を実現
•
•
•
•
•
•
•
開発ソフトウェアの見える化
開発プロセスの見える化
変更管理
StreamBrowserによるワークフロー管理
承認フロー
ファイル単位のアクセス制御
継続的インテグレーション(CI)
Copyright © 2014 Techmatrix Corporation. All rights reserved.
7
2. AccuRevの利点
大幅な生産性の向上を実現
3か月ごとのリリースが4週間ごとに
リリース可能に
With AccuRev
年間のリリース回数が4回から26回に
Features
開発者が実装に使える1日あたりの時間が
3.8時間から6.2時間に
Resources
マージ漏れなどに起因する重大な不具合・障害が
開発規模が増えたにも関わらず、3件から0件に
features
Release
Cycles
Resource
s
Copyright © 2014 Techmatrix Corporation. All rights reserved.
Release
Cycles
8
2. AccuRevの利点
開発ソフトウェアの見える化
これまでのバージョン管理ツールでは、ブランチの管理は人手にて行う必要がありました。複数のソフトウェアを並行に開発する・
海外展開する・コスト削減のために開発スピードを向上させるなど、これからのソフトウェア開発を効率的に行うためには、見え
る化を基本としたソフトウェア開発が必要となります。
Product
Product 1
Product 1A
製品1
製品1A(派生)
製品1B(顧客X向け)
Product 1B
Prod 1B for X
Prod 1B for Y
Product 2
製品2
製品1B(派生)
製品1B(顧客Y向け)
見える化されていない製品構成のイメージ

製品1から派生した製品が製品1Aと製品1Bで、それから派生し
ているのが製品…のように開発プロジェクトは上記のような画に落
としてみない限りは把握できません。もしくは上記のような画が特
定の人依存の頭の中にあるためその人に依存して開発が進んで
しまいます。直接作業に関わらない他のメンバーからは、製品の構
成を把握することができません。
Copyright © 2014 Techmatrix Corporation. All rights reserved.
見える化された製品構成のイメージ


開発者全員が共通した開発ソフトウェアの構成を確認できる。
どの製品に対して作業を行えばよいか分かりやすい。
9
2. AccuRevの利点
開発プロセスの見える化
これまでのソフトウェア開発プロセスは、人手により進められてきました。複数のソフトウェアを並行に開発する・海外展開する・
コスト削減のために開発スピードを向上させるなど、これからのソフトウェア開発を効率的に行うためには、見える化を基本とし
たソフトウェア開発が必要となります。
④
②
⑤
③
開発ソフトウェアA
①
QA
⑦
Test
Coding
⑥
?
?
見える化されていない属人的な開発プロセスのイメージ

○○さんがコードを修正したら、△△さんが検証して、□□さんへ
連絡…のように人依存で開発が進みます。直接作業に関わらな
い他のメンバーからは、どのように開発が進んでいるのか、何をして
いるのか見えません。
Copyright © 2014 Techmatrix Corporation. All rights reserved.
見える化された開発プロセスのイメージ


人ではなくプロセスをベースとした開発を推進できる。
たとえば、以下のような活動はプロセスの見える化により、効
果を発揮します。
•
•
•
QA工程へは検証をパスしないと遷移できない
今、実装工程では誰が何を行っているかをPLが確認する
品質をあげるために検証後にはコードレビューが必要ではないかを
検討する、コードレビューを追加した際の影響を分析する
10
2. AccuRevの利点
変更管理 1/4
AccuRevに標準搭載されている課題管理ツール(AccuWork)を用いることで、Excelへ手で変更内容を記入するような運用を廃
止することが可能です。
上記は、1つの課題を確認・編集する画面です。
管理する項目やレイアウトをカスタマイズすることが可能で
す。現在お使いのExcelの項目に合わせて、設定を行い
ます。
Copyright © 2014 Techmatrix Corporation. All rights reserved.
上記は、登録されている課題一覧を表示する画面です。
特定の項目をフィルタリングして一覧を表示させ、さらに表
示されている項目をcsvやxmlで出力することが可能です。
11
2. AccuRevの利点
変更管理 2/4
AccuRevの変更管理では、以下の2つを関連付けして管理します。
 AccuWork上の課題(変更理由)
 各プロセス(ストリーム)の変更内容や
変更された時間、実施者の情報
構成管理:AccuRev
テスト
実装
設計
Bさんがソースコードを
実装工程にて変更
(ver2を作成)
Cさんが設計書を
設計工程にて変更
(ver2を作成)
課題管理:AccuWork
#10
不具合XXの修正
他の課題管理
システムとの連携
Aさんがテスト結果を
テスト工程にて変更
(ver3を作成)
ver3
図の例では、課題#10のために設計書・ソースコード・
テスト結果がどのプロセスにおいて誰に変更されている
かを表しています。
課題#10から変更されたファイルを確認することもでき
ますし、ファイルから課題#10へ逆引きでアクセスするこ
とも可能です。
Copyright © 2014 Techmatrix Corporation. All rights reserved.
ver2
テスト結果の変更履歴
ソースコードの変更履歴
ver2
設計書の変更履歴
12
2. AccuRevの利点
変更管理 3/4
AccuRevで実現する変更管理の画面や操作のイメージを記載します。
Coding
Design
Workspace
ワークスペースからストリームへファイルの変更をプロ
モートをする際に、下図のような課題の選択画面が表
示され、概要する課題を選択(もしくは課題を新規
作成)します。
アクティブアイコンをクリックするとストリームに登録され
ているファイルや課題が閲覧できます。
AccuRevではファイルをチェックイン(プロモート)する際に、AccuWork
に登録されている課題と関連付けを行います。
操作はGUI上で課題を選択するのみのため、開発者の負担が増えること
はありません。
Copyright © 2014 Techmatrix Corporation. All rights reserved.
課題の選択画面
13
3. AccuRevの利点
変更管理 4/4
変更管理を利用すると、変更されたソースコードやドキュメントファイルなどを一元管理することができます。同じ課題に関連付けること
でそれぞれの変更情報をトレースすることが可能です。さらに、レビュー対象や変更箇所の特定など、レビューに欠かせない作業を効率
化することができます。以下はAccuRevで管理されている課題情報から、変更されたファイル一覧を確認し、さらにファイルのどの箇所
が変更されたかを確認するイメージとなります。
課題の画面(課題に関連付けされているファイル一覧)
課題のために変更されたファイルの内容を確認
AccuWorkの課題の画面から、その課題のために変更されたファイル一覧と
ファイルバージョンが確認できます。さらに、右図のように課題のために変更さ
れたファイルの内容を比較参照することも可能です。
Copyright © 2014 Techmatrix Corporation. All rights reserved.
※ドキュメントファイルなどを比較する際は、対応するDiff/マージツールを
AccuRevに設定することが必要になります。
14
2. AccuRevの利点
StreamBrowserによるワークフロー管理
Product
Product 1
QA
Integration
Team 1
22
継承
Feature 1
22
Review 1
22
Coding & Test 1
21 22
workspace_nakata
21 22
workspace_suzuki
21 22
Feature 2
22
Review 2
22
Coding & Test 2
22
workspace_ito
22
Team 2
Team 3
UAT 3
25
Design 3
25
workspace_imai
25
Product 1A
課題管理システム(AccuWork)に登録されている課題一覧
Product 1B
Prod 1B for X
23
Prod 1B for Y
マージ
24
REL 1.0
Maintenance
24
Product 2
workspace_sakai
workspace_tanaka
24
番号
概要
担当者
21
○○機能の追加
鈴木
22
△△パフォーマンスの改善
伊藤
23
処理できるデータサイズの増加
伊藤
24
デバイスの初期化エラー対応
田中
25
SDKバージョンアップ
今井
StreamBrowser上にて、開発ソフトウェアやチーム、開発プロセスを可視化。標準搭載の課題管理システム(AccuWork)
を併用することで、どのソフトウェアのどの工程で何のタスクが実施されているかをすぐに知ることができるようになります。
Copyright © 2014 Techmatrix Corporation. All rights reserved.
15
2. AccuRevの利点
承認フロー
承認フローを実現するためには、プロセス(ストリーム)ごとに登録できるメンバーを定義、設定します。
承認の仕組みにより、リーダーが確認していない変更がそのままリリースされることを防止します。
Product
Product 1
リリース
マネージャー
リーダー
社員
外部委託
QA
QA
Integration
結合
Team 1
チーム1
リリース
Feature 1
Review 1
Coding & Test 1
機能1
リリース
レビュー
実装&テスト
✔
✔
✔
✔
✔
✔
✔
登録可能
登録可能
登録可能
登録可能
登録可能
登録可能
登録可能
✘
✘
✔
✔
✔
✔
✔
登録不可
登録不可
登録可能
登録可能
登録可能
登録可能
登録可能
✘
✘
✘
✘
✔
✔
✔
登録不可
登録不可
登録不可
登録不可
登録可能
登録可能
登録可能
✘
✘
✘
✘
✘
✔
✔
登録不可
登録不可
登録不可
登録不可
登録不可
登録可能
登録可能
上記の例では、外部委託のメンバーは実装&テストとレビュー工程のみ
変更を登録することが認められています。変更した内容をリリースさせるた
めには、社員以上の権限が必要となります。
Copyright © 2014 Techmatrix Corporation. All rights reserved.
ロック機能:
ストリームごとに登録できるメンバーを
制限します。
16
2. AccuRevの利点
ファイル単位のアクセス制御
承認フローに加えて、ファイル単位でのアクセス制御を行い、構成管理のセキュリティを強固に保ちます。
Product
Product 1
リリース
QA
Integration
QA
Team 1
チーム1
リリース
結合
Coding & Test1
src
src
xxxx.c
マネージャー
xxxx.h
yyyy.h
リーダー
:
社員
secure
機密コード
:
外部委託
Copyright © 2014 Techmatrix Corporation. All rights reserved.
Feature 1
Review 1
Coding & Test 1
機能1
リリース
レビュー
実装&テスト
secure
✔
✔
変更可能
変更可能
✔
✔
変更可能
変更可能
✔
✔
変更可能
変更可能
✔
✘
変更可能
閲覧不可
外部委託の開発者が担当している実装工程にお
いても、社員しかコードを閲覧・編集させないファイ
ルが存在する場合があります。
この場合はeACL(ファイル単位のアクセス制限)
をかけることで、AccuRevにログインしたアカウント
に応じて、見せるファイル群を変更します。左図の
例では、外部委託のメンバーはsecureフォルダー
が存在していることすら知ることができなくなります。
17
2. AccuRevの利点
継続的インテグレーション
継続的インテグレーションを効果的に活用するためには、構成管理ツールとの連携が必須です。
AccuRevの工程ごとに変更を分けて管理する機能を利用して、工程ごとに異なるインテグレーションを実行します。
Product
Product 1
リリース
QA
QA
Integration
結合
Team 1
チーム1
リリース
Feature 1
Review 1
Coding & Test 1
機能1
リリース
レビュー
実装&テスト
QAのインテグレーション
機能リリースのインテグレーション
レビューのインテグレーション
実装&テストのインテグレーション
実行内容例:
 静的フロー解析によるバグ検出
実行内容例:
 静的解析によるバグ検出
実行内容例:
 メトリクス計測(複雑度)
 コーディングルールチェック
実行内容例:
 ビルド
 単体テスト
補足:
他の機能と統合した後のソフトウェ
ア全体をコード解析する。QAリリー
ス時に任意のタイミングで実行する。
補足:
リリース前の任意のタイミングで解析
ツールを実行する。
補足:
レビュー実施前の任意のタイミング
で解析ツールを実行する。
補足:
変更の登録を起点としてビルドを実
行する。
参考:Jenkinsを用いた段階的な継続的インテグレーション
http://www.accurev-techmatrix.jp/movie/ci/ci-demo.html
Copyright © 2014 Techmatrix Corporation. All rights reserved.
18
3. さいごに
Copyright © 2014 Techmatrix Corporation. All rights reserved.
19
3. さいごに
バージョン管理
Subversion
AccuRevは従来のバージョン管理とは異なり、変更管理やプロセス
管理など、構成管理として必要な要件をすべて搭載しています。
課題管理
構成管理ツールは他の解析ツールなどと異なり、1度変更すると
長い期間利用します。
変更管理
他のバージョン管理ツールとの
比較資料を希望される場合は、
下記をクリックしてください。
「比較資料お問い合わせ」
ブランチ管理
プロセス管理
コンプライアンス
セキュリティ
AccuRev
Copyright © 2014 Techmatrix Corporation. All rights reserved.
20
END
Copyright © 2014 Techmatrix Corporation. All rights reserved.