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
エンジニアリング 💰Moneyジャー / Engineering Money-ger
kenchan
2
620
Lv1,2の開発生産性を経営と繋ぐ
kenchan
4
1.8k
「トップ10プランナー」からはじめる目標設定
kenchan
5
3.7k
負債と言わないことが負債と向き合うこと
kenchan
5
3.9k
可用性No.1へ!「カラーミーショップ」のリ・アーキテクティング
kenchan
0
110
カラーミーショップは私たちが作っています
kenchan
0
1.5k
カラーミーショップ 2022 / COLORME SHOP 2022
kenchan
0
640
Amazon RDS移行のための 性能検証でわかった2つのこと
kenchan
3
4k
ポストコロナの商売を支えるカラーミーショップのアーキテクチャのこれから / The new architecture of COLORME SHOP in the Post-COVID-19 world
kenchan
2
2k
Other Decks in Technology
See All in Technology
PicoRabbit: a Tiny Presentation Device Powered by Ruby
harukasan
PRO
2
260
MCPを活用した検索システムの作り方/How to implement search systems with MCP #catalks
quiver
13
7.1k
Microsoft の SSE の現在地
skmkzyk
0
180
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
140
【Oracle Cloud ウェビナー】ご希望のクラウドでOracle Databaseを実行〜マルチクラウド・ソリューション徹底解説〜
oracle4engineer
PRO
1
120
JPOUG Tech Talk #12 UNDO Tablespace Reintroduction
nori_shinoda
2
160
「経験の点」の位置を意識したキャリア形成 / Career development with an awareness of the “point of experience” position
pauli
4
110
より良い開発者体験を実現するために~開発初心者が感じた生成AIの可能性~
masakiokuda
0
220
コスト最適重視でAurora PostgreSQLのログ分析基盤を作ってみた #jawsug_tokyo
non97
1
750
地味にいろいろあった! 2025春のAmazon Bedrockアップデートおさらい
minorun365
PRO
1
490
OPENLOGI Company Profile for engineer
hr01
1
24k
Road to Go Gem #rubykaigi
sue445
0
990
Featured
See All Featured
Faster Mobile Websites
deanohume
306
31k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.7k
Building Applications with DynamoDB
mza
94
6.3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.1k
Into the Great Unknown - MozCon
thekraken
38
1.7k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
104
19k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.2k
How to Think Like a Performance Engineer
csswizardry
23
1.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.4k
Site-Speed That Sticks
csswizardry
5
500
Embracing the Ebb and Flow
colly
85
4.7k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Transcript
◦◦プロジェクト ××機能開発の現状と未来
諸注意 UXとか利用者のメリットみたいなのは意図的に外 しています。 ◦◦◦◦の歴史を知らない人が書いたので、おかしな ところはつっこんでください。
アジェンダ 1. ◦◦開発の進め方の確認と提案 2. (秘密1) 3. (秘密2)
開発の進め方、考え方の確認と提案 • イテレーティブでインクリメンタルな開発プロセス を採用します プロジェクトの成果物は 「開発チーム」と「プロダクト」です
イテレーティブで(ry とは • 本当に(欲しいもの|必要とされているもの)は誰 もわからないという前提に立つ • プロダクトを少しずつ作り(インクリメンタル)、 チームが繰り返し学習することができる(イテ レーティブ)、プロセスを採用する必要がある
よくある誤解 「アジャイルなので事前に設計しません」 「スクラムなので割り込みはできません」 「アジャイルなので[ここにあなたが嫌いな作業を入 れてください]はやりません」
必要十分な設計と実装と計画 • 必要十分な設計 ◦ 1年後を考慮した複雑な設計より、必要なときに変更で きるシンプルな設計を • メンテナンス可能なコード ◦ テストしにくいかっこいいコードより、テストしやすいシン
プルなコードを • 現実的な見積りと計画 ◦ 会議室で引かれた夢のような計画より、現実に即した実 現可能な計画を
アーキテクトの重要性 イテレーティブかつ(ry に限らないけど、 アーキテクト(の帽子をかぶれる人)は超重 要 (それについて書いた社内SNSのURL)
イテレーティブ(ry とは • 設計しないのではなく設計しつづける ◦ 長期的な視点を持つ人は超重要 • 行き当たりばったりなコードを書くのではなく、い つでも変更できるシンプルなコードを書く •
計画通りに進めるのではなく、現実を踏まえた 実現可能な計画を立て続ける
以上をふまえて、 ××とどう戦っていけばいいか (この先社外秘につき10枚くらい削除されている)
具体的なアイデア • アプリケーション内でDirty Hackをしない ◦ やるならライブラリ化するまでやれ • フレームワークやライブラリのレールを外れない ◦ 外れないとできない要件はできるだけ優先度を下げる
• ××機能の仮想コードを書いてみる ◦ ATDDの真似事 • 動作する◦◦ができた頃に「××機能」の仮見積りを行い、定期的に見積り直すこと で技術的負債を可視化する ◦ 技術的負債トレンドチャート ◦ アジャイルシンガポールに行っている安井さんからの入電
必要十分な設計と実装と計画 • 必要十分な設計 ◦ 1年後の事を考慮した複雑な設計より、必要なときに変 更できるシンプルな設計を • メンテナンス可能なコード ◦ テストしにくいかっこいいコードより、テストしやすいシン
プルなコードを • 現実的な見積りと計画 ◦ 会議室で引かれた夢のような計画より、現実に即した実 現可能な計画を
まとめ • 現時点で××機能の設計をするのは現実的では ない • あとで追加できるようにとにかくシンプルな設計 と実装を心がける • なるべく早いタイミングで、そのときの設計と実 装を踏まえた計画、見積り、設計を考えてみる
おわり