vsug day 2012 winter architect academy
DESCRIPTION
2012年01月28日(土)に開催されたVSUGアーキテクトアカデミー Vol.03での講演資料です。 http://vsug.jp/tabid/228/EventID/20/Default.aspxTRANSCRIPT
なぜソフトウェアアーキテクトが必要なのか
ご講演者名:鈴木雄介
グロースエクスパートナーズ株式会社
VSUG DAY – Winter (2012.01.28)
アーキテクトアカデミー Vol.3
VSUG DAY - Winter 2012.01.28
自己紹介
• 鈴木雄介
–グロースエクスパートナーズ株式会社
–出身はユーザー系システム子会社
–http://twitter.com/yusuke_arclamp
– http://arclamp.hatenablog.com/
VSUG DAY - Winter 2012.01.28
アジェンダ
• ソフトウェア、アーキテクチャ、プロジェクトマネジメント
• プロジェクトマネジメントとアーキテクチャ
• アーキテクチャ設計
• 選択と覚悟
VSUG DAY - Winter 2012.01.28
ソフトウェア、アーキテクチャ、プロジェクトマネジメント
http://www.flickr.com/photos/left-hand/3510633193/
VSUG DAY - Winter 2012.01.28
ソフトウェアとは
利用時の 品質
利用時の 品質 プロセス 内部 外部 利用時
JISX0129-1 ソフトウェア製品の品質 第1部 品質モデル
振る舞い 構造 行動
影響を与える
依存する
VSUG DAY - Winter 2012.01.28
ソフトウェアとは
特徴 例
利用時の品質 ・利用状況によって評価が異なる
・ユーザーAさんとユーザーBさんで評価が異なる
外部品質 ・システムの振る舞い ・誰がテストしても同じ結果 ・一般的な仕様策定の対象
・テストケース ・外部仕様
内部品質 ・システムを構成している要素すべて(含ドキュメント) ・後に残り、評価が可能 ・エンジニアがこだわるところ
・クラス図 ・フレームワーク ・ドキュメント
プロセス品質 ・後に残らない ・コミュニケーション ・
VSUG DAY - Winter 2012.01.28
アーキテクチャとは
• 基本は分割と統合
–全体をどのように分けて、分けた部分をどのように関係づけるか
利用時の 品質
利用時の 品質 プロセス 構造
振る 舞い
利用
これ?
NO。それはストラクチャー
VSUG DAY - Winter 2012.01.28
アーキテクチャとは
IEEE-Std-1471-2000 Recommended Practice for Architectural Description of
Software-Intensive Systems(アーキテクチャ記述の推奨プラクティス)
VSUG DAY - Winter 2012.01.28
アーキテクチャとは
利害関係者の 関心事 ビューポイント
ビュー
ミッション
システム 制約(環境)
モデルによって記述
VSUG DAY - Winter 2012.01.28
アーキテクチャとは
• アーキテクチャとは
–システムのミッションに従い、システムのおかれた制約を前提としながら
–システムに関わる複数の利害関係者の関心事を整合させ、
•経営者、オーナー、ユーザー、プログラマ、 DBA、インフラ屋、PM、上司
–ライフサイクル(設計から保守)まで意識した
–システムの分け方と組合せ方のこと
VSUG DAY - Winter 2012.01.28
アーキテクチャ設計
• 「使うこと」と「作ること」のバランスを取る作業
–使う:ミッション、制約、ユーザー、運用
–作る:制約、PM、エンジニア
• それは…
–常に事前的に行われ、事後的な対応が難しい
–先にすべてを知ることはできないため、外的不確定要素(リスク)に対処する必要がある
11
VSUG DAY - Winter 2012.01.28
アーキテクチャとは
利用時の 品質
利用時の 品質
プロ セス
構造 振る 舞い
ユーザー
事前的な“つなぎ方”がアーキテクチャ
VSUG DAY - Winter 2012.01.28
プロジェクトマネジメントとは
• PMBOK
–統合管理
–スコープ管理
–時間管理(スケジュール管理)
–コスト管理
–品質管理
–人的資源管理
–コミュニケーション管理
–リスク管理
–調達管理
VSUG DAY - Winter 2012.01.28
• PMBOK
プロジェクトマネジメントとは
スコープ 定義
スケジュール 作成
コスト 積算
PJ計画 策定
PJ計画 実施
進捗報告 変更管理
計画プロセス
遂行プロセス コントロールプロセス
終結
立ち上げ
リスク管理 計画
品質 計画
コミュニケーション 計画
調達 計画
VSUG DAY - Winter 2012.01.28
プロジェクトマネジメントとは
• PMBOKは「予定と実績の差を把握する」ために使う
–スケジュール管理、課題管理、コスト管理、リソース管理
• そこから「問題を予測」し「調整」を行うことで、プロジェクトを正しい状態に導くことが必要
–ここがプロジェクトマネジメントの本質
VSUG DAY - Winter 2012.01.28 http://www.flickr.com/photos/drift-words/10434156/
プロジェクトマネジメントと アーキテクチャ
16
VSUG DAY - Winter 2012.01.28
PMとアーキテクチャ
• ソフトウェア品質モデルとのマッピング
–プロジェクトマネジメントはアーキテクチャを内包する(当たり前ですが)
遂行とコントロール
計画
利用時の 品質
利用時の 品質 プロセス 構造
振る 舞い
利用
アーキテクチャ設計
VSUG DAY - Winter 2012.01.28
PMとアーキテクチャ
• PMBOK
–統合管理
–スコープ管理
–時間管理(スケジュール管理)
–コスト管理
–品質管理
–人的資源管理
–コミュニケーション管理
–リスク管理
–調達管理
VSUG DAY - Winter 2012.01.28
PMとアーキテクチャ
• 計画立案(時間視点)
–スケジュールの作成
•「全体」を「部分」に分割
•「部分」を成果物とするタスクを定義する
•タスクの順番を整合させる
•タスクの工数を見積もる
10 5
20
スコープ管理(WBS) 時間管理(スケジュール)
アーキテクチャ設計
VSUG DAY - Winter 2012.01.28
PMとアーキテクチャ
• 「アーキテクチャ」の善し悪しが「プロジェクトマネジメントの計画」の善し悪しに影響する
• 安定したアーキテクチャが、安定したプロジェクトマネジメントを生む
VSUG DAY - Winter 2012.01.28
PMとアーキテクチャ
• ソフトウェア開発では、
–同じアーキテクチャを使い回すほうが正しく見積もれる
–しかし、現在のソフトウェア開発では新しいアーキテクチャによる効率化が、繰り返しの効率化を上回ることがある
• アーキテクチャを変えることが多い
–変えない場合はアーキテクチャが安定するのでマネジメント主導(ウォーターフォール型での効率化)でよい。パッケージ導入など
VSUG DAY - Winter 2012.01.28
PMとアーキテクチャ
• ソフトウェアアーキテクトは、アーキテクチャを通じてプロジェクトマネジメントの土台を提供する
–計画段階では明らかに協業が必要
–そして、遂行とコントロールの領域にも影響を与えている
VSUG DAY - Winter 2012.01.28
PMとアーキテクチャ
VSUG DAY - Winter 2012.01.28
アーキテクチャ設計
24
http://www.flickr.com/photos/wscullin/3770015203/
VSUG DAY - Winter 2012.01.28
アーキテクチャ設計
• アーキテクチャはどこから来るのか?
–そのものの内側から出る適正な力の美を「張り」といい、そのものに外側から加わる圧力のことを「選択圧」という。
•深澤直人『デザインの輪郭』
VSUG DAY - Winter 2012.01.28
アーキテクチャ設計
• アーキテクチャ設計とは、選択圧と張りのバランスを取ること
張り 作るコト
戦術/設計/実装 ミッション
選択圧 使うコト
ビジョン/要求/要件 制約
VSUG DAY - Winter 2012.01.28
アーキテクチャ設計
• 「張り」を作る技術を知っているだけではダメ
• 「選択圧」を見つける力が必要
• そして「張り」と「選択圧」のバランスを取ること
VSUG DAY - Winter 2012.01.28
アーキテクチャ設計
• 「使うこと」と「作ること」をつなぐ
• インプットをアウトプットに変換するだけではバランスが取れない
使うこと 作ること
VSUG DAY - Winter 2012.01.28
アーキテクチャ設計
• 想像力と創造力
–想像力:ビジョンを考える力
•ビジョン=未来のあるべき姿
–創造力:ビジョンを実現手段を考える力
動的な世界 [ビジョン]
使うこと 作ること
張りを生み出す 選択圧を見つけ出す
VSUG DAY - Winter 2012.01.28
選択と覚悟
30
http://www.flickr.com/photos/behzad_noorifard/5452729134/
VSUG DAY - Winter 2012.01.28
選択と覚悟
• 運命:全てを知る前に選択をしなくてはならず、後から変更もできない
–後悔、先に立たず
• 選択を「そうでしかない決定」にする
–「使うこと」を明確にしていった結果、そうでしかない「作ること」が現れる
–「そうでしかない決定」に至るまで我慢する
–そうすれば、たとえ失敗しても学びがある
31
VSUG DAY - Winter 2012.01.28
• アーキテクトは中途半端な存在
–すべてのステークホルダーから独立してこそバランスがとれる
•技術とビジネスの間
•過去の未来の間
–誰かのせいにできないからこそ、徹底して「そうでしかない決定」を探す必要がある
選択と覚悟
VSUG DAY - Winter 2012.01.28
まとめ
33
http://www.flickr.com/photos/tanaka_juuyoh/4295156760/
VSUG DAY - Winter 2012.01.28
まとめ
• プロジェクトマネジメント
–問題を予測する
• アーキテクチャ設計
–使うコトと作るコトを繋げる
• プロジェクトマネジメントとアーキテクチャ
–プロジェクトマネジメントはアーキテクチャの上に成り立つ
34
VSUG DAY - Winter 2012.01.28
• アーキテクチャ設計
–「張り」と「選択圧」
• 想像力と創造力
–ビジョンと、そこに至る道
• 選択と覚悟
–「そうでしかない決定」を見つける覚悟