System i でもアジャイル開発

２００８年１２月１５日
日本情報通信株式会社
堂山真一
shinichi_dohyama@niandc.co.jp

Copyright © 2008 Nippon Information and Communication Corporation

System i とはIBMのオフィスコンピュータ
2006年に、AS/400 から System i と改称
1988年、System/38データベースマシンと System/36 を結合
1995年にはすでに 64bit プロセッサを搭載、OSも64bit化
2007年、POWER6 プロセッサ搭載

複数のOSが稼動(i5/OS, Linux, AIXなど)
COBOL, RPG での膨大なソフトウェア資産がある。

Copyright © 2008 Nippon Information and Communication Corporation-2-

かつてのメインフレーム
コンピュータ・エンジニアは特殊な職業、専門家、エリート・・・

Copyright © 2008 Nippon Information and Communication Corporation-3-

プログラミングは芸術？

技術者、挑戦者、起業家、冒険者、詩人

Copyright © 2008 Nippon Information and Communication Corporation-4-大量生産・大量消費時代

一人１台電話とパソコンプログラムも大量生産、大量消費
新規プログラム乱造の時代
Copyright © 2008 Nippon Information and Communication Corporation-5-

新しいハードウェア上の古いソフトウェア
POWER65GHz

64ビットデュアルコアプロセッサ

トランジスタ 7億9千万個・・・

Copyright © 2008 Nippon Information and Communication Corporation-6-

世代ギャップ
80文字×24行のターミナル・エミュレータ

使い慣れたグリーンディスプレイ、80×24 で、私は構わんよ。
部長 （かつてCOBOLプログラマ）

COBOL も Java も PHPもいろいろ使わざるを得ないよね。
主任

RDi で 80×24 から脱却しよう。

グリーンディスプレイには驚きました。
ちょっと今さらって感じです。
新人

学生時代から Eclipse で Java を書いていましたから、RDi なら RPGにもすぐ慣れました。
SOA化も簡単です。

Eclipse ベースのRDi
Copyright © 2008 Nippon Information and Communication Corporation-7-若い技術者が使う新しい技術
断絶した世界プライベート・ライフ

会社生活

email

検索システムFeed

在庫管理システムSNS

無料でお試し！

予約システム

数年がかりで実施
経営判断

友人紹介
Blog

決済システムwiki

会議システムAjax

日報システム

常時接続(PC＆携帯)

社内専用ネット

標準化(多数のツールが対応)

社内標準(専用ツール)

日常的使用(24×365)

就業時間の使用

ネットに依存した生活

個々システムに依存した業務

Copyright © 2008 Nippon Information and Communication Corporation-8-

世代とプログラミング言語

技術の多様化、プログラミング言語乱立
日本
総人口

2007年問題

技術継承は？

2,500

2,000

LL
1,500

Java
1,000

C/C++
500

保守は誰が？

少子化、理工系離れ

COBOL
010 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64
年齢

Copyright © 2008 Nippon Information and Communication Corporation-9-

プログラマは世界中にIBM ソフトウェア事業部の開発技術者は、半数以上が米国外に分散

Copyright © 2008 Nippon Information and Communication Corporation- 10 -

開発方法も対象システムに応じてガチガチのウォーターフォール主義だった IBM が柔軟な現実主義へ転換

Copyright © 2008 Nippon Information and Communication Corporation- 11 -

アジャイル開発のためのツールをアジャイルに開発早くからベータ版を公開

Eclipseと並行開発で再利用

Copyright © 2008 Nippon Information and Communication Corporation

早くからユーザコミュニティ立ち上げ- 12 -

製造業の生産革命に学ぶ

大量生産
低スキル労働者を大量に使った流れ作業方式 ＝ ウォーターフォール型
多品種少量生産
高スキルの多能工の能力を最大に活かす１人屋台方式 ＝ アジャイル型

流れ作業方式

１人屋台方式Sony HP より

Copyright © 2008 Nippon Information and Communication Corporation- 13 -

アジェンダ1.

ソフトウェア技術者の世代交代

2.

分散開発 （オフショア、在宅、外部エキスパート）

3.

メインフレームの開発も例外ではない。

4.

IBM もアジャイルに取り組んでいる。

5.

個別アジャイルから、企業での組織的・本格アジャイル

6.

アジャイルの基盤となる構成管理

7.

RTC紹介

8.

開発標準を(アジャイルに)見直し

System i, System z の開発もアジャイルに

１人屋台をやろう！ではなく試行錯誤から、結果たどり着いた方式。

Copyright © 2008 Nippon Information and Communication Corporation- 14 -

組織的・本格アジャイルのためのプラットフォーム

Copyright © 2008 Nippon Information and Communication Corporation- 15 -

リモート・デバッグ
i5/OS Application in the Remote System Explorer communication server job
i5/OS Batch Application
i5/OS Interactive Application
i5/OS Multi-threaded Application
Host Java Application

コンパイル・エラー・リストの１行をクリックすると、対応するソース箇所が表示される。

Copyright © 2008 Nippon Information and Communication Corporation- 16 -

PCで製造からデバッグまで
1.

パラメータ入力支援

2.

ブレークポイント

3.

プログラムの呼び出し履歴 (call stack)4.

ステップ実行

5.

マルチ・スレッド6.

メモリ・モニター

Copyright © 2008 Nippon Information and Communication Corporation- 17 -

PCでソース比較など
CTRLキーを押しながらカーソルで２つのファイルをポインティング

２つのCOBOLソースを比較
巨大なソースの差分を見るとき、差分の行位置が右端に表示される。
左右ソースを独立にスクロールできる。
変更行の対応が表示される。

Copyright © 2008 Nippon Information and Communication Corporation- 18 -

ソフト資産を利活用

アプリケーション・ダイアグラムと、アウトライン・ビュー
設計ドキュメントのない、巨大なCOBOLソースを解析し、視覚化する。
巨大なダイアグラムを拡大・縮小して眺め回す。
テキストモードでは、モジュール毎にサブルーチン名の一覧を表示する。

アプリケーション・ダイアグラム
Copyright © 2008 Nippon Information and Communication Corporation

アウトライン・ビュー- 19 -

より具体的には東京オフィス

ガバナンス

在宅

分散開発

契約

並行開発
遠隔支援
開発委託

Copyright © 2008 Nippon Information and Communication Corporation

大阪オフィス- 20 -

アジェンダ1.

ソフトウェア技術者の世代交代

2.

分散開発 （オフショア、在宅、外部エキスパート）

3.

メインフレームの開発も例外ではない。

4.

IBM もアジャイルに取り組んでいる。

5.

実験的・個別アジャイルから、企業での組織的・本格アジャイル

6.

アジャイルの基盤となる構成管理

7.

RTC紹介

8.

開発標準を(アジャイルに)見直し

Copyright © 2008 Nippon Information and Communication Corporation

System i, System z の開発もアジャイルに- 21 -

ソースの管理に注意
従来のエミュレータ
System i

端末１
原本

端末２

２重管理
System i

２重管理
Eclipse ベースのRDi
Copyright © 2008 Nippon Information and Communication Corporation

どれが原本？
- 22 -

PCを複数メンバで共用する場合の注意 (１)1.

RDi の作業エリアは１つ2.

PC１台にインストールできる RDi は１つ

問題：

RDi
メンバA

作業エリア
は１つメンバB

PCに異なるユーザでログオンしても、RDi の作業エリアは同一なので、他メンバのソースを修正してしまう （競合の）恐れがある。
解決法：
プロジェクトを分けて、競合を防ぐ。

作業エリアは１つだが、プロジェクト毎に作業エリアは異なるため、プロジェクトをユーザ毎に設ければ競合しない。

Copyright © 2008 Nippon Information and Communication Corporation- 23 -

PCを複数メンバで共用する場合の注意 (２)問題：
PCにログオンするユーザIDとRDi から System i へログオンするユーザIDは無関係である。
解決法：
RDi から System i へログオンするユーザIDは、RDi のプロジェクト単位に設定できる。
異なるメンバは異なるプロジェクトを使うようにすれば、（前頁の解決法）
System i のユーザIDも衝突しない。

System i

メンバA
1.

メンバAでPCにログオン

2.

メンバA用のプロジェクトを選択

3.

メンバAのユーザIDで System i にログオン

Copyright © 2008 Nippon Information and Communication CorporationRDi

メンバA

メンバB

メンバB

- 24 -

プロダクトラインとは修正
プロダクトＹ

プロダクトＸ流用

バグ・フィードバック

Flashソース

画像データ

XMLソースJavaソース
COBOLソース
バージョン
Copyright © 2008 Nippon Information and Communication Corporation

ベースライン- 25 -

コンポーネント開発

プロダクトＹ
フィードバック

流用

1.

プロダクトの中から共通コンポーネント(ソフト部品)を抽出する。

2.

コンポーネントを再利用して、多様なプロダクトを開発する。

3.

コンポーネントには多数のファイルが含まれる。

4.

プロダクトには複数のコンポーネントが含まれる。

5.

バグのフィードバックを漏らさない維持管理が必要である。

プロダクトＸ

再利用

フィードバック

コンポーネントＡコンポーネントＢ

Copyright © 2008 Nippon Information and Communication Corporation- 26 -

技術の多様化でプログラマの守備範囲が拡大
プロダクトＹ
プロダクトＸ

オールマイティの技術者が一人ですべて対処する体制

各プロダクトラインの修正と試験を漏れなく行う必要がある。

Copyright © 2008 Nippon Information and Communication Corporation- 27 -

専門技術者が協力して対処
複数の技術者のチームワークで迅速（アジャイル）に対処していく時代
画面の専門家Flashソース
デザイナー

画像データ業務の専門家

XMLソースJavaソース
レガシーの専門家

各プロダクトラインの修正・試験でCOBOLソース

漏れ発生の危険が増えている。
Copyright © 2008 Nippon Information and Communication Corporation- 28 -

技術の多様化でプログラマの守備範囲が拡大
プロダクトＹ
プロダクトＸ

オールマイティの技術者が一人ですべて対処する体制

各プロダクトラインの修正と試験を漏れなく行う必要がある。

Copyright © 2008 Nippon Information and Communication Corporation- 29 -

専門技術者が協力して対処
複数の技術者のチームワークで迅速（アジャイル）に対処していく時代
画面の専門家Flashソース
デザイナー

画像データ

業務の専門家

XMLソースJavaソース
レガシーの専門家

各プロダクトラインの修正・試験でCOBOLソース漏れ発生の危険が増えている。
Copyright © 2008 Nippon Information and Communication Corporation- 30 -

アジェンダ1.

ソフトウェア技術者の世代交代

2.

分散開発 （オフショア、在宅、外部エキスパート）

3.

メインフレームの開発も例外ではない。

4.

IBM もアジャイルに取り組んでいる。

5.

実験的・個別アジャイルから、企業での組織的・本格アジャイル

6.

アジャイルの基盤となる構成管理

7.

RTC紹介

8.

開発標準を(アジャイルに)見直し

Copyright © 2008 Nippon Information and Communication Corporation

System i, System z の開発もアジャイルに- 31 -

実験的・個別アジャイルから、企業での組織的・本格アジャイル

Copyright © 2008 Nippon Information and Communication Corporation- 32 -

実験的・個別アジャイルから、企業での組織的・本格アジャイル

Copyright © 2008 Nippon Information and Communication Corporation- 33 -

実験的・個別アジャイルから、企業での組織的・本格アジャイル

Copyright © 2008 Nippon Information and Communication Corporation- 34 -

実験的・個別アジャイルから、企業での組織的・本格アジャイル

Copyright © 2008 Nippon Information and Communication Corporation- 35 -

実験的・個別アジャイルから、企業での組織的・本格アジャイル

Copyright © 2008 Nippon Information and Communication Corporation- 36 -

実験的・個別アジャイルから、企業での組織的・本格アジャイル

Copyright © 2008 Nippon Information and Communication Corporation- 37 -

実験的・個別アジャイルから、企業での組織的・本格アジャイル

Copyright © 2008 Nippon Information and Communication Corporation- 38 -

RTCクライアント ～ Jazzサーバへの接続 ～Copyright © 2008 Nippon Information and Communication Corporation- 39 -

実験的・個別アジャイルから、企業での組織的・本格アジャイル

Copyright © 2008 Nippon Information and Communication Corporation- 40 -

実験的・個別アジャイルから、企業での組織的・本格アジャイル

Copyright © 2008 Nippon Information and Communication Corporation- 41 -

Rational のツール群
下流

開発上流

分析者
分析者
WebSphere
Business
Integration
Modeler& Monitor
Rational
SoftwareModeler

アーキテクトアーキテクト

Rational
SoftwareArchitect

開発者
開発者

テスト担当者
テスト担当者

運用管理者
運用管理者

Rational
Business
Developer

Rational
Functional
TesterTivoli
Configuration
Manager

Rational
Application
Developer

Rational
Performance
TesterTivoli
Monitoring

Rational
AppScanRational
Developerfor System i

現場

3rd パーティ
ISV ツール

Rational Team Unifying Platform
プロジェクトプロジェクト
マネージャー
マネージャー

共通部門
共通部門

Rational
RequisitePro
Rational
MethodComposer

Copyright © 2008 Nippon Information and Communication Corporation

Rational
ClearCase

Rational
ClearQuest

Rational
Requirements
Composer

Rational
BuildForge

Rational
Quality
Manager

管理- 42 -

Jazz の役割

開発者
開発者

テスト担当
テスト担当

アーキテクトアーキテクトJazz プラットフォーム
ソース管理
進捗管理
品質管理
コミュニケーション
アカウント管理
ライセンス管理

RTC
サーバ
インターネット経由でアクセスできるため、オフショアも簡単

プロジェクトプロジェクト
マネージャー
マネージャー

註： RTC for System i もベータ開始
Copyright © 2008 Nippon Information and Communication Corporation- 43 -

Eclipse と Jazz の位置関係
人と人をつなぐ人とツールをつなぐ
アプリケーション
ライフサイクル

金融
保険

要求仕様管理開発プロセス
ガバナンス

SOA

コラボレーション

レポート作成

分散開発

モデリング

Web
構成管理
並行開発

テスト
データ設計

PHP
Ada
Java
C/C++
COBOL

グラフィックスボイス
携帯エディタCopyright © 2008 Nippon Information and Communication Corporation

ビルド

組込ソフト開発- 44 -

アジェンダ1.

ソフトウェア技術者の世代交代

2.

分散開発 （オフショア、在宅、外部エキスパート）

3.

メインフレームの開発も例外ではない。

4.

IBM もアジャイルに取り組んでいる。

5.

実験的・個別アジャイルから、企業での組織的・本格アジャイル

6.

アジャイルの基盤となる構成管理

7.

RTC紹介

8.

開発標準を(アジャイルに)見直し

Copyright © 2008 Nippon Information and Communication Corporation

System i, System z の開発もアジャイルに- 45 -

RTC に組み込まれた開発標準サンプル

テンプレートを基に改善していく

Work Items もテンプレート化が可能

まず反復計画を立てよ

Copyright © 2008 Nippon Information and Communication Corporation- 46 -

開発標準の役割に応じた権限付与

ユーザ毎に権限を設定できる

Copyright © 2008 Nippon Information and Communication Corporation- 47 -

Rational Method Composer(RMC)

開発標準とは、• 誰がいつ何をどうするか、• 使うツールは、• 注意事項は、• 要する時間は、基準となるテンプレートを• 対象OS、ミドルに応じて、• 役割分担に応じて、• 使うツールに応じて、• 想定リスクに応じて、カスタマイズする。

Copyright © 2008 Nippon Information and Communication Corporation- 48 -

カスタマイズした開発標準を RTC に引き継ぐ
1.

メンバ全員がすべての開発標準を熟知するのは非効率で非現実的である。

2.

各自の役割に応じた開発標準のサブセットを用意し、必要に応じて参照する。

HTMLドキュメントも生成

Copyright © 2008 Nippon Information and Communication Corporation- 49 -

RTC 内の開発標準

開発標準は XML に変換される

Copyright © 2008 Nippon Information and Communication Corporation- 50 -

RTC を試そう
Rational Team Concert (RTC)最新版
https://jazz.net/downloads/rational-team-concert/releases/1.0.1

RTC for System i
https://jazz.net/downloads/rational-team-concert/betas/i1.0Beta1

RTC Client for Microsoft Visual Studio IDE
https://jazz.net/downloads/rational-team-concert/betas/VisualStudioClientBeta1

まずは Jazz.net にログイン
http://jazz.net

Copyright © 2008 Nippon Information and Communication Corporation- 51 -