Tfpモデリングスペキュレーション
-
Upload
eiichi-hayashi -
Category
Documents
-
view
1.049 -
download
1
description
Transcript of Tfpモデリングスペキュレーション
Requirement Development Alliance
TFPモデリングスペキュレーションmixiのQAネタから、ITPro 原稿作成を巡って
• セントラルソフト株式会社• システム2部 システム開発課 課長• 林 栄一
1
Requirement Development Alliance /36
スペキュレーションとは?
あーでもないこーでもないと、いろいろ検討すること。
22
Requirement Development Alliance /36
目的TFPモデリングについてみんなであーでもない、こーでもないをやりたい!普通の人が迷っている過程をそのまま表現したい。
新しい可能性?こうしたらもっとわかりやすいかも?こうしたらもっと簡単にまとめられるかも?あーでもない、こーでもないをとおしてTFPないしはモデリングって自分でもできるかも!
33
Requirement Development Alliance /36
自己紹介東京工芸大学 工学部電子工学課 卒楽器メーカー 4年半ほど在籍NYに1年、現地の会社と共同開発
陶磁器の卸 父の会社を継ぐ 2年ぐらい会社を整理フリー時代 1年ぐらいJR関係の研究開発の会社 2年ぐらいネットワーク保守業務 1年ほどセントラルソフト入社 ただいま11年目初めてのIT業界
44
Requirement Development Alliance /36
やってきたもの(開発)電子楽器の開発
ドラムマシン、エフェクター、某P社カラオケアンプ
JR関連
デジタルATS、山梨リニアモーターカー運行システム →OMTで設計
フレームワークの開発
10年ほどまえ、IOCコンテナをベースとしたJavaとVBをシームレスにつなくコンポーネントフレームワークの開発。萩本さんのDROPを参考に。
マルチスレッド環境とシングルスレッド環境をつなぐしくみ
業務アプリ
大規模基幹業務のEJB化PJの共通チームでフレームワークの開発
物流系、薬局関連、製造業関係
音響制御系
サラウンドミキサー装置 →愛地球博NHKパビリオンで上映
55
Requirement Development Alliance /36
やってきたもの
6
物作り大好きです。
オブジェクト大好きです。
6
Requirement Development Alliance /36
やってきたもの(教育制度)
7
IT業界に入って、あまりにもモノ作りの喜びやチームワークの醍醐味が少ない環境に愕然としたことから、まず現場を横断した研修制度から作ろうと思った。
当初は業務のかたわら、直接新人研修をリード。研修組織を、8年かけてこつこつと大きくしていって現在40名ほどの現場横断の組織に成長させた。
現在は複数の研修組織ワーキンググループのとりまとめをやっています。
7
Requirement Development Alliance /36
最近
8
今年ぐらいから表にではじめてます。要求開発アライアンスオブジェクト倶楽部でライトニングトークス「ドラムサークルとプロジェクトファシリテーション」
萩本さんには怒られぱなし。(笑)勉強しなさい!
8
Requirement Development Alliance /36
本題です。
原稿作成と今回の発表のきっかけTFP分割の復習最初のお題モデリングの目的によるサービスの違い価値提供者と受給者の整理 システムの目的を再設定「物理的な場」から「抽象的な場」へ
99
Requirement Development Alliance /36
きっかけ
牛尾さんや佐々木さんのMLでのメッセージ 「ITProの原稿を書いてみませんか」
いっちょやったるか!
とは言え、ネタがなかったんで、mixiの「要求開発アライアンスコミュ」でのQAを題材に、 宮原さんや佐々木 さんや牛尾さんなどのご協力をいただきつつ記事を検討。
1010
Requirement Development Alliance /36
作ってみたはいいけど、、
ちょっと公開するにはつっこみどころがおおいなぁ。(萩本さん談)
勉強会でみんなで考えてみるというのもいいトレーニングだろう・・(萩本さん談)
11
要は没原稿ですわ。(爆)※関西弁でおねがします。
11
Requirement Development Alliance /36
ともかく
TFPモデリングをあれこれ考える機会として提供したい。
できれば、みなさんのお知恵を拝借して、公開できる原稿として完成させたい!
1212
Requirement Development Alliance /36
ですから
つっこみとご意見は大歓迎!
1313
Requirement Development Alliance /36
TFP分割の復習
14
萩本さんの資料「TFP分割の狙い」から抜粋させていただきます。
「TFP分割の狙い OpenThology1.0」より抜粋
14
Requirement Development Alliance /36
TFP分割の復習
15
!
!"#$%&'()*&+ ,#-&+.$)"#$%&'()*&+/0102345010234501023450102345
!!!!"""" #$%&#$%&#$%&#$%&'('('('()*)*)*)*+,-.+,-.+,-.+,-./01/01/01/01
!"#$!"#$!"#$!"#$%&%&%&%&
'()*"'()*"'()*"'()*"+,-+,-+,-+,-%&%&%&%&
.//0.//0.//0.//0111122223333
.//4.//4.//4.//4111122223333
'()*"'()*"'()*"'()*"+,-+,-+,-+,-%&%&%&%&
5555666677778,98,98,98,9%&%&%&%&
.//4.//4.//4.//41111:/:/:/:/3333
::::1111
0000;;;;3333
<=<=<=<=>>>>?@?@?@?@
<=<=<=<=>>>>
?@?@?@?@
5555666677778,98,98,98,9%&%&%&%&
AAAA-B-B-B-BCCCCDEF,-DEF,-DEF,-DEF,-%&%&%&%&
AAAA-B-B-B-BCCCCDEF,-DEF,-DEF,-DEF,-%&%&%&%&'()*"'()*"'()*"'()*"+,-+,-+,-+,-%&%&%&%&
!"#$%&'()*&+ ,#-&+.$)"#$%&'()*&+/0102345010234501023450102345
234526789$:;<526=>?
! 234526" @A! B7CDE)FGH1IAJ*234KLMNO)PHQ=R=STUV)WXYHZ[\]/R^I
" _A! `abcde7=fg/hiIcdjk=lmn/oR1!#$%$&7pqrPH1psR^I
! 89$:;<b;t&e526" @A! `aOR;t&MuvH1wx)T`almMyzD{|Rlm}~MrPS�1I
" ��! lm=�)`aOR;t&/��H17T`a=�)f�/���qp��wXT`a=�v�fg7T�Q=�7�Q=�7=fg/��H1�7)RXUV)[\)R1I
15
Requirement Development Alliance /36
TFP分割の復習
16
!
!"#$%&'()*&+ ,#-&+.$)"#$%&'()*&+/0102345010234501023450102345
!"#!"#!"#!"#$%&'$%&'$%&'$%&'
!"#!"#"!"#!"#"!"#!"#"!"#!"#"$%$%$%$%
!""!""!""!""&&&&'('('('())))
!"#*#+,-!"#*#+,-!"#*#+,-!"#*#+,-....""""/0/0/0/0
!"#$%1111&'$()#*$1111+,-(.1111
!"#$%!"#$%
&'$()#*$
&'$()#*$
+,-(.
!"#$!"#$!"#$!"#$%&'(%&'(%&'(%&'(!"#$!"#$!"#$!"#$)*+'()*+'()*+'()*+'(,,,,!"#$!"#$!"#$!"#$----././././0000121212123333,,,,!"#$!"#$!"#$!"#$----454545450000121212123333
2342342342345678567856785678
9:6;<=9:6;<=9:6;<=9:6;<=>?@A>?@A>?@A>?@A
BCBCBCBCDEDEDEDEFGHI<JKFGHI<JKFGHI<JKFGHI<JKDEDEDEDELMNODELMNODELMNODELMNODE
6789678967896789
:;:;:;:;0000<=<=<=<=
>?>?>?>?@@@@'('('('(
AAAABBBBCD:;CD:;CD:;CD:;!"#$EFGHI!"#$EFGHI!"#$EFGHI!"#$EFGHIJKLJKLJKLJKL
!"#$%&'()*&+ ,#-&+.$)"#$%&'()*&+/0102345010234501023450102345
!"#()*
! +,-./(0123455" +,-./(67289:*;
! <=>?@ABCDEDFGHIJ" +,-.KCL DMN:*;
" OPQ<=>?@ABCRST2UVWEXYZ[MF\]ZY;
! ^_(`abc=deRfg4:-./2hi4:*" #$%QBjklmnjoakK
! 8pJ-.KCLEqr" sC`K=mC?J&'()*+,(t-.+(/2uvwx
! aKys`z{J+,-.KCL2f|" 67(}~2���G-.KCL
16
Requirement Development Alliance /36
TFP分割の復習
17
!
!"#$%&'()*&+ ,#-&+.$)"#$%&'()*&+/0102345010234501023450102345
!"#!"#!"#!"#$%&'$%&'$%&'$%&'
!"#!"#"!"#!"#"!"#!"#"!"#!"#"$%$%$%$%
!""!""!""!""&&&&'('('('())))
!"#*#+,-!"#*#+,-!"#*#+,-!"#*#+,-....""""/0/0/0/0
!"#$%1111&'$()#*$1111+,-(.1111
!"#$%!"#$%
&'$()#*$
&'$()#*$
+,-(.
!"#$!"#$!"#$!"#$%&'(%&'(%&'(%&'(!"#$!"#$!"#$!"#$)*+'()*+'()*+'()*+'(,,,,!"#$!"#$!"#$!"#$----././././0000121212123333,,,,!"#$!"#$!"#$!"#$----454545450000121212123333
2342342342345678567856785678
9:6;<=9:6;<=9:6;<=9:6;<=>?@A>?@A>?@A>?@A
BCBCBCBCDEDEDEDEFGHI<JKFGHI<JKFGHI<JKFGHI<JKDEDEDEDELMNODELMNODELMNODELMNODE
6789678967896789
:;:;:;:;0000<=<=<=<=
>?>?>?>?@@@@'('('('(
AAAABBBBCD:;CD:;CD:;CD:;!"#$EFGHI!"#$EFGHI!"#$EFGHI!"#$EFGHIJKLJKLJKLJKL
!"#$%&'()*&+ ,#-&+.$)"#$%&'()*&+/0102345010234501023450102345
!"#()*
! +,-./(0123455" +,-./(67289:*;
! <=>?@ABCDEDFGHIJ" +,-.KCL DMN:*;
" OPQ<=>?@ABCRST2UVWEXYZ[MF\]ZY;
! ^_(`abc=deRfg4:-./2hi4:*" #$%QBjklmnjoakK
! 8pJ-.KCLEqr" sC`K=mC?J&'()*+,(t-.+(/2uvwx
! aKys`z{J+,-.KCL2f|" 67(}~2���G-.KCL
17
Requirement Development Alliance /36
TFP分割の復習
18
!
!"#$%&'()*&+ ,#-&+.$)"#$%&'()*&+/0102345010234501023450102345
!"#!"#!"#!"#$%&'$%&'$%&'$%&'
!"#!"#"!"#!"#"!"#!"#"!"#!"#"$%$%$%$%
!""!""!""!""&&&&'('('('())))
!"#*#+,-!"#*#+,-!"#*#+,-!"#*#+,-....""""/0/0/0/0
!"#$%1111&'$()#*$1111+,-(.1111
!"#$%!"#$%
&'$()#*$
&'$()#*$
+,-(.
!"#$!"#$!"#$!"#$%&'(%&'(%&'(%&'(!"#$!"#$!"#$!"#$)*+'()*+'()*+'()*+'(,,,,!"#$!"#$!"#$!"#$----././././0000121212123333,,,,!"#$!"#$!"#$!"#$----454545450000121212123333
6666777789:;89:;89:;89:;!"#$<=>?@!"#$<=>?@!"#$<=>?@!"#$<=>?@ABCABCABCABC
45454545!"#$
DEDEDEDE%&'
!"#$%&'()*&+ ,#-&+.$)"#$%&'()*&+/0102345010234501023450102345
!"#()*+
$ ,-./01$2345678,./019:;<5=;>?@
#%&'(A
BCDEFGHI./01J$KL@
")*+,-*A
M")*'+,-*AJEFN@!.,*/9OPQL@
!.,*/A
$ RSTUV/$23TUV/WX(YZ[\]^9_7@
!.,*/A
BTUV/WX()`a+9bcL@A9d*>?@
")*+,-*A
MTUV/efghVfi(jk96l`m>?@0F47:123[4
#%&'(A
18
Requirement Development Alliance /36
TFP分割の復習
19
!
!"#$%&'()*&+ ,#-&+.$)"#$%&'()*&+/0102345010234501023450102345
!"#!"#!"#!"#$%&'$%&'$%&'$%&'
!"#!"#"!"#!"#"!"#!"#"!"#!"#"$%$%$%$%
!""!""!""!""&&&&'('('('())))
!"#*#+,-!"#*#+,-!"#*#+,-!"#*#+,-....""""/0/0/0/0
!"#$%1111&'$()#*$1111+,-(.1111
!"#$%!"#$%
&'$()#*$
&'$()#*$
+,-(.
!"#$!"#$!"#$!"#$%&'(%&'(%&'(%&'(!"#$!"#$!"#$!"#$)*+'()*+'()*+'()*+'(,,,,!"#$!"#$!"#$!"#$----././././0000121212123333,,,,!"#$!"#$!"#$!"#$----454545450000121212123333
6666777789:;89:;89:;89:;!"#$<=>?@!"#$<=>?@!"#$<=>?@!"#$<=>?@ABCABCABCABC
45454545!"#$
DEDEDEDE%&'
!"#$%&'()*&+ ,#-&+.$)"#$%&'()*&+/0102345010234501023450102345
!"#()*+
$ ,-./01$2345678,./019:;<5=;>?@
#%&'(A
BCDEFGHI./01J$KL@
")*+,-*A
M")*'+,-*AJEFN@!.,*/9OPQL@
!.,*/A
$ RSTUV/$23TUV/WX(YZ[\]^9_7@
!.,*/A
BTUV/WX()`a+9bcL@A9d*>?@
")*+,-*A
MTUV/efghVfi(jk96l`m>?@0F47:123[4
#%&'(A
19
Requirement Development Alliance /36
TFP分割の復習
20
!
!"#$%&'()*&+ ,#-&+.$)"#$%&'()*&+/0102345010234501023450102345
!"#$%&!"#$%&'(
!"#$!"#$!"#$!"#$%&%&%&%&!"#$
'()*+,-
+$./+$./+$./+$./
01010101+$./+$./+$./+$./
23232323
45454545678678678678 9*!$6789*!$6789*!$6789*!$678
:;:;:;:;678678678678
<=>$678<=>$678<=>$678<=>$678 9*!$6789*!$6789*!$6789*!$678
!"#?@AB?@AB?@AB?@AB
CCCC!$%&'DDDD
CCCC"(&)*%+&DDDD
CCCC#,-).DDDD
CCCCEFEFEFEFG=*G=*G=*G=*CCCC!"#$!"#$!"#$!"#$
H*$I*$H*$I*$H*$I*$H*$I*$CCCC+$./H*$+$./H*$+$./H*$+$./H*$
I*$I*$I*$I*$
J*K.LMN678J*K.LMN678J*K.LMN678J*K.LMN67801010101678678678678
CCCC01010101O$PO$PO$PO$PCCCC/0121323232323
CCCCJ*K.LMN678J*K.LMN678J*K.LMN678J*K.LMN678
CCCC456678678678678
CCCC34745454545
QR<QR<QR<QR<CCCC8!STUSTUSTUSTU
QR<QR<QR<QR<
CCCC<="VLP<="VLP<="VLP<="VLP
W*8W*8W*8W*8XYZXYZXYZXYZ
01[\01[\01[\01[\
GV*]GV*]GV*]GV*]
^_^_^_^_
`̀̀̀
aaaabbbb
cdcdcdcd efefefef 7gh-7gh-7gh-7gh- +GP+GP+GP+GP
iiiijjjj01[\01[\01[\01[\!"#$67O-k!"#$67O-k!"#$67O-k!"#$67O-klmnlmnlmnlmn
!"#$%&'()*&+ ,#-&+.$)"#$%&'()*&+/0102345010234501023450102345
'()
20
Requirement Development Alliance /36
モデリングに対しての不安?2名づつペアになって話しをします。
一人2分ずつ、片方ずつ話してください。聞いている方は言いたいことがあっても、途中で口を挟まずに相手の話を引き出す意図で聞いてください。
話す内容は、「モデリングに関してうまくいっていないこと、不安」です。モデリングに関して、業務でバリバリやっている方は、ご自分のもっているモデリングに関するビジョンを話してください。
2121
Requirement Development Alliance /36
さて、最初のお題
Mさんはサッカーの試合の運営を効率化するためにシステム化するよう上司から指示されました。
Mさんはまず、このための現状分析を要求開発のTFP分割手法を使って行おうとしました。
Mさん自身アマチュアのサッカーチームに所属して活躍するぐらいサッカー大好きなので、意気揚々とモデリングを行いました。
2222
Requirement Development Alliance /36
最初のモデル
2323
Requirement Development Alliance /36
問題点?
このモデルの問題点がなにかわかりますか?
2424
Requirement Development Alliance /36
第1のポイント
知っていることを全部書くのがモデリングではない。
目的を明確に。
2525
Requirement Development Alliance /36
ユースケース再考
2626
Requirement Development Alliance /36
第2のポイント
特にサービスを明確にするためのビジネスモデリングは、何を目的として書くかよって、記述するサービスが大きく異なります。
はじめから目的が明確ならいいのですが、目的が不明確あるいは、目的の本質が不明確なときには、このことがモデリングによって明確になることを意識することが重要です。
サッカーゲームそのものをモデル化するなら、観戦するとかチケットの購入は不要ですし、サッカーリーグ盛り上げることを目的としてモデル化するなら、プレイヤーや審判をモデル化するのはあまり意味がありません。
27
モデリングの目的によるサービスの違い
27
Requirement Development Alliance /36
目的はどっち?
28
?
?
?←どっち?→
28
Requirement Development Alliance /36
価値提供者と受給者の整理
2929
Requirement Development Alliance /36
システムの目的を再設定•すばらしい試合を見たい。•運営コストを削減したい。•みたい試合を逃さずにみてほしい。•チケット販売を効率よくしたい。
30
モデリングの目的は、これらの目的が関係する構造を「見える化」することである。
30
Requirement Development Alliance /36
システムの目的を再設定
31
BSC戦略マップにしてみると
31
Requirement Development Alliance /36
第3のポイント
価値の提供者と受給者を明確にすることによって、目的を明確にすることができる。(仮説)
モデリングの目的はビジネスの価値を生み出すことですから、一つの方法として現在あるサービスを誰が提供し、誰が受け取るかを意識することで目的を明確にしていくことができます。
3232
Requirement Development Alliance /36
価値と目的?
さて、本当に価値の提供者と受給者の関係を明確にすることで、目的が明確にできるでしょうか?
同じように2づつペアになって一人ずつ話してください。
3333
Requirement Development Alliance /36
作り直したモデル
3434
Requirement Development Alliance /36
第4のポイント「物理的な場」から「抽象的な場」へ
物理的な「場」の設定が必ずしも、ビジネス上の「場」とは一致しないものです。
観客席やフィールドなどの物理的な「場」を認識した後に、それらを資源として使うビジネス上の「場」とはなにかを考察することが重要です。(仮説)
3535
Requirement Development Alliance /36
第4のポイント「物理的な場」から「抽象的な場」へ
36
最初の図:
・観客席・フィールド
後の図:
・チケット売買・試合運営・試合企画
36
Requirement Development Alliance /36
補足
今回はあくまでTFP分割図のサンプルという意味合いで「サッカーの試合」を題材として取り上げています。
本来の業務においてはどこかをシステム化するために分析していると思いますので要求開発では、どこを「システム化」するか?ということを念頭において、モデル化する部分を絞り込みます。
3737
Requirement Development Alliance /36
さいごに
ご意見ご希望は反省会で。
ありがとうございました。
3838