Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
140
エンジニアリング 💰Moneyジャー / Engineering Money-ger
kenchan
2
790
Lv1,2の開発生産性を経営と繋ぐ
kenchan
4
2k
「トップ10プランナー」からはじめる目標設定
kenchan
5
4.1k
負債と言わないことが負債と向き合うこと
kenchan
5
4.3k
可用性No.1へ!「カラーミーショップ」のリ・アーキテクティング
kenchan
0
160
カラーミーショップは私たちが作っています
kenchan
0
1.6k
カラーミーショップ 2022 / COLORME SHOP 2022
kenchan
0
700
Amazon RDS移行のための 性能検証でわかった2つのこと
kenchan
3
4.1k
Other Decks in Technology
See All in Technology
AI時代のインシデント対応 〜時代を切り抜ける、組織アーキテクチャ〜
jacopen
4
180
私も懇親会は苦手でした ~苦手だからこそ懇親会を楽しむ方法~ / 20251127 Masaki Okuda
shift_evolve
PRO
4
500
adk-samples に学ぶデータ分析 LLM エージェント開発
na0
3
1.1k
TypeScript×CASLでつくるSaaSの認可 / Authz with CASL
saka2jp
2
170
2025 DORA Reportから読み解く!AIが映し出す、成果を出し続ける組織の共通点 #開発生産性_findy
takabow
2
910
re:Invent2025とAWS Builder Cards Resilience Expansionのご紹介
tsuwa61
1
130
経営から紐解くデータマネジメント
pacocat
9
1.8k
Flutter Thread Merge - Flutter Tokyo #11
itsmedreamwalker
1
120
段階的に進める、 挫折しない自宅サーバ入門
yu_kod
5
2.1k
Active Directory 勉強会 第 6 回目 Active Directory セキュリティについて学ぶ回
eurekaberry
15
5.3k
Modern Data Stack大好きマンが語るSnowflakeの魅力
sagara
0
210
小規模チームによる衛星管制システムの開発とスケーラビリティの実現
sankichi92
0
170
Featured
See All Featured
The Language of Interfaces
destraynor
162
25k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Building Adaptive Systems
keathley
44
2.8k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Code Reviewing Like a Champion
maltzj
527
40k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Practical Orchestrator
shlominoach
190
11k
Transcript
◦◦プロジェクト ××機能開発の現状と未来
諸注意 UXとか利用者のメリットみたいなのは意図的に外 しています。 ◦◦◦◦の歴史を知らない人が書いたので、おかしな ところはつっこんでください。
アジェンダ 1. ◦◦開発の進め方の確認と提案 2. (秘密1) 3. (秘密2)
開発の進め方、考え方の確認と提案 • イテレーティブでインクリメンタルな開発プロセス を採用します プロジェクトの成果物は 「開発チーム」と「プロダクト」です
イテレーティブで(ry とは • 本当に(欲しいもの|必要とされているもの)は誰 もわからないという前提に立つ • プロダクトを少しずつ作り(インクリメンタル)、 チームが繰り返し学習することができる(イテ レーティブ)、プロセスを採用する必要がある
よくある誤解 「アジャイルなので事前に設計しません」 「スクラムなので割り込みはできません」 「アジャイルなので[ここにあなたが嫌いな作業を入 れてください]はやりません」
必要十分な設計と実装と計画 • 必要十分な設計 ◦ 1年後を考慮した複雑な設計より、必要なときに変更で きるシンプルな設計を • メンテナンス可能なコード ◦ テストしにくいかっこいいコードより、テストしやすいシン
プルなコードを • 現実的な見積りと計画 ◦ 会議室で引かれた夢のような計画より、現実に即した実 現可能な計画を
アーキテクトの重要性 イテレーティブかつ(ry に限らないけど、 アーキテクト(の帽子をかぶれる人)は超重 要 (それについて書いた社内SNSのURL)
イテレーティブ(ry とは • 設計しないのではなく設計しつづける ◦ 長期的な視点を持つ人は超重要 • 行き当たりばったりなコードを書くのではなく、い つでも変更できるシンプルなコードを書く •
計画通りに進めるのではなく、現実を踏まえた 実現可能な計画を立て続ける
以上をふまえて、 ××とどう戦っていけばいいか (この先社外秘につき10枚くらい削除されている)
具体的なアイデア • アプリケーション内でDirty Hackをしない ◦ やるならライブラリ化するまでやれ • フレームワークやライブラリのレールを外れない ◦ 外れないとできない要件はできるだけ優先度を下げる
• ××機能の仮想コードを書いてみる ◦ ATDDの真似事 • 動作する◦◦ができた頃に「××機能」の仮見積りを行い、定期的に見積り直すこと で技術的負債を可視化する ◦ 技術的負債トレンドチャート ◦ アジャイルシンガポールに行っている安井さんからの入電
必要十分な設計と実装と計画 • 必要十分な設計 ◦ 1年後の事を考慮した複雑な設計より、必要なときに変 更できるシンプルな設計を • メンテナンス可能なコード ◦ テストしにくいかっこいいコードより、テストしやすいシン
プルなコードを • 現実的な見積りと計画 ◦ 会議室で引かれた夢のような計画より、現実に即した実 現可能な計画を
まとめ • 現時点で××機能の設計をするのは現実的では ない • あとで追加できるようにとにかくシンプルな設計 と実装を心がける • なるべく早いタイミングで、そのときの設計と実 装を踏まえた計画、見積り、設計を考えてみる
おわり