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
イテレーティブかつインクリメンタルな開発のお話 / iterative-and-increme...
Search
Kenichi Takahashi
November 21, 2014
Technology
2
1.9k
イテレーティブかつインクリメンタルな開発のお話 / iterative-and-incremental-development-overview
社内のとあるプロジェクトの意識共有のために作ったスライドから社外秘を除いたものです。
Kenichi Takahashi
November 21, 2014
Tweet
Share
More Decks by Kenichi Takahashi
See All by Kenichi Takahashi
実践、マルチクラウド環境でのコスト管理の現状と未来
kenchan
0
78
エンジニアリング 💰Moneyジャー / Engineering Money-ger
kenchan
2
690
Lv1,2の開発生産性を経営と繋ぐ
kenchan
4
1.9k
「トップ10プランナー」からはじめる目標設定
kenchan
5
3.9k
負債と言わないことが負債と向き合うこと
kenchan
5
4k
可用性No.1へ!「カラーミーショップ」のリ・アーキテクティング
kenchan
0
130
カラーミーショップは私たちが作っています
kenchan
0
1.6k
カラーミーショップ 2022 / COLORME SHOP 2022
kenchan
0
680
Amazon RDS移行のための 性能検証でわかった2つのこと
kenchan
3
4k
Other Decks in Technology
See All in Technology
IPA&AWSダブル全冠が明かす、人生を変えた勉強法のすべて
iwamot
PRO
2
160
さくらのIaaS基盤のモニタリングとOpenTelemetry/OSC Hokkaido 2025
fujiwara3
3
450
ゼロからはじめる採用広報
yutadayo
3
970
MobileActOsaka_250704.pdf
akaitadaaki
0
150
SRE不在の開発チームが障害対応と 向き合った100日間 / 100 days dealing with issues without SREs
shin1988
0
130
Lakebaseを使ったAIエージェントを実装してみる
kameitomohiro
0
140
SEQUENCE object comparison - db tech showcase 2025 LT2
nori_shinoda
0
150
使いたいMCPサーバーはWeb APIをラップして自分で作る #QiitaBash
bengo4com
0
2k
面倒な作業はAIにおまかせ。Flutter開発をスマートに効率化
ruideengineer
0
260
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
52
20k
FOSS4G 2025 KANSAI QGISで点群データをいろいろしてみた
kou_kita
0
400
MUITにおける開発プロセスモダナイズの取り組みと開発生産性可視化の取り組みについて / Modernize the Development Process and Visualize Development Productivity at MUIT
muit
2
17k
Featured
See All Featured
Optimizing for Happiness
mojombo
379
70k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
We Have a Design System, Now What?
morganepeng
53
7.7k
Fireside Chat
paigeccino
37
3.5k
Side Projects
sachag
455
42k
The Language of Interfaces
destraynor
158
25k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
GitHub's CSS Performance
jonrohan
1031
460k
For a Future-Friendly Web
brad_frost
179
9.8k
How GitHub (no longer) Works
holman
314
140k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Transcript
◦◦プロジェクト ××機能開発の現状と未来
諸注意 UXとか利用者のメリットみたいなのは意図的に外 しています。 ◦◦◦◦の歴史を知らない人が書いたので、おかしな ところはつっこんでください。
アジェンダ 1. ◦◦開発の進め方の確認と提案 2. (秘密1) 3. (秘密2)
開発の進め方、考え方の確認と提案 • イテレーティブでインクリメンタルな開発プロセス を採用します プロジェクトの成果物は 「開発チーム」と「プロダクト」です
イテレーティブで(ry とは • 本当に(欲しいもの|必要とされているもの)は誰 もわからないという前提に立つ • プロダクトを少しずつ作り(インクリメンタル)、 チームが繰り返し学習することができる(イテ レーティブ)、プロセスを採用する必要がある
よくある誤解 「アジャイルなので事前に設計しません」 「スクラムなので割り込みはできません」 「アジャイルなので[ここにあなたが嫌いな作業を入 れてください]はやりません」
必要十分な設計と実装と計画 • 必要十分な設計 ◦ 1年後を考慮した複雑な設計より、必要なときに変更で きるシンプルな設計を • メンテナンス可能なコード ◦ テストしにくいかっこいいコードより、テストしやすいシン
プルなコードを • 現実的な見積りと計画 ◦ 会議室で引かれた夢のような計画より、現実に即した実 現可能な計画を
アーキテクトの重要性 イテレーティブかつ(ry に限らないけど、 アーキテクト(の帽子をかぶれる人)は超重 要 (それについて書いた社内SNSのURL)
イテレーティブ(ry とは • 設計しないのではなく設計しつづける ◦ 長期的な視点を持つ人は超重要 • 行き当たりばったりなコードを書くのではなく、い つでも変更できるシンプルなコードを書く •
計画通りに進めるのではなく、現実を踏まえた 実現可能な計画を立て続ける
以上をふまえて、 ××とどう戦っていけばいいか (この先社外秘につき10枚くらい削除されている)
具体的なアイデア • アプリケーション内でDirty Hackをしない ◦ やるならライブラリ化するまでやれ • フレームワークやライブラリのレールを外れない ◦ 外れないとできない要件はできるだけ優先度を下げる
• ××機能の仮想コードを書いてみる ◦ ATDDの真似事 • 動作する◦◦ができた頃に「××機能」の仮見積りを行い、定期的に見積り直すこと で技術的負債を可視化する ◦ 技術的負債トレンドチャート ◦ アジャイルシンガポールに行っている安井さんからの入電
必要十分な設計と実装と計画 • 必要十分な設計 ◦ 1年後の事を考慮した複雑な設計より、必要なときに変 更できるシンプルな設計を • メンテナンス可能なコード ◦ テストしにくいかっこいいコードより、テストしやすいシン
プルなコードを • 現実的な見積りと計画 ◦ 会議室で引かれた夢のような計画より、現実に即した実 現可能な計画を
まとめ • 現時点で××機能の設計をするのは現実的では ない • あとで追加できるようにとにかくシンプルな設計 と実装を心がける • なるべく早いタイミングで、そのときの設計と実 装を踏まえた計画、見積り、設計を考えてみる
おわり