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.8k
イテレーティブかつインクリメンタルな開発のお話 / iterative-and-incremental-development-overview
社内のとあるプロジェクトの意識共有のために作ったスライドから社外秘を除いたものです。
Kenichi Takahashi
November 21, 2014
Tweet
Share
More Decks by Kenichi Takahashi
See All by Kenichi Takahashi
実践、マルチクラウド環境でのコスト管理の現状と未来
kenchan
0
23
エンジニアリング 💰Moneyジャー / Engineering Money-ger
kenchan
2
650
Lv1,2の開発生産性を経営と繋ぐ
kenchan
4
1.9k
「トップ10プランナー」からはじめる目標設定
kenchan
5
3.8k
負債と言わないことが負債と向き合うこと
kenchan
5
4k
可用性No.1へ!「カラーミーショップ」のリ・アーキテクティング
kenchan
0
120
カラーミーショップは私たちが作っています
kenchan
0
1.5k
カラーミーショップ 2022 / COLORME SHOP 2022
kenchan
0
660
Amazon RDS移行のための 性能検証でわかった2つのこと
kenchan
3
4k
Other Decks in Technology
See All in Technology
2025advance01
minamizaki
0
130
TechBull Membersの開発進捗どうですか!?
rvirus0817
0
200
Slackひと声でブログ校正!Claudeレビュー自動化編
yusukeshimizu
3
180
Eight Engineering Unit 紹介資料
sansan33
PRO
0
3.2k
オープンソースのハードウェアのコンテストに参加している話
iotengineer22
0
560
MCP Clientを活用するための設計と実装上の工夫
yudai00
1
800
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
8
65k
MCP で繋ぐ Figma とデザインシステム〜LLM を使った UI 実装のリアル〜
kimuson
2
1.3k
CSS polyfill とその未来
ken7253
0
140
技術書典18結果報告
mutsumix
2
180
コードの考古学 〜労務システムから発掘した成長の糧〜
kenta_smarthr
1
1.2k
SmartHRの複数のチームにおけるMCPサーバーの活用事例と課題
yukisnow1823
2
1.2k
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
What's in a price? How to price your products and services
michaelherold
245
12k
The Language of Interfaces
destraynor
158
25k
Why Our Code Smells
bkeepers
PRO
336
57k
For a Future-Friendly Web
brad_frost
178
9.7k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
123
52k
How to train your dragon (web standard)
notwaldorf
92
6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
34k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
180
53k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Transcript
◦◦プロジェクト ××機能開発の現状と未来
諸注意 UXとか利用者のメリットみたいなのは意図的に外 しています。 ◦◦◦◦の歴史を知らない人が書いたので、おかしな ところはつっこんでください。
アジェンダ 1. ◦◦開発の進め方の確認と提案 2. (秘密1) 3. (秘密2)
開発の進め方、考え方の確認と提案 • イテレーティブでインクリメンタルな開発プロセス を採用します プロジェクトの成果物は 「開発チーム」と「プロダクト」です
イテレーティブで(ry とは • 本当に(欲しいもの|必要とされているもの)は誰 もわからないという前提に立つ • プロダクトを少しずつ作り(インクリメンタル)、 チームが繰り返し学習することができる(イテ レーティブ)、プロセスを採用する必要がある
よくある誤解 「アジャイルなので事前に設計しません」 「スクラムなので割り込みはできません」 「アジャイルなので[ここにあなたが嫌いな作業を入 れてください]はやりません」
必要十分な設計と実装と計画 • 必要十分な設計 ◦ 1年後を考慮した複雑な設計より、必要なときに変更で きるシンプルな設計を • メンテナンス可能なコード ◦ テストしにくいかっこいいコードより、テストしやすいシン
プルなコードを • 現実的な見積りと計画 ◦ 会議室で引かれた夢のような計画より、現実に即した実 現可能な計画を
アーキテクトの重要性 イテレーティブかつ(ry に限らないけど、 アーキテクト(の帽子をかぶれる人)は超重 要 (それについて書いた社内SNSのURL)
イテレーティブ(ry とは • 設計しないのではなく設計しつづける ◦ 長期的な視点を持つ人は超重要 • 行き当たりばったりなコードを書くのではなく、い つでも変更できるシンプルなコードを書く •
計画通りに進めるのではなく、現実を踏まえた 実現可能な計画を立て続ける
以上をふまえて、 ××とどう戦っていけばいいか (この先社外秘につき10枚くらい削除されている)
具体的なアイデア • アプリケーション内でDirty Hackをしない ◦ やるならライブラリ化するまでやれ • フレームワークやライブラリのレールを外れない ◦ 外れないとできない要件はできるだけ優先度を下げる
• ××機能の仮想コードを書いてみる ◦ ATDDの真似事 • 動作する◦◦ができた頃に「××機能」の仮見積りを行い、定期的に見積り直すこと で技術的負債を可視化する ◦ 技術的負債トレンドチャート ◦ アジャイルシンガポールに行っている安井さんからの入電
必要十分な設計と実装と計画 • 必要十分な設計 ◦ 1年後の事を考慮した複雑な設計より、必要なときに変 更できるシンプルな設計を • メンテナンス可能なコード ◦ テストしにくいかっこいいコードより、テストしやすいシン
プルなコードを • 現実的な見積りと計画 ◦ 会議室で引かれた夢のような計画より、現実に即した実 現可能な計画を
まとめ • 現時点で××機能の設計をするのは現実的では ない • あとで追加できるようにとにかくシンプルな設計 と実装を心がける • なるべく早いタイミングで、そのときの設計と実 装を踏まえた計画、見積り、設計を考えてみる
おわり