SlideShare una empresa de Scribd logo
1 de 68
Descargar para leer sin conexión
Copyright© Growth xPartners, Inc. All rights reserved.
アーキテクチャとアジャイル
プロジェクトをまともに進めるための両輪について
グロースエクスパートナーズ(株)
鈴木雄介
2014年12月20日
Copyright© Growth xPartners, Inc. All rights reserved.
自己紹介
• 鈴木雄介
–グロースエクスパートナーズ(株)
» 執行役員
» SI事業の統括マネージャー/ITアーキテクト
–日本Javaユーザーグループ
» 会長
–ブログ:http://arclamp.hatenablog.com/
–Twitter:@yusuke_arclamp
1
Copyright© Growth xPartners, Inc. All rights reserved.
自己紹介
• グロースエクスパートナーズ(株)
–受託開発を中心としたソフトウェア開発企業
» http://www.gxp.co.jp/
–顧客(全てプライム)
» 医療器械メーカー
» 百貨店
» 企業信用情報提供
» 通信
» オフィス機器&医療機器メーカー
» 雑誌&オンラインメディア
2
Copyright© Growth xPartners, Inc. All rights reserved. 3
アーキテクチャとマネジメント
https://www.flickr.com/photos/splorp/6264402594
Copyright© Growth xPartners, Inc. All rights reserved. 4
シャボン玉を
デザインする
Copyright© Growth xPartners, Inc. All rights reserved.
• シャボン玉をデザインするときに、どんなに完
璧な丸を紙の上に描いても、いいシャボン玉は
できないわけで、そのシャボン玉をつくる装置
、そこにシャボン液がたくさん溜まるシステム
をつくらなければいけない。
• -阿部雅世
5
http://www.axisjiku.com/jp/2009/12/16/axisフォーラム-阿部雅世さん講演-レポート-その1(全3/
http://opengl.jp/blogger/2009/07/masayo-ave-at-axis.html
Copyright© Growth xPartners, Inc. All rights reserved. 6
Copyright© Growth xPartners, Inc. All rights reserved.
今、何が起きているのか
7
Copyright© Growth xPartners, Inc. All rights reserved.
今、何が起きているのか
• 企業におけるITの役割
8
事務処理を自動化する
管理統制を拡張する
事業に価値を加える
昔
この
10年
最近
Copyright© Growth xPartners, Inc. All rights reserved.
今、何が起きているのか
• たとえばトヨタフレンド
9
toyota.jp プリウスPHV | 楽しくお使いいただくための会員サービス | トヨタフレンド
http://toyota.jp/priusphv/001_p_004/drivesupport/toyotafriend/
Copyright© Growth xPartners, Inc. All rights reserved.
今、何が起きているのか
• 「事業に価値を加える」ためのIT
–商品の継続的な利用を促す
–商品の位置づけを段階的に変えていく
» あるいは、時代の流れで変わってしまったことに対応する
–既存商品をベースにした新たな収益の獲得
• 基本的には試行錯誤をしていかないといけない
–何が正解かは、誰も分からない
10
Copyright© Growth xPartners, Inc. All rights reserved.
今、何が起きているのか
• 企業がIT屋に求めること
–良いアプリケーションが作れても、ITサービスとし
て運営がうまくできなければ意味が無い
11
アプリケーションを
いかに早く、安く、正確に作るか
ITサービスを
いかにうまく運営するか
Copyright© Growth xPartners, Inc. All rights reserved.
今、何が起きているのか
• アプリケーションを作る
–仕様(静的)を定義する
–開発者が作る
–プロジェクトが終われば終わり
• ITサービスを運営する
–利用(動的)からフィードバックを受ける
–様々な人が関わりながら動かす
–継続的で終わりのない活動
12
Copyright© Growth xPartners, Inc. All rights reserved.
ITサービスの運営
13
Copyright© Growth xPartners, Inc. All rights reserved.
ITサービスの運営
• ITサービスを運営する
–「ITを通じた企業と利用者の関係」のこと
–実際の運営は従業員によって行われる
14
利用者従業員
企業
※サービストライアングルからのインスパイア
IT
Copyright© Growth xPartners, Inc. All rights reserved.
ITサービスの運営
• ITサービス運営モデル v0.2
15
利用者の
体験価値
サービスの
振る舞い
静的な
構造
開発
プロセス
動的な
構成
企画
プロセス
運用
プロセス
業務
プロセス
Copyright© Growth xPartners, Inc. All rights reserved.
ITサービスの運営
• ITサービス運営モデル v0.2
16
特徴 例
利用者の
体験価値
• 利用者が体験して感じるもの
• 利用者によって評価が異なる
• AさんとBさんで評価
が異なる
サービスの
振る舞い
• 外部から見てわかる振る舞い
• 誰がテストしても同じ結果
• 仕様(機能と非機能)
• 仕様とテストケース
• 品質特性
• API
動的な構成 • システム実行時の要素と相互作
用
• 流れ、実行、プロセス
• インスタンス
• 処理
• 実行環境/インフラ
静的な構造 • 成果物が配置された静的な構造
• 後に残り、参照可能
• ソースコード
• クラス、テーブル定義
• ドキュメント
Copyright© Growth xPartners, Inc. All rights reserved.
ITサービスの運営
• ITサービス運営モデル v0.2
17
特徴 例
企画
プロセス
• ITサービスの振る舞いを管理する
• 追加や変更を要求する
• 売上
• 要求と受入
開発
プロセス
• 静的な構造を作る
• 追加し、変更する
• 素早さが求められる
• リリース計画
• 開発ツール
運用
プロセス
• 動的な構成を管理する
• 追加や変更を受け入れる
• 安定が求められる
• デプロイ
• 監視
業務
プロセス
• ITサービスを利用者に届ける
• 利用者に追加や変更を伝える
• 安定が求められる
• 現場
• 窓口
Copyright© Growth xPartners, Inc. All rights reserved.
ITサービスの運営
• ITサービス運営への理解 1/4
18
利用者の
体験価値
サービスの
振る舞い
静的な
構造
開発
プロセス
動的な
構成
企画
プロセス
運用
プロセス
業務
プロセス
1.異なる関心事を持つ利害関係者がいる
Copyright© Growth xPartners, Inc. All rights reserved.
ITサービスの運営
• ITサービス運営への理解 2/4
19
利用者の
体験価値
サービスの
振る舞い
静的な
構造
開発
プロセス
動的な
構成
企画
プロセス
運用
プロセス
業務
プロセス
2.価値は利用者の体験によって定義される
Copyright© Growth xPartners, Inc. All rights reserved.
ITサービスの運営
• ITサービス運営への理解 3/4
20
利用者の
体験価値
サービスの
振る舞い
静的な
構造
開発
プロセス
動的な
構成
企画
プロセス
運用
プロセス
業務
プロセス
3.複雑な構成要素によって成り立つ
Copyright© Growth xPartners, Inc. All rights reserved.
ITサービスの運営
• ITサービス運営への理解 4/4
21
利用者の
体験価値
サービスの
振る舞い
静的な
構造
開発
プロセス
動的な
構成
企画
プロセス
運用
プロセス
業務
プロセス
4.フィードバックによって持続的に成長する
Copyright© Growth xPartners, Inc. All rights reserved.
ITサービスの運営
• ITサービス運営で考えるべきこと
–1.異なる関心事を持つ利害関係者がいる
–2.価値は利用者の体験によって定義される
–3.複雑な構成要素によって成り立つ
–4.フィードバックによって持続的に成長する
• ITサービスをうまく運営するには、これら全体
をデザインする必要がある
22
Copyright© Growth xPartners, Inc. All rights reserved.
アーキテクチャ
23
Copyright© Growth xPartners, Inc. All rights reserved.
アーキテクチャ
• アーキテクチャとは
24
IEEE-Std-1471-2000 Recommended Practice for Architectural Description
of Software-Intensive Systems(アーキテクチャ記述の推奨プラクティス)
Copyright© Growth xPartners, Inc. All rights reserved.
アーキテクチャ
25
利害関係者の
関心事 ビューポイント
ビュー
ミッション
システム
制約(環境)
モデルによって記述
Copyright© Growth xPartners, Inc. All rights reserved.
アーキテクチャ
• アーキテクチャとは
–システムのミッションに従い、システムのおかれた
制約を前提としながら
–システムに関わる複数の利害関係者の関心事を整合
させ、
» 経営者、オーナー、ユーザー、プログラマ、 DBA、インフ
ラ屋、PM、上司、保守メンバー
–ライフサイクル(設計から保守)まで意識した
–システムの分け方と組合せ方のこと
26
Copyright© Growth xPartners, Inc. All rights reserved.
マネジメント
27
Copyright© Growth xPartners, Inc. All rights reserved.
マネジメント
• プロジェクトマネジメントとは
–計画し、実行し、計測し、調整する
28
計画
実行
計測
調整
Copyright© Growth xPartners, Inc. All rights reserved.
マネジメント
• PMBOK
29
立ち上げ 計画 遂行 コントロール 終結
統合 計画策定 計画実行 統合変更管理
スコープ
(目的と範囲)
立ち上げ スコープ計画/定義 スコープ検証/変更管理
時間(期間) アクティビティ定義/順序設
定/期間見積
スケジュール作成
スケジュールコントロール
コスト(予算) 資源管理
コストの見積/予算化
コストコントロール
品質 品質計画 品質保証 品質管理
人的資源 組織計画
要員調達
チーム育成
コミュニケー
ション
コミュニケーション計画 情報配布 実行報告 完了手続き
リスク リスク・マネジメント計画
リスク識別
定性的/定量的リスク分析
リスクの監視・コントロー
ル
調達 調達/引合計画 引合
発注先選定
契約管理
契約完了
計画 実行
計測
と
調整
Copyright© Growth xPartners, Inc. All rights reserved.
マネジメント
• ウォーターフォールとアジャイル
–「考え方の違い」であって、優劣ではない
–ウォーターフォール
» 計画/計測の確実性が高いことを前提に、全体を見通すこと
で、実行の効率化を目指していく
» 例:既存システム連携、法令準拠、システム相手のこと
–アジャイル
» 計画/計測の不確実性が高いことを前提に、小さく実行する
ことで、調整の効率化を目指していく
» 例:UI、インシデント発生への対応、人間相手のこと
30
Copyright© Growth xPartners, Inc. All rights reserved.
マネジメント
• ウォーターフォールとアジャイル
–ウォーターフォールにありがちな失敗
» 計画の失敗:計画の精度が悪かった
» 計測の失敗:進捗を測り間違えた
» 調整の失敗:方向修正する話し合いができなかった
–だから、アジャイル手法は
» 計画:精度が出るぐらい小さな計画にすればいい
» 計測:動くソフトウェアで計測すればいい
» 調整:定期的にみんなで見直すことにすればいい
31
Copyright© Growth xPartners, Inc. All rights reserved.
マネジメント
• ウォーターフォールが悪ではない
–技術的方式に問題があるならPoCやプロトタイピン
グで不確実性を先に取り除く
–むしろ、積極的な使い分けが重要
» システム連携部分は計画重視、UIは調整重視
32
Copyright© Growth xPartners, Inc. All rights reserved.
マネジメント
• アジャイルのダークサイド
33
よく使う言葉 ダークサイド思考
顧客が欲しいものを作る ダメなのは顧客の責任
あとで変更できる 最初に決めるのが面倒
動くコードがすべて 説明しても分からない
イテレーションごと計画 全体にはコミットしない
自動デプロイしています お前がテストしろ
優れたメンバーを確保 委任契約でリスクは発注元
Copyright© Growth xPartners, Inc. All rights reserved.
アーキテクチャとマネジメント
34
Copyright© Growth xPartners, Inc. All rights reserved.
アーキテクチャとマネジメント
• アーキテクチャとマネジメント
35
アーキテクチャ マネジメント
目的 プロジェクトの目的
を技術的に表現する
プロジェクトの目標
を達成する
手法 予測し、方向性を設
定する
計画し、計測し、調
整する
成果 対象物の分け方と組
み合わせ方
プロジェクトの成果
物そのもの
行動 事前的に決定 事後的に対応
Copyright© Growth xPartners, Inc. All rights reserved.
アーキテクチャとマネジメント
• ITサービス運営では切り離せない
36
利用者の
体験価値
サービスの
振る舞い
静的な
構造
開発
プロセス
動的な
構成
企画
プロセス
運用
プロセス
業務
プロセス
Copyright© Growth xPartners, Inc. All rights reserved.
アーキテクチャとマネジメント
• アジャイルでも「グランドデザイン」は重要
–アーキテクチャ設計は、きちんとやる
–考える暇がないなら定石に当てはめてもいい
» 例:とりあえず流行のフレームワークを採用する
» そのフレームワークが解決しているドメインの相似性につ
いて考慮する
» 当てはまっていなかった時は大きな問題になる
37
Copyright© Growth xPartners, Inc. All rights reserved.
アーキテクチャとマネジメント
38
内圧
作るコト
戦術/設計/実装
外圧
使うコト
ビジョン/要求/要件
Copyright© Growth xPartners, Inc. All rights reserved.
内圧
作るコト
戦術/設計/実装
アーキテクチャとマネジメント
39
外圧
使うコト
ビジョン/要求/要件
つなぐコト
アーキテクチャ
続けるコト
マネジメント
Copyright© Growth xPartners, Inc. All rights reserved.
アーキテクトの仕事
40
Copyright© Growth xPartners, Inc. All rights reserved.
アーキテクトの仕事
• アーキテクトの仕事は「アーキテクチャをデザ
インすること」
• そのために
–利害関係者を参加させ、関心事を理解する
–関心事を整理し、整合させるように調整する
–その関心事に沿ってITサービス運営要素を定義する
» 非常に幅広い要素について検討が必要となる
41
Copyright© Growth xPartners, Inc. All rights reserved.
アーキテクトの仕事
• たとえば
42
利用者の
体験価値
サービスの
振る舞い
静的な
構造
開発
プロセス
動的な
構成
企画
プロセス
運用
プロセス
業務
プロセス
こういうクラス
分割が必要だ
こういうトランザクショ
ン増加が想定される
この動きに、これ
だけの並行処理が
求められる
こういう導線を通
るはずだ
このKPIに従って
評価すべきだ
こういう要員と手
法で作るべきだ
ここの数値を監視
すべきだ
この時期は、これ
だけの作業がある
Copyright© Growth xPartners, Inc. All rights reserved.
アーキテクトの仕事
• 基礎知識
–ITトレンドの知識
–対象ドメインのビジネス知識
–対象企業のIT知識
• プロセスとのかかわり
–開発工程とアーキテクチャ設計の関係を定義する
• 個人のスキル
–個人レベルでの能力発揮
43
Copyright© Growth xPartners, Inc. All rights reserved.
アーキテクトの仕事
• 基礎知識(技術トレンド)
44
Networking
Virtualization
Storage
Servers
OS
Middleware
Code
Configuration
Runtime
Data
SaaS
PaaS
IaaS
ロードバランサー
ストレージアーカイブ
CDN
データ転送
RDB・NoSQL
データウェアハウス
メモリキャッシュ
データストリーム
分散処理
オーケストレーション
サーチ
ストリーミング
メール配信
メッセージキュー
プッシュ通知
ワークフロー
課金
メディア変換
コンテナ
デプロイ
ユーザー活動分析
モニタリング
認証認可
Copyright© Growth xPartners, Inc. All rights reserved.
アーキテクトの仕事
• 基礎知識(ドメインのビジネス知識)
–「変化の濃淡と方向」を学ぶ
» 年間スケジュール(量、数、質)=変化の幅
» ルールとパラメタ=変化の境界線
» 業界動向=変化の方向性
–もちろん自分で勉強することも大事だけど、顧客に
聞くのが一番
» 顧客がドメインスペシャリスト
» 顧客と話すための最低限の知識は礼儀として学んでおく
45
Copyright© Growth xPartners, Inc. All rights reserved.
アーキテクトの仕事
• 基礎知識(対象企業のIT知識)
–エンタープライズ・アーキテクチャ上の最適化
–分かりやすくは「他システムとの関係性」
46
戦略性
固有性
汎用性
共通性
複雑
単純
Copyright© Growth xPartners, Inc. All rights reserved.
アーキテクトの仕事
• プロセスとの関わり
–どのタイミングで誰と話して、何を決めるのか
47
要件定義
外部設計
内部設計
実装 ユニットテスト
内部結合テスト
外部結合テスト
システムテスト(受入)
企画 運用テストあるいは運営
企業やドメインへの理解
アーキテクチャ方針の策定
アーキテクチャ方式の策定
アーキテクチャ変更のトレース
アーキテクチャ方式課題の解決
アーキテクチャ方針課題の解決
アーキテクチャの評価
アーキテクチャの管理
Copyright© Growth xPartners, Inc. All rights reserved.
アーキテクトの仕事
• 個人スキル
–コミュニケーションスキル!
» 理解する
» 整理する
» 表現する
» 調整する
48
Copyright© Growth xPartners, Inc. All rights reserved.
アーキテクトの仕事
• とはいえ、全部は不可能
–基礎知識はチームが重要
–プロセスはPMとの連携が重要
–個人スキルは精進してください
–なんにせよ、経験から学ぶことは多い
• 組織との関わり方が重要
–その企業における「アーキテクト」を定義し、共有
していくことが必要
49
Copyright© Growth xPartners, Inc. All rights reserved.
設計の進め方
50
Copyright© Growth xPartners, Inc. All rights reserved.
設計の進め方
• Microservices
–ファウラー先生が提唱
» http://martinfowler.com/articles/microservices.html
» 海外では、かなりブームになっている雰囲気
–ITサービス運営のアーキテクチャの考え方を良く表
している
» 個々に独立したサービスによって全体のサービスが構成さ
れている
▸ データ、ガバナンス、手法なども完全に独立
» 個々のサービスは個々のチームによって開発・運用される
▸ 開発と運用は一体化され、個々に責任を持つ
51
Copyright© Growth xPartners, Inc. All rights reserved.
設計の進め方
• Microservicesの9つの特徴
– Componentization via Services/サービスによるコンポーネ
ント化
– Organized around Business Capabilities/ビジネスケイパビ
リティに基づく組織化
– Products not Projects/プロジェクトではなくプロダクト
– Smart endpoints and dumb pipes/スマートなエンドポイ
ントと単純なパイプ処理
– Decentralized Governance/分散ガバナンス
– Decentralized Data Management/分散データマネジメント
– Infrastructure Automation/インフラの自動化
– Design for failure/フェイルを前提とした設計
– Evolutionary Design/進化的な設計
52
Copyright© Growth xPartners, Inc. All rights reserved.
設計の進め方
• Microservicesは既に起きていること
–たとえばECサイト
» 管理画面から商品を登録する
» 商品を検索する
» 商品をカートにいれて購入する
» 受注を処理して請求や物流手配を行う
» 記事コンテンツを更新する
–これらは、全て異なるドメインとして定義できる
53
Copyright© Growth xPartners, Inc. All rights reserved.
設計の進め方
• ドメインの発見には、変化の境界を見極める
–外的変化要因になるもの
» ユーザーの役割が異なる
» ユーザーによって利用されるサイクルが違う
–その他の変化要因
» セキュリティ
–必ず境界にするわけではない。パターンにくくって
いくことが大事
54
Copyright© Growth xPartners, Inc. All rights reserved.
設計の進め方
• それぞれのケースにおける分析
55
ビジネスケース 利用者 サイクル
管理画面から商品を登
録する
商品担当者 毎日
商品を検索する 消費者 かなり頻繁に
商品をカートにいれて
購入する
消費者 それなりの回数
受注を処理して請求や
物流手配を行う
受注担当者
配送担当者
受注のたびに
記事コンテンツを更新
する
コンテンツ担当者 毎週
Copyright© Growth xPartners, Inc. All rights reserved.
設計の進め方
• 非機能についても考えることが必要
– 機能適合性
» 実装された機能がニーズを満たす度合
– 性能効率性
» システムの実行時の性能や資源効率の度合
– 互換性
» 他製品やシステムと機能や情報を共有、変換できる度合
– 使用性
» 効果的、効率的に利用できる度合
– 信頼性
» 必要時に実行することができる度合
– セキュリティ
» 不正にアクセスがされることなく、情報やデータが保護される度合
– 保守性
» 効果的、効率的に保守や修正ができる度合
– 移植性
» 効果的、効率的に他のハードウェアや実行環境に移植できる度合
56
Copyright© Growth xPartners, Inc. All rights reserved.
設計の進め方
• 品質特性 1/2
57
品質特性 特性の概要 副品質特性 概要
機能適合性
実装された機能が
ニーズを満たす度合
完全性 ニーズを機能がユーザの目的やタスクを包含している度合
正確性 必要な精度で正確な結果を与える度合
適切性 機能が定められたタスクや目的を円滑に遂行する度合
性能効率性
システムの実行時の
性能や資源効率の度
合
時間効率性 実行時のシステムの応答時間、処理時間などの処理能力の度合
資源利用性 実行時に使用する資源量や種類
キャパシティ 要求を満たすための製品やシステムのパラメータの最大許容値
互換性
他製品やシステムと
機能や情報を共有、
変換できる度合
共存性
他製品へ負の影響を与えず、共通の環境や資源を共有して効果
的に実行する度合
相互運用性
2つ以上の製品やコンポーネント間で情報を交換、利用できる
度合
使用性
効果的、効率的に利
用できる度合
適切度認識性 ニーズに適した利用かどうか認識できる度合
習得性 システムの使い方の学習ができる度合
運用性 運用や管理のしやすさの度合
ユーザエラー防止性 誤操作しないように保護する度合
ユーザインタフェー
スの快美性
ユーザインタフェースが親しみがあり満足感のある応答ができ
る度合
アクセシビリティ 幅広い層の特徴や能力を持つ人々が利用できる度合
信頼性
必要時に実行するこ
とができる度合
成熟性 通常時に信頼性のニーズを満たす度合
可用性 必要時に運用、接続できる度合
障害許容性 障害時に運用できる度合
回復性 障害時にデータやシステムが回復したり再構築できる度合
情報システム/ソフトウェアの品質メトリクスセット http://www.meti.go.jp/policy/mono_info_service/joho/cloud/2011/11_03.pdf
Copyright© Growth xPartners, Inc. All rights reserved.
設計の進め方
• 品質特性 2/2
58
品質特性 特性の概要 副品質特性 概要
セキュリ
ティ
不正にアクセスがさ
れることなく、情報
やデータが保護され
る度合
機密保持性 許可された者のみがアクセスできるようデータを保証する度合
インテグリティ
プログラムやデータへの変更において未許可なアクセスを防止
する度合
否認防止性 イベントやアクションの発生を証明する度合
責任追跡性 エンティティの実行が唯一であることを証明する度合
真正性
リソースや物事の身元が要求されたものであることを証明でき
る度合
保守性
効果的、効率的に保
守や修正ができる度
合
モジュール性
変更による他コンポーネントへの影響が最少で済むよう、独立
したコンポーネントで構成される度合い
再利用性 他のシステムや資産を構築する際に利用できる度合
解析性
変更部分や障害原因の特定のために診断したり、変更による影
響を評価する際の効果性、効率性の度合
変更性 欠陥や品質の低下なく変更が効果的、効率的にできる度合
試験性
テスト基準を確立し、評価するために実行する際の効果性、効
率性の度合
移植性
効果的、効率的に他
のハードウェアや実
行環境に移植できる
度合
順応性
別のもしくは進化したハードウェアやソフトウェアや他の運用
環境に効果的、効率的に順応できる度合
設置性
正しくインストール、もしくはアンインストールする際の効果
性、効率性の度合
置換性
同一の目的、環境下で他のソフトウェア製品に置換(リプレー
ス)できる度合
情報システム/ソフトウェアの品質メトリクスセット http://www.meti.go.jp/policy/mono_info_service/joho/cloud/2011/11_03.pdf
Copyright© Growth xPartners, Inc. All rights reserved.
• ドメインと技術要素のマッピング
設計の進め方
59
商品 商品登録
商品検索
購買
カート
受注 受注管理
記事 記事登録
商品担当者
受注担当者
コンテンツ
担当者
消費者
記事表示
CMS
検索エンジン
管理システム
フロントシステム
配送担当者
Copyright© Growth xPartners, Inc. All rights reserved.
設計の進め方
• ドメインと技術要素のマッピング
• もちろん、これだけが正解なわけではない
–個別のITサービスごとに適した構成がある
–たとえばクラウドサービスを活用すると、もっとコ
ストが減るかもしれない
60
構成要素 特性 技術例
記事管理 記事登録のワークフロー管理、決
められた時間での公開
CMS
商品検索 ハイパフォーマンス Lucene
購買管理 複雑なロジックと使いやすさ MVC+SQL
バックエンド パターン化された画面 JSF+JPA
Copyright© Growth xPartners, Inc. All rights reserved.
設計の進め方
• さらに個別のドメイン毎にサービスを構成する
要素に求められることが異なる
61
利用者の
体験価値
サービスの
振る舞い
静的な
構造
開発
プロセス
動的な
構成
企画
プロセス
運用
プロセス
業務
プロセス
Copyright© Growth xPartners, Inc. All rights reserved.
設計の進め方
• 記事管理(CMS)
62
利用者の
体験価値
サービスの
振る舞い
静的な
構造
開発
プロセス
動的な
構成
企画
プロセス
運用
プロセス
業務
プロセス
CMSを採用
CMSカスタマイ
ズ設計書と専門
エンジニア
CMSカスタマイ
ズ設計書と専門
エンジニア
テンプレート更新はデザイ
ナ、商品担当と連携して取
材し、コンテンツを制作
SEOを向上させ
るためのタグを
追加したい
ホワイトペーパー
に従った構成
制作ワークフ
ロー制御とタイ
マー公開
記事を読んで商
品を理解する
Copyright© Growth xPartners, Inc. All rights reserved.
設計の進め方
• 商品検索(Lucene)
63
利用者の
体験価値
サービスの
振る舞い
静的な
構造
開発
プロセス
動的な
構成
企画
プロセス
運用
プロセス
業務
プロセス
検索エンジンの
Luceneを採用
ランキングや重
み付けの調整
結果の並び順を
最適化したい
Luceneサーバを独立し、
定期的に商品データを取
り込ませる
応答時間を監視し、SLA
を確認する
APIを経由して呼ばれた
結果を返却する
求めている商品
が見つかる
商品登録をしたも、リ
アルタイムに変わるわ
けではないことを理解
Copyright© Growth xPartners, Inc. All rights reserved.
設計の進め方
• 購買管理(MVC+SQL)
64
利用者の
体験価値
サービスの
振る舞い
静的な
構造
開発
プロセス
動的な
構成
企画
プロセス
運用
プロセス
業務
プロセス
自由度が高い素の
MVCとSQLで構成。
カード決済は外部
ASP利用
難易度が高いの
でハイスキル要
員をアサイン
新しい決済手段
を追加したい
外部ASPのSLA計測
不正アタックの検出
ASPに障害があればエラーで
はなく処理をスキップし、手
動決済を実施する
同時購買点数に応
じて割引を実施
ASP障害時は手
動でオーソリ
商品が簡単に買
える
Copyright© Growth xPartners, Inc. All rights reserved.
設計の進め方
• バックエンド(JSF+JPA)
65
利用者の
体験価値
サービスの
振る舞い
静的な
構造
開発
プロセス
動的な
構成
企画
プロセス
運用
プロセス
業務
プロセス
パターン化され
たUIしか受付け
ない
JSF+JPAで可能
な限り生産性を
向上
安定稼働を監視
コールドスタンバイで
の信頼性確保で十分
役割分担によるプロセ
ス、ユーザの追加
新しい商品を扱うこと
で属性の追加要求
受注処理や配送処理が
簡単に行える
Copyright© Growth xPartners, Inc. All rights reserved.
設計の進め方
• Microservicesの落とし穴
–ドメイン毎の独自性を強くすると、全体的な保守性
が下がってくる可能性が高い
» だからこそ、フルスタックエンジニアが求められるわけで
すが
–何事もバランスが肝心
66
Copyright© Growth xPartners, Inc. All rights reserved.
Q&A
67

Más contenido relacionado

La actualidad más candente

ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善増田 亨
 
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?Yoshitaka Kawashima
 
チケット駆動開発の解説~タスク管理からプロセス改善へ
チケット駆動開発の解説~タスク管理からプロセス改善へチケット駆動開発の解説~タスク管理からプロセス改善へ
チケット駆動開発の解説~タスク管理からプロセス改善へakipii Oga
 
私にとってのテスト
私にとってのテスト私にとってのテスト
私にとってのテストTakuto Wada
 
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったことドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと増田 亨
 
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうRyuji Tsutsui
 
フロー効率性とリソース効率性、再入門 #devlove #devkan
フロー効率性とリソース効率性、再入門 #devlove #devkanフロー効率性とリソース効率性、再入門 #devlove #devkan
フロー効率性とリソース効率性、再入門 #devlove #devkanItsuki Kuroda
 
大規模レガシー環境に立ち向かう有機的な開発フォーメーション #devsumi #devsumic
大規模レガシー環境に立ち向かう有機的な開発フォーメーション #devsumi #devsumic大規模レガシー環境に立ち向かう有機的な開発フォーメーション #devsumi #devsumic
大規模レガシー環境に立ち向かう有機的な開発フォーメーション #devsumi #devsumicItsuki Kuroda
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugItsuki Kuroda
 
緊急Ques - コードのメトリクスに基づくリファクタリング戦略
緊急Ques - コードのメトリクスに基づくリファクタリング戦略緊急Ques - コードのメトリクスに基づくリファクタリング戦略
緊急Ques - コードのメトリクスに基づくリファクタリング戦略Tomoki Kuriyama
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織Takafumi ONAKA
 
テストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jpテストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jpkyon mm
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
 
事業が対峙する現実からエンジニアリングを俯瞰する #devlove
事業が対峙する現実からエンジニアリングを俯瞰する #devlove事業が対峙する現実からエンジニアリングを俯瞰する #devlove
事業が対峙する現実からエンジニアリングを俯瞰する #devloveItsuki Kuroda
 
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチYoshiki Hayama
 
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指してアジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して増田 亨
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかAtsushi Nakada
 
エンジニアも知っておきたいAI倫理のはなし
エンジニアも知っておきたいAI倫理のはなしエンジニアも知っておきたいAI倫理のはなし
エンジニアも知っておきたいAI倫理のはなしYasunori Nihei
 

La actualidad más candente (20)

ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善
 
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
 
チケット駆動開発の解説~タスク管理からプロセス改善へ
チケット駆動開発の解説~タスク管理からプロセス改善へチケット駆動開発の解説~タスク管理からプロセス改善へ
チケット駆動開発の解説~タスク管理からプロセス改善へ
 
私にとってのテスト
私にとってのテスト私にとってのテスト
私にとってのテスト
 
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったことドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと
 
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
 
フロー効率性とリソース効率性、再入門 #devlove #devkan
フロー効率性とリソース効率性、再入門 #devlove #devkanフロー効率性とリソース効率性、再入門 #devlove #devkan
フロー効率性とリソース効率性、再入門 #devlove #devkan
 
大規模レガシー環境に立ち向かう有機的な開発フォーメーション #devsumi #devsumic
大規模レガシー環境に立ち向かう有機的な開発フォーメーション #devsumi #devsumic大規模レガシー環境に立ち向かう有機的な開発フォーメーション #devsumi #devsumic
大規模レガシー環境に立ち向かう有機的な開発フォーメーション #devsumi #devsumic
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
 
緊急Ques - コードのメトリクスに基づくリファクタリング戦略
緊急Ques - コードのメトリクスに基づくリファクタリング戦略緊急Ques - コードのメトリクスに基づくリファクタリング戦略
緊急Ques - コードのメトリクスに基づくリファクタリング戦略
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
テストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jpテストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jp
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
事業が対峙する現実からエンジニアリングを俯瞰する #devlove
事業が対峙する現実からエンジニアリングを俯瞰する #devlove事業が対峙する現実からエンジニアリングを俯瞰する #devlove
事業が対峙する現実からエンジニアリングを俯瞰する #devlove
 
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
 
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指してアジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
 
WayOfNoTrouble.pptx
WayOfNoTrouble.pptxWayOfNoTrouble.pptx
WayOfNoTrouble.pptx
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
 
エンジニアも知っておきたいAI倫理のはなし
エンジニアも知っておきたいAI倫理のはなしエンジニアも知っておきたいAI倫理のはなし
エンジニアも知っておきたいAI倫理のはなし
 

Destacado

さくさく要件定義セミナー in 大阪
さくさく要件定義セミナー in 大阪さくさく要件定義セミナー in 大阪
さくさく要件定義セミナー in 大阪Zenji Kanzaki
 
ユースケースの善し悪し
ユースケースの善し悪しユースケースの善し悪し
ユースケースの善し悪しakipii Oga
 
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011なぜソフトウェアアーキテクトが必要なのか - デブサミ2011
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011Yusuke Suzuki
 
プロフェッショナル要件定義の教科書』の内容が 要件定義を考える上で大切だったのでまとめてみた
プロフェッショナル要件定義の教科書』の内容が要件定義を考える上で大切だったのでまとめてみたプロフェッショナル要件定義の教科書』の内容が要件定義を考える上で大切だったのでまとめてみた
プロフェッショナル要件定義の教科書』の内容が 要件定義を考える上で大切だったのでまとめてみたAyumu Kohiyama
 
LeSS Study LeSS Framework Overview
LeSS Study LeSS Framework OverviewLeSS Study LeSS Framework Overview
LeSS Study LeSS Framework OverviewTakao Kimura
 
大規模アジャイル_情報システム総研様
大規模アジャイル_情報システム総研様大規模アジャイル_情報システム総研様
大規模アジャイル_情報システム総研様Akiko Kosaka
 
Requirement Analysis Tree
Requirement Analysis TreeRequirement Analysis Tree
Requirement Analysis TreeKent Ishizawa
 
VSUG DAY 2012 winter Architect Academy
VSUG DAY 2012 winter Architect AcademyVSUG DAY 2012 winter Architect Academy
VSUG DAY 2012 winter Architect AcademyYusuke Suzuki
 
UniStudy ビジネス編 公開用 #3 プロジェクトマネジメント前編
UniStudy ビジネス編 公開用 #3 プロジェクトマネジメント前編UniStudy ビジネス編 公開用 #3 プロジェクトマネジメント前編
UniStudy ビジネス編 公開用 #3 プロジェクトマネジメント前編Yuichi Minowa
 
ドメイン駆動設計におけるシナリオテストの活用
ドメイン駆動設計におけるシナリオテストの活用ドメイン駆動設計におけるシナリオテストの活用
ドメイン駆動設計におけるシナリオテストの活用Takehiro Inoue
 
koredake modeling accelerates agile
koredake modeling accelerates agilekoredake modeling accelerates agile
koredake modeling accelerates agileChangeVision
 
Astah UML スタートガイド
Astah UML スタートガイドAstah UML スタートガイド
Astah UML スタートガイドChangeVision
 
Astah professional スタートガイド
Astah professional スタートガイドAstah professional スタートガイド
Astah professional スタートガイドChangeVision
 
What is RDRA
What is RDRAWhat is RDRA
What is RDRAzenkan
 
using astah for openthology modeling
using astah for openthology modelingusing astah for openthology modeling
using astah for openthology modelingKenji Hiranabe
 
Astah UML/ER/mindmapping modeling tool Introduction
Astah UML/ER/mindmapping modeling tool IntroductionAstah UML/ER/mindmapping modeling tool Introduction
Astah UML/ER/mindmapping modeling tool IntroductionKenji Hiranabe
 
Astah Plug-ins 作ろう!試そう!プラグイン!
Astah Plug-ins 作ろう!試そう!プラグイン!Astah Plug-ins 作ろう!試そう!プラグイン!
Astah Plug-ins 作ろう!試そう!プラグイン!ChangeVision
 
リーンソフトウェア開発とは
リーンソフトウェア開発とはリーンソフトウェア開発とは
リーンソフトウェア開発とはStudyTech
 
すくすくスクラム瀬戸内_要件定義の嘘_20100205
すくすくスクラム瀬戸内_要件定義の嘘_20100205すくすくスクラム瀬戸内_要件定義の嘘_20100205
すくすくスクラム瀬戸内_要件定義の嘘_20100205Sukusuku Scrum
 
ユースケースからテスト駆動開発へ
ユースケースからテスト駆動開発へユースケースからテスト駆動開発へ
ユースケースからテスト駆動開発へShuji Watanabe
 

Destacado (20)

さくさく要件定義セミナー in 大阪
さくさく要件定義セミナー in 大阪さくさく要件定義セミナー in 大阪
さくさく要件定義セミナー in 大阪
 
ユースケースの善し悪し
ユースケースの善し悪しユースケースの善し悪し
ユースケースの善し悪し
 
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011なぜソフトウェアアーキテクトが必要なのか - デブサミ2011
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011
 
プロフェッショナル要件定義の教科書』の内容が 要件定義を考える上で大切だったのでまとめてみた
プロフェッショナル要件定義の教科書』の内容が要件定義を考える上で大切だったのでまとめてみたプロフェッショナル要件定義の教科書』の内容が要件定義を考える上で大切だったのでまとめてみた
プロフェッショナル要件定義の教科書』の内容が 要件定義を考える上で大切だったのでまとめてみた
 
LeSS Study LeSS Framework Overview
LeSS Study LeSS Framework OverviewLeSS Study LeSS Framework Overview
LeSS Study LeSS Framework Overview
 
大規模アジャイル_情報システム総研様
大規模アジャイル_情報システム総研様大規模アジャイル_情報システム総研様
大規模アジャイル_情報システム総研様
 
Requirement Analysis Tree
Requirement Analysis TreeRequirement Analysis Tree
Requirement Analysis Tree
 
VSUG DAY 2012 winter Architect Academy
VSUG DAY 2012 winter Architect AcademyVSUG DAY 2012 winter Architect Academy
VSUG DAY 2012 winter Architect Academy
 
UniStudy ビジネス編 公開用 #3 プロジェクトマネジメント前編
UniStudy ビジネス編 公開用 #3 プロジェクトマネジメント前編UniStudy ビジネス編 公開用 #3 プロジェクトマネジメント前編
UniStudy ビジネス編 公開用 #3 プロジェクトマネジメント前編
 
ドメイン駆動設計におけるシナリオテストの活用
ドメイン駆動設計におけるシナリオテストの活用ドメイン駆動設計におけるシナリオテストの活用
ドメイン駆動設計におけるシナリオテストの活用
 
koredake modeling accelerates agile
koredake modeling accelerates agilekoredake modeling accelerates agile
koredake modeling accelerates agile
 
Astah UML スタートガイド
Astah UML スタートガイドAstah UML スタートガイド
Astah UML スタートガイド
 
Astah professional スタートガイド
Astah professional スタートガイドAstah professional スタートガイド
Astah professional スタートガイド
 
What is RDRA
What is RDRAWhat is RDRA
What is RDRA
 
using astah for openthology modeling
using astah for openthology modelingusing astah for openthology modeling
using astah for openthology modeling
 
Astah UML/ER/mindmapping modeling tool Introduction
Astah UML/ER/mindmapping modeling tool IntroductionAstah UML/ER/mindmapping modeling tool Introduction
Astah UML/ER/mindmapping modeling tool Introduction
 
Astah Plug-ins 作ろう!試そう!プラグイン!
Astah Plug-ins 作ろう!試そう!プラグイン!Astah Plug-ins 作ろう!試そう!プラグイン!
Astah Plug-ins 作ろう!試そう!プラグイン!
 
リーンソフトウェア開発とは
リーンソフトウェア開発とはリーンソフトウェア開発とは
リーンソフトウェア開発とは
 
すくすくスクラム瀬戸内_要件定義の嘘_20100205
すくすくスクラム瀬戸内_要件定義の嘘_20100205すくすくスクラム瀬戸内_要件定義の嘘_20100205
すくすくスクラム瀬戸内_要件定義の嘘_20100205
 
ユースケースからテスト駆動開発へ
ユースケースからテスト駆動開発へユースケースからテスト駆動開発へ
ユースケースからテスト駆動開発へ
 

Similar a アーキテクチャとアジャイルプロジェクトをまともに進めるための両輪について-DevLOVE関西 #DevKan

「企業システムにおける意志決定とITサービス運営について」 ユーザ企業との協業によるエンタープライズ・アジャイルの支援 ~東京商工リサーチの事例~
「企業システムにおける意志決定とITサービス運営について」  ユーザ企業との協業によるエンタープライズ・アジャイルの支援 ~東京商工リサーチの事例~「企業システムにおける意志決定とITサービス運営について」  ユーザ企業との協業によるエンタープライズ・アジャイルの支援 ~東京商工リサーチの事例~
「企業システムにおける意志決定とITサービス運営について」 ユーザ企業との協業によるエンタープライズ・アジャイルの支援 ~東京商工リサーチの事例~グロースエクスパートナーズ株式会社/Growth xPartners Incorporated.
 
超高速開発の基礎概念 20141119 0
超高速開発の基礎概念 20141119 0超高速開発の基礎概念 20141119 0
超高速開発の基礎概念 20141119 0正善 大島
 
なぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのかなぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのかYusuke Suzuki
 
Base 20141011 1_for_slideshre
Base 20141011 1_for_slideshreBase 20141011 1_for_slideshre
Base 20141011 1_for_slideshre正善 大島
 
アーキテクチャの発掘に見る要求変化の発見 - 要求開発アライアンス2014年2月定例会
アーキテクチャの発掘に見る要求変化の発見 - 要求開発アライアンス2014年2月定例会アーキテクチャの発掘に見る要求変化の発見 - 要求開発アライアンス2014年2月定例会
アーキテクチャの発掘に見る要求変化の発見 - 要求開発アライアンス2014年2月定例会Yusuke Suzuki
 
(続)Itプロジェクトマネジメント成功のための勘どころ 20140318
(続)Itプロジェクトマネジメント成功のための勘どころ 20140318(続)Itプロジェクトマネジメント成功のための勘どころ 20140318
(続)Itプロジェクトマネジメント成功のための勘どころ 20140318ITinnovation
 
チケットの利用による経験を活かした開発の可能性
チケットの利用による経験を活かした開発の可能性 チケットの利用による経験を活かした開発の可能性
チケットの利用による経験を活かした開発の可能性 Makoto SAKAI
 
【会社概要資料】STC.pdf
【会社概要資料】STC.pdf【会社概要資料】STC.pdf
【会社概要資料】STC.pdfKosukeWada1
 
リクルート式ビッグデータ活用術
リクルート式ビッグデータ活用術リクルート式ビッグデータ活用術
リクルート式ビッグデータ活用術Recruit Technologies
 
SIerとクラウドの付き合い方
SIerとクラウドの付き合い方SIerとクラウドの付き合い方
SIerとクラウドの付き合い方Yusuke Suzuki
 
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」PC Cluster Consortium
 
ノーツが日本を救う(2002/3/13)
ノーツが日本を救う(2002/3/13)ノーツが日本を救う(2002/3/13)
ノーツが日本を救う(2002/3/13)伸夫 森本
 
OutSystems ユーザー会 セッション資料
OutSystems ユーザー会 セッション資料OutSystems ユーザー会 セッション資料
OutSystems ユーザー会 セッション資料Tsuyoshi Kawarasaki
 
「シン・テストエンジニアのキャリアについて~[序・破・急]の先に向けて~」
「シン・テストエンジニアのキャリアについて~[序・破・急]の先に向けて~」「シン・テストエンジニアのキャリアについて~[序・破・急]の先に向けて~」
「シン・テストエンジニアのキャリアについて~[序・破・急]の先に向けて~」久仁朗 山本(旧姓 村上)
 
Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋
Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋
Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋Ayumu Aizawa
 
XP祭り2014「アジャイルを手放して得られたこと」
XP祭り2014「アジャイルを手放して得られたこと」 XP祭り2014「アジャイルを手放して得られたこと」
XP祭り2014「アジャイルを手放して得られたこと」 Yusuke Suzuki
 
AITCオープンラボ 2018年5月度(4)
AITCオープンラボ 2018年5月度(4)AITCオープンラボ 2018年5月度(4)
AITCオープンラボ 2018年5月度(4)aitc_jp
 

Similar a アーキテクチャとアジャイルプロジェクトをまともに進めるための両輪について-DevLOVE関西 #DevKan (20)

ソフトウェア品質向上の 変 2015江戸~今、改革のとき~ 20150204
ソフトウェア品質向上の 変 2015江戸~今、改革のとき~ 20150204ソフトウェア品質向上の 変 2015江戸~今、改革のとき~ 20150204
ソフトウェア品質向上の 変 2015江戸~今、改革のとき~ 20150204
 
「企業システムにおける意志決定とITサービス運営について」 ユーザ企業との協業によるエンタープライズ・アジャイルの支援 ~東京商工リサーチの事例~
「企業システムにおける意志決定とITサービス運営について」  ユーザ企業との協業によるエンタープライズ・アジャイルの支援 ~東京商工リサーチの事例~「企業システムにおける意志決定とITサービス運営について」  ユーザ企業との協業によるエンタープライズ・アジャイルの支援 ~東京商工リサーチの事例~
「企業システムにおける意志決定とITサービス運営について」 ユーザ企業との協業によるエンタープライズ・アジャイルの支援 ~東京商工リサーチの事例~
 
【B-3】 創業122年の企業と顧客価値にコミットした開発を実現する試みと成果について
【B-3】 創業122年の企業と顧客価値にコミットした開発を実現する試みと成果について【B-3】 創業122年の企業と顧客価値にコミットした開発を実現する試みと成果について
【B-3】 創業122年の企業と顧客価値にコミットした開発を実現する試みと成果について
 
超高速開発の基礎概念 20141119 0
超高速開発の基礎概念 20141119 0超高速開発の基礎概念 20141119 0
超高速開発の基礎概念 20141119 0
 
なぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのかなぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのか
 
Base 20141011 1_for_slideshre
Base 20141011 1_for_slideshreBase 20141011 1_for_slideshre
Base 20141011 1_for_slideshre
 
アーキテクチャの発掘に見る要求変化の発見 - 要求開発アライアンス2014年2月定例会
アーキテクチャの発掘に見る要求変化の発見 - 要求開発アライアンス2014年2月定例会アーキテクチャの発掘に見る要求変化の発見 - 要求開発アライアンス2014年2月定例会
アーキテクチャの発掘に見る要求変化の発見 - 要求開発アライアンス2014年2月定例会
 
(続)Itプロジェクトマネジメント成功のための勘どころ 20140318
(続)Itプロジェクトマネジメント成功のための勘どころ 20140318(続)Itプロジェクトマネジメント成功のための勘どころ 20140318
(続)Itプロジェクトマネジメント成功のための勘どころ 20140318
 
チケットの利用による経験を活かした開発の可能性
チケットの利用による経験を活かした開発の可能性 チケットの利用による経験を活かした開発の可能性
チケットの利用による経験を活かした開発の可能性
 
【会社概要資料】STC.pdf
【会社概要資料】STC.pdf【会社概要資料】STC.pdf
【会社概要資料】STC.pdf
 
リクルート式ビッグデータ活用術
リクルート式ビッグデータ活用術リクルート式ビッグデータ活用術
リクルート式ビッグデータ活用術
 
SIerとクラウドの付き合い方
SIerとクラウドの付き合い方SIerとクラウドの付き合い方
SIerとクラウドの付き合い方
 
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」
 
ノーツが日本を救う(2002/3/13)
ノーツが日本を救う(2002/3/13)ノーツが日本を救う(2002/3/13)
ノーツが日本を救う(2002/3/13)
 
OutSystems ユーザー会 セッション資料
OutSystems ユーザー会 セッション資料OutSystems ユーザー会 セッション資料
OutSystems ユーザー会 セッション資料
 
「シン・テストエンジニアのキャリアについて~[序・破・急]の先に向けて~」
「シン・テストエンジニアのキャリアについて~[序・破・急]の先に向けて~」「シン・テストエンジニアのキャリアについて~[序・破・急]の先に向けて~」
「シン・テストエンジニアのキャリアについて~[序・破・急]の先に向けて~」
 
モダン Web 開発におけるインフラジスティックスのこれまでの取り組みと今後
モダン Web 開発におけるインフラジスティックスのこれまでの取り組みと今後モダン Web 開発におけるインフラジスティックスのこれまでの取り組みと今後
モダン Web 開発におけるインフラジスティックスのこれまでの取り組みと今後
 
Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋
Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋
Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋
 
XP祭り2014「アジャイルを手放して得られたこと」
XP祭り2014「アジャイルを手放して得られたこと」 XP祭り2014「アジャイルを手放して得られたこと」
XP祭り2014「アジャイルを手放して得られたこと」
 
AITCオープンラボ 2018年5月度(4)
AITCオープンラボ 2018年5月度(4)AITCオープンラボ 2018年5月度(4)
AITCオープンラボ 2018年5月度(4)
 

Más de Yusuke Suzuki

アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチアーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチYusuke Suzuki
 
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023Yusuke Suzuki
 
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022Yusuke Suzuki
 
マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021Yusuke Suzuki
 
Javaとコミュニティの歩み 2020
Javaとコミュニティの歩み 2020Javaとコミュニティの歩み 2020
Javaとコミュニティの歩み 2020Yusuke Suzuki
 
エンタプライズ領域のアジャイル開発の課題 - FIT2020
エンタプライズ領域のアジャイル開発の課題 - FIT2020エンタプライズ領域のアジャイル開発の課題 - FIT2020
エンタプライズ領域のアジャイル開発の課題 - FIT2020Yusuke Suzuki
 
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏Yusuke Suzuki
 
エンタープライズ、アーキテクチャ、アジャイルのこれから
エンタープライズ、アーキテクチャ、アジャイルのこれからエンタープライズ、アーキテクチャ、アジャイルのこれから
エンタープライズ、アーキテクチャ、アジャイルのこれからYusuke Suzuki
 
アーキテクチャのレビューについて - JaSST Review '18
アーキテクチャのレビューについて - JaSST Review '18アーキテクチャのレビューについて - JaSST Review '18
アーキテクチャのレビューについて - JaSST Review '18Yusuke Suzuki
 
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018Yusuke Suzuki
 
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJPMicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJPYusuke Suzuki
 
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナーエンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナーYusuke Suzuki
 
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会Yusuke Suzuki
 
Javaはコミュニティの力で再び偉大になれるのか
Javaはコミュニティの力で再び偉大になれるのかJavaはコミュニティの力で再び偉大になれるのか
Javaはコミュニティの力で再び偉大になれるのかYusuke Suzuki
 
Javaのカルチャーとグロース - MANABIYA 2018
Javaのカルチャーとグロース - MANABIYA 2018Javaのカルチャーとグロース - MANABIYA 2018
Javaのカルチャーとグロース - MANABIYA 2018Yusuke Suzuki
 
アジャイル開発を支えるアーキテクチャ設計とは
アジャイル開発を支えるアーキテクチャ設計とはアジャイル開発を支えるアーキテクチャ設計とは
アジャイル開発を支えるアーキテクチャ設計とはYusuke Suzuki
 
JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座Yusuke Suzuki
 
ITトレンドに見る日本のエンタープライズITについて
ITトレンドに見る日本のエンタープライズITについてITトレンドに見る日本のエンタープライズITについて
ITトレンドに見る日本のエンタープライズITについてYusuke Suzuki
 
エナジャイル設立によせて
エナジャイル設立によせてエナジャイル設立によせて
エナジャイル設立によせてYusuke Suzuki
 
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017Yusuke Suzuki
 

Más de Yusuke Suzuki (20)

アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチアーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
 
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
 
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
 
マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021
 
Javaとコミュニティの歩み 2020
Javaとコミュニティの歩み 2020Javaとコミュニティの歩み 2020
Javaとコミュニティの歩み 2020
 
エンタプライズ領域のアジャイル開発の課題 - FIT2020
エンタプライズ領域のアジャイル開発の課題 - FIT2020エンタプライズ領域のアジャイル開発の課題 - FIT2020
エンタプライズ領域のアジャイル開発の課題 - FIT2020
 
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
 
エンタープライズ、アーキテクチャ、アジャイルのこれから
エンタープライズ、アーキテクチャ、アジャイルのこれからエンタープライズ、アーキテクチャ、アジャイルのこれから
エンタープライズ、アーキテクチャ、アジャイルのこれから
 
アーキテクチャのレビューについて - JaSST Review '18
アーキテクチャのレビューについて - JaSST Review '18アーキテクチャのレビューについて - JaSST Review '18
アーキテクチャのレビューについて - JaSST Review '18
 
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
 
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJPMicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP
 
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナーエンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
 
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
 
Javaはコミュニティの力で再び偉大になれるのか
Javaはコミュニティの力で再び偉大になれるのかJavaはコミュニティの力で再び偉大になれるのか
Javaはコミュニティの力で再び偉大になれるのか
 
Javaのカルチャーとグロース - MANABIYA 2018
Javaのカルチャーとグロース - MANABIYA 2018Javaのカルチャーとグロース - MANABIYA 2018
Javaのカルチャーとグロース - MANABIYA 2018
 
アジャイル開発を支えるアーキテクチャ設計とは
アジャイル開発を支えるアーキテクチャ設計とはアジャイル開発を支えるアーキテクチャ設計とは
アジャイル開発を支えるアーキテクチャ設計とは
 
JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座
 
ITトレンドに見る日本のエンタープライズITについて
ITトレンドに見る日本のエンタープライズITについてITトレンドに見る日本のエンタープライズITについて
ITトレンドに見る日本のエンタープライズITについて
 
エナジャイル設立によせて
エナジャイル設立によせてエナジャイル設立によせて
エナジャイル設立によせて
 
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
 

アーキテクチャとアジャイルプロジェクトをまともに進めるための両輪について-DevLOVE関西 #DevKan

  • 1. Copyright© Growth xPartners, Inc. All rights reserved. アーキテクチャとアジャイル プロジェクトをまともに進めるための両輪について グロースエクスパートナーズ(株) 鈴木雄介 2014年12月20日
  • 2. Copyright© Growth xPartners, Inc. All rights reserved. 自己紹介 • 鈴木雄介 –グロースエクスパートナーズ(株) » 執行役員 » SI事業の統括マネージャー/ITアーキテクト –日本Javaユーザーグループ » 会長 –ブログ:http://arclamp.hatenablog.com/ –Twitter:@yusuke_arclamp 1
  • 3. Copyright© Growth xPartners, Inc. All rights reserved. 自己紹介 • グロースエクスパートナーズ(株) –受託開発を中心としたソフトウェア開発企業 » http://www.gxp.co.jp/ –顧客(全てプライム) » 医療器械メーカー » 百貨店 » 企業信用情報提供 » 通信 » オフィス機器&医療機器メーカー » 雑誌&オンラインメディア 2
  • 4. Copyright© Growth xPartners, Inc. All rights reserved. 3 アーキテクチャとマネジメント https://www.flickr.com/photos/splorp/6264402594
  • 5. Copyright© Growth xPartners, Inc. All rights reserved. 4 シャボン玉を デザインする
  • 6. Copyright© Growth xPartners, Inc. All rights reserved. • シャボン玉をデザインするときに、どんなに完 璧な丸を紙の上に描いても、いいシャボン玉は できないわけで、そのシャボン玉をつくる装置 、そこにシャボン液がたくさん溜まるシステム をつくらなければいけない。 • -阿部雅世 5 http://www.axisjiku.com/jp/2009/12/16/axisフォーラム-阿部雅世さん講演-レポート-その1(全3/ http://opengl.jp/blogger/2009/07/masayo-ave-at-axis.html
  • 7. Copyright© Growth xPartners, Inc. All rights reserved. 6
  • 8. Copyright© Growth xPartners, Inc. All rights reserved. 今、何が起きているのか 7
  • 9. Copyright© Growth xPartners, Inc. All rights reserved. 今、何が起きているのか • 企業におけるITの役割 8 事務処理を自動化する 管理統制を拡張する 事業に価値を加える 昔 この 10年 最近
  • 10. Copyright© Growth xPartners, Inc. All rights reserved. 今、何が起きているのか • たとえばトヨタフレンド 9 toyota.jp プリウスPHV | 楽しくお使いいただくための会員サービス | トヨタフレンド http://toyota.jp/priusphv/001_p_004/drivesupport/toyotafriend/
  • 11. Copyright© Growth xPartners, Inc. All rights reserved. 今、何が起きているのか • 「事業に価値を加える」ためのIT –商品の継続的な利用を促す –商品の位置づけを段階的に変えていく » あるいは、時代の流れで変わってしまったことに対応する –既存商品をベースにした新たな収益の獲得 • 基本的には試行錯誤をしていかないといけない –何が正解かは、誰も分からない 10
  • 12. Copyright© Growth xPartners, Inc. All rights reserved. 今、何が起きているのか • 企業がIT屋に求めること –良いアプリケーションが作れても、ITサービスとし て運営がうまくできなければ意味が無い 11 アプリケーションを いかに早く、安く、正確に作るか ITサービスを いかにうまく運営するか
  • 13. Copyright© Growth xPartners, Inc. All rights reserved. 今、何が起きているのか • アプリケーションを作る –仕様(静的)を定義する –開発者が作る –プロジェクトが終われば終わり • ITサービスを運営する –利用(動的)からフィードバックを受ける –様々な人が関わりながら動かす –継続的で終わりのない活動 12
  • 14. Copyright© Growth xPartners, Inc. All rights reserved. ITサービスの運営 13
  • 15. Copyright© Growth xPartners, Inc. All rights reserved. ITサービスの運営 • ITサービスを運営する –「ITを通じた企業と利用者の関係」のこと –実際の運営は従業員によって行われる 14 利用者従業員 企業 ※サービストライアングルからのインスパイア IT
  • 16. Copyright© Growth xPartners, Inc. All rights reserved. ITサービスの運営 • ITサービス運営モデル v0.2 15 利用者の 体験価値 サービスの 振る舞い 静的な 構造 開発 プロセス 動的な 構成 企画 プロセス 運用 プロセス 業務 プロセス
  • 17. Copyright© Growth xPartners, Inc. All rights reserved. ITサービスの運営 • ITサービス運営モデル v0.2 16 特徴 例 利用者の 体験価値 • 利用者が体験して感じるもの • 利用者によって評価が異なる • AさんとBさんで評価 が異なる サービスの 振る舞い • 外部から見てわかる振る舞い • 誰がテストしても同じ結果 • 仕様(機能と非機能) • 仕様とテストケース • 品質特性 • API 動的な構成 • システム実行時の要素と相互作 用 • 流れ、実行、プロセス • インスタンス • 処理 • 実行環境/インフラ 静的な構造 • 成果物が配置された静的な構造 • 後に残り、参照可能 • ソースコード • クラス、テーブル定義 • ドキュメント
  • 18. Copyright© Growth xPartners, Inc. All rights reserved. ITサービスの運営 • ITサービス運営モデル v0.2 17 特徴 例 企画 プロセス • ITサービスの振る舞いを管理する • 追加や変更を要求する • 売上 • 要求と受入 開発 プロセス • 静的な構造を作る • 追加し、変更する • 素早さが求められる • リリース計画 • 開発ツール 運用 プロセス • 動的な構成を管理する • 追加や変更を受け入れる • 安定が求められる • デプロイ • 監視 業務 プロセス • ITサービスを利用者に届ける • 利用者に追加や変更を伝える • 安定が求められる • 現場 • 窓口
  • 19. Copyright© Growth xPartners, Inc. All rights reserved. ITサービスの運営 • ITサービス運営への理解 1/4 18 利用者の 体験価値 サービスの 振る舞い 静的な 構造 開発 プロセス 動的な 構成 企画 プロセス 運用 プロセス 業務 プロセス 1.異なる関心事を持つ利害関係者がいる
  • 20. Copyright© Growth xPartners, Inc. All rights reserved. ITサービスの運営 • ITサービス運営への理解 2/4 19 利用者の 体験価値 サービスの 振る舞い 静的な 構造 開発 プロセス 動的な 構成 企画 プロセス 運用 プロセス 業務 プロセス 2.価値は利用者の体験によって定義される
  • 21. Copyright© Growth xPartners, Inc. All rights reserved. ITサービスの運営 • ITサービス運営への理解 3/4 20 利用者の 体験価値 サービスの 振る舞い 静的な 構造 開発 プロセス 動的な 構成 企画 プロセス 運用 プロセス 業務 プロセス 3.複雑な構成要素によって成り立つ
  • 22. Copyright© Growth xPartners, Inc. All rights reserved. ITサービスの運営 • ITサービス運営への理解 4/4 21 利用者の 体験価値 サービスの 振る舞い 静的な 構造 開発 プロセス 動的な 構成 企画 プロセス 運用 プロセス 業務 プロセス 4.フィードバックによって持続的に成長する
  • 23. Copyright© Growth xPartners, Inc. All rights reserved. ITサービスの運営 • ITサービス運営で考えるべきこと –1.異なる関心事を持つ利害関係者がいる –2.価値は利用者の体験によって定義される –3.複雑な構成要素によって成り立つ –4.フィードバックによって持続的に成長する • ITサービスをうまく運営するには、これら全体 をデザインする必要がある 22
  • 24. Copyright© Growth xPartners, Inc. All rights reserved. アーキテクチャ 23
  • 25. Copyright© Growth xPartners, Inc. All rights reserved. アーキテクチャ • アーキテクチャとは 24 IEEE-Std-1471-2000 Recommended Practice for Architectural Description of Software-Intensive Systems(アーキテクチャ記述の推奨プラクティス)
  • 26. Copyright© Growth xPartners, Inc. All rights reserved. アーキテクチャ 25 利害関係者の 関心事 ビューポイント ビュー ミッション システム 制約(環境) モデルによって記述
  • 27. Copyright© Growth xPartners, Inc. All rights reserved. アーキテクチャ • アーキテクチャとは –システムのミッションに従い、システムのおかれた 制約を前提としながら –システムに関わる複数の利害関係者の関心事を整合 させ、 » 経営者、オーナー、ユーザー、プログラマ、 DBA、インフ ラ屋、PM、上司、保守メンバー –ライフサイクル(設計から保守)まで意識した –システムの分け方と組合せ方のこと 26
  • 28. Copyright© Growth xPartners, Inc. All rights reserved. マネジメント 27
  • 29. Copyright© Growth xPartners, Inc. All rights reserved. マネジメント • プロジェクトマネジメントとは –計画し、実行し、計測し、調整する 28 計画 実行 計測 調整
  • 30. Copyright© Growth xPartners, Inc. All rights reserved. マネジメント • PMBOK 29 立ち上げ 計画 遂行 コントロール 終結 統合 計画策定 計画実行 統合変更管理 スコープ (目的と範囲) 立ち上げ スコープ計画/定義 スコープ検証/変更管理 時間(期間) アクティビティ定義/順序設 定/期間見積 スケジュール作成 スケジュールコントロール コスト(予算) 資源管理 コストの見積/予算化 コストコントロール 品質 品質計画 品質保証 品質管理 人的資源 組織計画 要員調達 チーム育成 コミュニケー ション コミュニケーション計画 情報配布 実行報告 完了手続き リスク リスク・マネジメント計画 リスク識別 定性的/定量的リスク分析 リスクの監視・コントロー ル 調達 調達/引合計画 引合 発注先選定 契約管理 契約完了 計画 実行 計測 と 調整
  • 31. Copyright© Growth xPartners, Inc. All rights reserved. マネジメント • ウォーターフォールとアジャイル –「考え方の違い」であって、優劣ではない –ウォーターフォール » 計画/計測の確実性が高いことを前提に、全体を見通すこと で、実行の効率化を目指していく » 例:既存システム連携、法令準拠、システム相手のこと –アジャイル » 計画/計測の不確実性が高いことを前提に、小さく実行する ことで、調整の効率化を目指していく » 例:UI、インシデント発生への対応、人間相手のこと 30
  • 32. Copyright© Growth xPartners, Inc. All rights reserved. マネジメント • ウォーターフォールとアジャイル –ウォーターフォールにありがちな失敗 » 計画の失敗:計画の精度が悪かった » 計測の失敗:進捗を測り間違えた » 調整の失敗:方向修正する話し合いができなかった –だから、アジャイル手法は » 計画:精度が出るぐらい小さな計画にすればいい » 計測:動くソフトウェアで計測すればいい » 調整:定期的にみんなで見直すことにすればいい 31
  • 33. Copyright© Growth xPartners, Inc. All rights reserved. マネジメント • ウォーターフォールが悪ではない –技術的方式に問題があるならPoCやプロトタイピン グで不確実性を先に取り除く –むしろ、積極的な使い分けが重要 » システム連携部分は計画重視、UIは調整重視 32
  • 34. Copyright© Growth xPartners, Inc. All rights reserved. マネジメント • アジャイルのダークサイド 33 よく使う言葉 ダークサイド思考 顧客が欲しいものを作る ダメなのは顧客の責任 あとで変更できる 最初に決めるのが面倒 動くコードがすべて 説明しても分からない イテレーションごと計画 全体にはコミットしない 自動デプロイしています お前がテストしろ 優れたメンバーを確保 委任契約でリスクは発注元
  • 35. Copyright© Growth xPartners, Inc. All rights reserved. アーキテクチャとマネジメント 34
  • 36. Copyright© Growth xPartners, Inc. All rights reserved. アーキテクチャとマネジメント • アーキテクチャとマネジメント 35 アーキテクチャ マネジメント 目的 プロジェクトの目的 を技術的に表現する プロジェクトの目標 を達成する 手法 予測し、方向性を設 定する 計画し、計測し、調 整する 成果 対象物の分け方と組 み合わせ方 プロジェクトの成果 物そのもの 行動 事前的に決定 事後的に対応
  • 37. Copyright© Growth xPartners, Inc. All rights reserved. アーキテクチャとマネジメント • ITサービス運営では切り離せない 36 利用者の 体験価値 サービスの 振る舞い 静的な 構造 開発 プロセス 動的な 構成 企画 プロセス 運用 プロセス 業務 プロセス
  • 38. Copyright© Growth xPartners, Inc. All rights reserved. アーキテクチャとマネジメント • アジャイルでも「グランドデザイン」は重要 –アーキテクチャ設計は、きちんとやる –考える暇がないなら定石に当てはめてもいい » 例:とりあえず流行のフレームワークを採用する » そのフレームワークが解決しているドメインの相似性につ いて考慮する » 当てはまっていなかった時は大きな問題になる 37
  • 39. Copyright© Growth xPartners, Inc. All rights reserved. アーキテクチャとマネジメント 38 内圧 作るコト 戦術/設計/実装 外圧 使うコト ビジョン/要求/要件
  • 40. Copyright© Growth xPartners, Inc. All rights reserved. 内圧 作るコト 戦術/設計/実装 アーキテクチャとマネジメント 39 外圧 使うコト ビジョン/要求/要件 つなぐコト アーキテクチャ 続けるコト マネジメント
  • 41. Copyright© Growth xPartners, Inc. All rights reserved. アーキテクトの仕事 40
  • 42. Copyright© Growth xPartners, Inc. All rights reserved. アーキテクトの仕事 • アーキテクトの仕事は「アーキテクチャをデザ インすること」 • そのために –利害関係者を参加させ、関心事を理解する –関心事を整理し、整合させるように調整する –その関心事に沿ってITサービス運営要素を定義する » 非常に幅広い要素について検討が必要となる 41
  • 43. Copyright© Growth xPartners, Inc. All rights reserved. アーキテクトの仕事 • たとえば 42 利用者の 体験価値 サービスの 振る舞い 静的な 構造 開発 プロセス 動的な 構成 企画 プロセス 運用 プロセス 業務 プロセス こういうクラス 分割が必要だ こういうトランザクショ ン増加が想定される この動きに、これ だけの並行処理が 求められる こういう導線を通 るはずだ このKPIに従って 評価すべきだ こういう要員と手 法で作るべきだ ここの数値を監視 すべきだ この時期は、これ だけの作業がある
  • 44. Copyright© Growth xPartners, Inc. All rights reserved. アーキテクトの仕事 • 基礎知識 –ITトレンドの知識 –対象ドメインのビジネス知識 –対象企業のIT知識 • プロセスとのかかわり –開発工程とアーキテクチャ設計の関係を定義する • 個人のスキル –個人レベルでの能力発揮 43
  • 45. Copyright© Growth xPartners, Inc. All rights reserved. アーキテクトの仕事 • 基礎知識(技術トレンド) 44 Networking Virtualization Storage Servers OS Middleware Code Configuration Runtime Data SaaS PaaS IaaS ロードバランサー ストレージアーカイブ CDN データ転送 RDB・NoSQL データウェアハウス メモリキャッシュ データストリーム 分散処理 オーケストレーション サーチ ストリーミング メール配信 メッセージキュー プッシュ通知 ワークフロー 課金 メディア変換 コンテナ デプロイ ユーザー活動分析 モニタリング 認証認可
  • 46. Copyright© Growth xPartners, Inc. All rights reserved. アーキテクトの仕事 • 基礎知識(ドメインのビジネス知識) –「変化の濃淡と方向」を学ぶ » 年間スケジュール(量、数、質)=変化の幅 » ルールとパラメタ=変化の境界線 » 業界動向=変化の方向性 –もちろん自分で勉強することも大事だけど、顧客に 聞くのが一番 » 顧客がドメインスペシャリスト » 顧客と話すための最低限の知識は礼儀として学んでおく 45
  • 47. Copyright© Growth xPartners, Inc. All rights reserved. アーキテクトの仕事 • 基礎知識(対象企業のIT知識) –エンタープライズ・アーキテクチャ上の最適化 –分かりやすくは「他システムとの関係性」 46 戦略性 固有性 汎用性 共通性 複雑 単純
  • 48. Copyright© Growth xPartners, Inc. All rights reserved. アーキテクトの仕事 • プロセスとの関わり –どのタイミングで誰と話して、何を決めるのか 47 要件定義 外部設計 内部設計 実装 ユニットテスト 内部結合テスト 外部結合テスト システムテスト(受入) 企画 運用テストあるいは運営 企業やドメインへの理解 アーキテクチャ方針の策定 アーキテクチャ方式の策定 アーキテクチャ変更のトレース アーキテクチャ方式課題の解決 アーキテクチャ方針課題の解決 アーキテクチャの評価 アーキテクチャの管理
  • 49. Copyright© Growth xPartners, Inc. All rights reserved. アーキテクトの仕事 • 個人スキル –コミュニケーションスキル! » 理解する » 整理する » 表現する » 調整する 48
  • 50. Copyright© Growth xPartners, Inc. All rights reserved. アーキテクトの仕事 • とはいえ、全部は不可能 –基礎知識はチームが重要 –プロセスはPMとの連携が重要 –個人スキルは精進してください –なんにせよ、経験から学ぶことは多い • 組織との関わり方が重要 –その企業における「アーキテクト」を定義し、共有 していくことが必要 49
  • 51. Copyright© Growth xPartners, Inc. All rights reserved. 設計の進め方 50
  • 52. Copyright© Growth xPartners, Inc. All rights reserved. 設計の進め方 • Microservices –ファウラー先生が提唱 » http://martinfowler.com/articles/microservices.html » 海外では、かなりブームになっている雰囲気 –ITサービス運営のアーキテクチャの考え方を良く表 している » 個々に独立したサービスによって全体のサービスが構成さ れている ▸ データ、ガバナンス、手法なども完全に独立 » 個々のサービスは個々のチームによって開発・運用される ▸ 開発と運用は一体化され、個々に責任を持つ 51
  • 53. Copyright© Growth xPartners, Inc. All rights reserved. 設計の進め方 • Microservicesの9つの特徴 – Componentization via Services/サービスによるコンポーネ ント化 – Organized around Business Capabilities/ビジネスケイパビ リティに基づく組織化 – Products not Projects/プロジェクトではなくプロダクト – Smart endpoints and dumb pipes/スマートなエンドポイ ントと単純なパイプ処理 – Decentralized Governance/分散ガバナンス – Decentralized Data Management/分散データマネジメント – Infrastructure Automation/インフラの自動化 – Design for failure/フェイルを前提とした設計 – Evolutionary Design/進化的な設計 52
  • 54. Copyright© Growth xPartners, Inc. All rights reserved. 設計の進め方 • Microservicesは既に起きていること –たとえばECサイト » 管理画面から商品を登録する » 商品を検索する » 商品をカートにいれて購入する » 受注を処理して請求や物流手配を行う » 記事コンテンツを更新する –これらは、全て異なるドメインとして定義できる 53
  • 55. Copyright© Growth xPartners, Inc. All rights reserved. 設計の進め方 • ドメインの発見には、変化の境界を見極める –外的変化要因になるもの » ユーザーの役割が異なる » ユーザーによって利用されるサイクルが違う –その他の変化要因 » セキュリティ –必ず境界にするわけではない。パターンにくくって いくことが大事 54
  • 56. Copyright© Growth xPartners, Inc. All rights reserved. 設計の進め方 • それぞれのケースにおける分析 55 ビジネスケース 利用者 サイクル 管理画面から商品を登 録する 商品担当者 毎日 商品を検索する 消費者 かなり頻繁に 商品をカートにいれて 購入する 消費者 それなりの回数 受注を処理して請求や 物流手配を行う 受注担当者 配送担当者 受注のたびに 記事コンテンツを更新 する コンテンツ担当者 毎週
  • 57. Copyright© Growth xPartners, Inc. All rights reserved. 設計の進め方 • 非機能についても考えることが必要 – 機能適合性 » 実装された機能がニーズを満たす度合 – 性能効率性 » システムの実行時の性能や資源効率の度合 – 互換性 » 他製品やシステムと機能や情報を共有、変換できる度合 – 使用性 » 効果的、効率的に利用できる度合 – 信頼性 » 必要時に実行することができる度合 – セキュリティ » 不正にアクセスがされることなく、情報やデータが保護される度合 – 保守性 » 効果的、効率的に保守や修正ができる度合 – 移植性 » 効果的、効率的に他のハードウェアや実行環境に移植できる度合 56
  • 58. Copyright© Growth xPartners, Inc. All rights reserved. 設計の進め方 • 品質特性 1/2 57 品質特性 特性の概要 副品質特性 概要 機能適合性 実装された機能が ニーズを満たす度合 完全性 ニーズを機能がユーザの目的やタスクを包含している度合 正確性 必要な精度で正確な結果を与える度合 適切性 機能が定められたタスクや目的を円滑に遂行する度合 性能効率性 システムの実行時の 性能や資源効率の度 合 時間効率性 実行時のシステムの応答時間、処理時間などの処理能力の度合 資源利用性 実行時に使用する資源量や種類 キャパシティ 要求を満たすための製品やシステムのパラメータの最大許容値 互換性 他製品やシステムと 機能や情報を共有、 変換できる度合 共存性 他製品へ負の影響を与えず、共通の環境や資源を共有して効果 的に実行する度合 相互運用性 2つ以上の製品やコンポーネント間で情報を交換、利用できる 度合 使用性 効果的、効率的に利 用できる度合 適切度認識性 ニーズに適した利用かどうか認識できる度合 習得性 システムの使い方の学習ができる度合 運用性 運用や管理のしやすさの度合 ユーザエラー防止性 誤操作しないように保護する度合 ユーザインタフェー スの快美性 ユーザインタフェースが親しみがあり満足感のある応答ができ る度合 アクセシビリティ 幅広い層の特徴や能力を持つ人々が利用できる度合 信頼性 必要時に実行するこ とができる度合 成熟性 通常時に信頼性のニーズを満たす度合 可用性 必要時に運用、接続できる度合 障害許容性 障害時に運用できる度合 回復性 障害時にデータやシステムが回復したり再構築できる度合 情報システム/ソフトウェアの品質メトリクスセット http://www.meti.go.jp/policy/mono_info_service/joho/cloud/2011/11_03.pdf
  • 59. Copyright© Growth xPartners, Inc. All rights reserved. 設計の進め方 • 品質特性 2/2 58 品質特性 特性の概要 副品質特性 概要 セキュリ ティ 不正にアクセスがさ れることなく、情報 やデータが保護され る度合 機密保持性 許可された者のみがアクセスできるようデータを保証する度合 インテグリティ プログラムやデータへの変更において未許可なアクセスを防止 する度合 否認防止性 イベントやアクションの発生を証明する度合 責任追跡性 エンティティの実行が唯一であることを証明する度合 真正性 リソースや物事の身元が要求されたものであることを証明でき る度合 保守性 効果的、効率的に保 守や修正ができる度 合 モジュール性 変更による他コンポーネントへの影響が最少で済むよう、独立 したコンポーネントで構成される度合い 再利用性 他のシステムや資産を構築する際に利用できる度合 解析性 変更部分や障害原因の特定のために診断したり、変更による影 響を評価する際の効果性、効率性の度合 変更性 欠陥や品質の低下なく変更が効果的、効率的にできる度合 試験性 テスト基準を確立し、評価するために実行する際の効果性、効 率性の度合 移植性 効果的、効率的に他 のハードウェアや実 行環境に移植できる 度合 順応性 別のもしくは進化したハードウェアやソフトウェアや他の運用 環境に効果的、効率的に順応できる度合 設置性 正しくインストール、もしくはアンインストールする際の効果 性、効率性の度合 置換性 同一の目的、環境下で他のソフトウェア製品に置換(リプレー ス)できる度合 情報システム/ソフトウェアの品質メトリクスセット http://www.meti.go.jp/policy/mono_info_service/joho/cloud/2011/11_03.pdf
  • 60. Copyright© Growth xPartners, Inc. All rights reserved. • ドメインと技術要素のマッピング 設計の進め方 59 商品 商品登録 商品検索 購買 カート 受注 受注管理 記事 記事登録 商品担当者 受注担当者 コンテンツ 担当者 消費者 記事表示 CMS 検索エンジン 管理システム フロントシステム 配送担当者
  • 61. Copyright© Growth xPartners, Inc. All rights reserved. 設計の進め方 • ドメインと技術要素のマッピング • もちろん、これだけが正解なわけではない –個別のITサービスごとに適した構成がある –たとえばクラウドサービスを活用すると、もっとコ ストが減るかもしれない 60 構成要素 特性 技術例 記事管理 記事登録のワークフロー管理、決 められた時間での公開 CMS 商品検索 ハイパフォーマンス Lucene 購買管理 複雑なロジックと使いやすさ MVC+SQL バックエンド パターン化された画面 JSF+JPA
  • 62. Copyright© Growth xPartners, Inc. All rights reserved. 設計の進め方 • さらに個別のドメイン毎にサービスを構成する 要素に求められることが異なる 61 利用者の 体験価値 サービスの 振る舞い 静的な 構造 開発 プロセス 動的な 構成 企画 プロセス 運用 プロセス 業務 プロセス
  • 63. Copyright© Growth xPartners, Inc. All rights reserved. 設計の進め方 • 記事管理(CMS) 62 利用者の 体験価値 サービスの 振る舞い 静的な 構造 開発 プロセス 動的な 構成 企画 プロセス 運用 プロセス 業務 プロセス CMSを採用 CMSカスタマイ ズ設計書と専門 エンジニア CMSカスタマイ ズ設計書と専門 エンジニア テンプレート更新はデザイ ナ、商品担当と連携して取 材し、コンテンツを制作 SEOを向上させ るためのタグを 追加したい ホワイトペーパー に従った構成 制作ワークフ ロー制御とタイ マー公開 記事を読んで商 品を理解する
  • 64. Copyright© Growth xPartners, Inc. All rights reserved. 設計の進め方 • 商品検索(Lucene) 63 利用者の 体験価値 サービスの 振る舞い 静的な 構造 開発 プロセス 動的な 構成 企画 プロセス 運用 プロセス 業務 プロセス 検索エンジンの Luceneを採用 ランキングや重 み付けの調整 結果の並び順を 最適化したい Luceneサーバを独立し、 定期的に商品データを取 り込ませる 応答時間を監視し、SLA を確認する APIを経由して呼ばれた 結果を返却する 求めている商品 が見つかる 商品登録をしたも、リ アルタイムに変わるわ けではないことを理解
  • 65. Copyright© Growth xPartners, Inc. All rights reserved. 設計の進め方 • 購買管理(MVC+SQL) 64 利用者の 体験価値 サービスの 振る舞い 静的な 構造 開発 プロセス 動的な 構成 企画 プロセス 運用 プロセス 業務 プロセス 自由度が高い素の MVCとSQLで構成。 カード決済は外部 ASP利用 難易度が高いの でハイスキル要 員をアサイン 新しい決済手段 を追加したい 外部ASPのSLA計測 不正アタックの検出 ASPに障害があればエラーで はなく処理をスキップし、手 動決済を実施する 同時購買点数に応 じて割引を実施 ASP障害時は手 動でオーソリ 商品が簡単に買 える
  • 66. Copyright© Growth xPartners, Inc. All rights reserved. 設計の進め方 • バックエンド(JSF+JPA) 65 利用者の 体験価値 サービスの 振る舞い 静的な 構造 開発 プロセス 動的な 構成 企画 プロセス 運用 プロセス 業務 プロセス パターン化され たUIしか受付け ない JSF+JPAで可能 な限り生産性を 向上 安定稼働を監視 コールドスタンバイで の信頼性確保で十分 役割分担によるプロセ ス、ユーザの追加 新しい商品を扱うこと で属性の追加要求 受注処理や配送処理が 簡単に行える
  • 67. Copyright© Growth xPartners, Inc. All rights reserved. 設計の進め方 • Microservicesの落とし穴 –ドメイン毎の独自性を強くすると、全体的な保守性 が下がってくる可能性が高い » だからこそ、フルスタックエンジニアが求められるわけで すが –何事もバランスが肝心 66
  • 68. Copyright© Growth xPartners, Inc. All rights reserved. Q&A 67