Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
プロジェクトのすすめ vol.3 #TechLunch
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Livesense Inc.
PRO
April 21, 2014
Technology
53
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
プロジェクトのすすめ vol.3 #TechLunch
プロジェクトのすすめ vol.3
2012/08/01 (水) @ Livesense TechLunch
発表者:島田 喜裕
Livesense Inc.
PRO
April 21, 2014
More Decks by Livesense Inc.
See All by Livesense Inc.
Rubyはただの⾔語に⾮ず
livesense
PRO
0
430
28新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
110
27新卒_総合職採用_会社説明資料
livesense
PRO
0
6k
27新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
11k
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
510
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
1
1.7k
データ基盤の負債解消のためのリプレイス
livesense
PRO
0
640
26新卒_総合職採用_会社説明資料
livesense
PRO
0
13k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
2
69k
Other Decks in Technology
See All in Technology
Control Planeで育てるBtoB SaaSの認証基盤 - SRE NEXT 2026
pokohide
1
1.5k
ローカルLLMとLINE Botの組み合わせ その3 / LINE DC Generative AI Meetup #8
you
PRO
0
120
プロンプト_きのこカンファレンス2026_LT
yurufuwahealer
0
140
「ちゃんとやっている」は独りよがりだった ― 不安に寄り添うインシデント対応へ / Towards incident response that addresses anxieties
chmikata
1
3.6k
Claude Codeとハーネスについて考えてみる
oikon48
18
8.7k
Terraform共通モジュールをチーム横断で“変えられる”運用へ ― リリースと適用の分離
kekke_n
0
1.7k
“全部コピーしない”ファイルデータの活用 : — FSx for ONTAP × S3 Tables × Icebergで作るメタデータカタログ
yoshiki0705
0
550
SRE依存からの脱却 運用を開 発チームへ移す、 フルサイ クル開 発体制の実践
joooee0000
0
1.8k
End-to-Endで考える信頼性 —LINEアプリにおけるクライアント開発×SRE連携の実践
maruloop
3
3k
環境凍結という Toil を倒す -セルフサービス型 Ephemeral テスト環境の 設計と実践
shirouz
1
1.5k
Kotlin 開発のツラミを爆破した話! / Explode the difficulty of Kotlin dev!
eller86
0
150
スタートアップにおけるアジャイルの実践について #shibuyagile
murabayashi
3
2.1k
Featured
See All Featured
Accessibility Awareness
sabderemane
1
150
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
How to Ace a Technical Interview
jacobian
281
24k
Code Review Best Practice
trishagee
74
20k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
63
55k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
340
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
300
Ruling the World: When Life Gets Gamed
codingconduct
0
270
How to make the Groovebox
asonas
2
2.3k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
270
Done Done
chrislema
186
16k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Transcript
プロジェクトのすすめ3 ユースケースについて
TDDのFAQ ▪テスト駆動開発 (TDD) を始めたばかりの、次のようなよくある 質問 どれくらい事前設計をするのでしょうか?どうすればいつやめる かわかるのでしょうか? ↓
TDDのFAQ ▪テスト駆動開発 (TDD) を始めたばかりの、次のようなよくある 質問 どれくらい事前設計をするのでしょうか?どうすればいつやめる かわかるのでしょうか? ↓ 何を構築すべきかわかるまでです。
TDDで補えない事 • 良いプログラムは開発できるが、良いシステム を開発できるわけではない • なんらかの開発プロセスは必要 ◦ アジャイルやウォーターフォールなど
プログラムの仕様と要件 • システム開発の目的は顧客の要件の実現 ◦ 仕様が要件を満たしていなければ本末転倒 • 要件から「何を構築するか」を設計する
「何を構築するか?」を決める • 顧客の言葉を使ったシステムの使い方 ◦ ユースケース ◦ ユーザストーリー • システムの外部的な振る舞い ◦
画面モックアップ
方向付けフェーズ ユースケースモデルは、予測されるほとんどのユースケースを リストするが、最初に詳述するのは10%ぐらい。 システムの範囲、目的、リスクをとらえた大まかなビジョンを作 成するために行われる。
• 文書資料はさほど多くなくて良い • プロジェクトにとって本当に価値のある成果物だけを作成 し、価値がはっきりしないものは作成しない。 • 完全な仕様を作成することは重要ではない。 ◦ プログラミングやテストから得られた貴重なフィードバッ クをもとに詳細化していく基礎となる、おおまかな文書を
作成。 多くの場合、成果物やモデルを作成する際に重要なことは文 書や図そのものではなく、考察し、分析し、先を見越した準備を 整えることにあります。 これは「モデリングの最も重要な価値は、信頼できる仕様をま とめることではなく、理解を深めることである」 とするアジャイル モデリングの考え方そのもの。
None
戦闘準備に入ると計画は役に立 たぬことを幾度も思い知った。 しかし、計画を立てぬわけにはい かなかった アイゼンハワー
定義 • アクタ:人(役割によって識別される)、コンピュータシステム、 組織。振る舞いを持つ何か。 ◦ 例)レジ係り • シナリオ:アクタと目的のシステムとの間で行われるアクショ ンおよび相互作用の特定シーケンス。システムの使い方の 特定のストーリー。
ユースケース:目標達成のためにシステムを使用するアクタを 記述した、正常なシナリオおよび失敗のシナリオの関連性のあ るまとまり。
ユースケースモデル • ユースケースは図ではなくテキスト文書のこと。 • ユースケースモデリングは主に、作図ではなくテ キストを書くという行為を指す。 新米のユースケースモデラはテキストでストーリー を書くという単純だけれども集中力を要する作業よ り、ユースケース図、ユースケース関係、ユース ケースパッケージなど二次的な作業にとらわれる
傾向がある
ユースケースを作成する理由 ユースケースはものごとを単純にする優れた方法 であり、問題領域の専門家や要件の提供者が自 分でユースケースを書いたり、書く作業に参加した りできるようになる。 • 単純で分かり易ければ、だれにとっても、特に 顧客にとっても、自分たちの目標を定義したりレ ビューしたりする際に利用しやすい。 •
重要なことを見落とすリスクも小さくなる
ユーザの側からみた目標と立場を協調できる。 「こ のシステムを使うのは誰か。彼らの典型的な使い 方のシナリオは何か。目標は何か」を問いかける。 単にシステムフィーチャーの リストを問うのに比べて、よりユーザを重視。 ユースケースの強みは、レベルは詳しさの程度を 高めたり低めたりできるところ。
アクタの種類 • 主要アクタ・・・システムを使うことによって達成 されるユーザ目標をもつ。例)レジ係り • 補助アクタ・・・システムに情報を提供する。コン ピュータシステムであることが多いが、人や組織 である場合もある。例)自動化された支払い承 認サービス •
舞台裏アクタ・・・ユースケースの振る舞いに関 心を持つが、主要アクタでも補助アクタでもない アクタ。例)政府税務機関
ユースケースの書式 ユースケースは書式や正式さの度合いを変えて書くことができ る • 簡素・・・短い1パラグラフの要約で、通常は主要な正常シナ リオを表す。 • 略装・・・非公式なパラグラフ形式。いくつかのパラグラフに 別れ、様々なシナリオを記述。 •
盛装・・・すべてのステップとバリエーションが詳細に書か れ、事前条件や正常時のような補助的なセクションもある。
盛装のユースケース テンプレートの例
指針 • 簡潔なユースケースを書く • ブラックボックスユースケース・・・システムの内 部動作も、システムのコンポーネントも、設計も 説明しない。「どのように」 を決めずに、システ ムが「何を」行わなければならないかを指定。
ユースケース駆動 反復型(イテレーション)開発手法におけるユースケースの扱い • 機能的要件が主としてユースケースに記録される。他の要 件テクニック(機能リストなど)は、使うにしても二次的。 • ユースケースが反復型計画の重要な部分を占める。反復の 作業は、部分的にはユースケースの一部のシナリオまたは ユースケース全体を選ぶことによって定まる。またユース ケースは見積りの重要な材料でもある。
• ユースケース実現化が設計を駆動。 • ユーザにマニュアルの編成にも影響を及ぼす。 • 機能テストまたはシステムテストはユースケースのシナリオ に対応。
最後に はじめから「すべてを正しく」しなければならないと思いつめると 分析麻痺に陥り、行き詰る。 反復しながら進化的に考える。 ユースケースは推敲を経るうちに少しの手間で反復的に進化し ていくイメージ。
次回 プロジェクトのすすめ?