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
160
エンジニアリング 💰Moneyジャー / Engineering Money-ger
kenchan
3
940
Lv1,2の開発生産性を経営と繋ぐ
kenchan
4
2.1k
「トップ10プランナー」からはじめる目標設定
kenchan
5
4.3k
負債と言わないことが負債と向き合うこと
kenchan
5
4.6k
可用性No.1へ!「カラーミーショップ」のリ・アーキテクティング
kenchan
0
180
カラーミーショップは私たちが作っています
kenchan
0
1.7k
カラーミーショップ 2022 / COLORME SHOP 2022
kenchan
0
720
Amazon RDS移行のための 性能検証でわかった2つのこと
kenchan
3
4.2k
Other Decks in Technology
See All in Technology
Kubernetesにおける推論基盤
ry
1
390
Abuse report だけじゃない。AWS から緊急連絡が来る状況とは?昨今の攻撃や被害の事例の紹介と備えておきたい考え方について
kazzpapa3
1
730
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
8
7.2k
AI駆動AI普及活動 ~ 社内AI活用の「何から始めれば?」をAIで突破する
oracle4engineer
PRO
1
100
Keycloak を使った SSO で CockroachDB にログインする / CockroachDB SSO with Keycloak
kota2and3kan
0
120
Yahoo!ショッピングのレコメンデーション・システムにおけるML実践の一例
lycorptech_jp
PRO
1
210
Lambda Web AdapterでLambdaをWEBフレームワーク利用する
sahou909
0
130
Claude Codeが爆速進化してプラグイン追従がつらいので半自動化した話 ver.2
rfdnxbro
0
540
DevOpsエージェントで実現する!! AWS Well-Architected(W-A) を実現するシステム設計 / 20260307 Masaki Okuda
shift_evolve
PRO
3
810
楽しく学ぼう!ネットワーク入門
shotashiratori
1
380
親子 or ペアで Mashup for the Future! しゃべって楽しむ 初手AI駆動でものづくり体験
hiroramos4
PRO
0
130
Featured
See All Featured
Building the Perfect Custom Keyboard
takai
2
710
Building a Scalable Design System with Sketch
lauravandoore
463
34k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
390
Prompt Engineering for Job Search
mfonobong
0
190
The Language of Interfaces
destraynor
162
26k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
640
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.1k
WENDY [Excerpt]
tessaabrams
9
36k
Transcript
◦◦プロジェクト ××機能開発の現状と未来
諸注意 UXとか利用者のメリットみたいなのは意図的に外 しています。 ◦◦◦◦の歴史を知らない人が書いたので、おかしな ところはつっこんでください。
アジェンダ 1. ◦◦開発の進め方の確認と提案 2. (秘密1) 3. (秘密2)
開発の進め方、考え方の確認と提案 • イテレーティブでインクリメンタルな開発プロセス を採用します プロジェクトの成果物は 「開発チーム」と「プロダクト」です
イテレーティブで(ry とは • 本当に(欲しいもの|必要とされているもの)は誰 もわからないという前提に立つ • プロダクトを少しずつ作り(インクリメンタル)、 チームが繰り返し学習することができる(イテ レーティブ)、プロセスを採用する必要がある
よくある誤解 「アジャイルなので事前に設計しません」 「スクラムなので割り込みはできません」 「アジャイルなので[ここにあなたが嫌いな作業を入 れてください]はやりません」
必要十分な設計と実装と計画 • 必要十分な設計 ◦ 1年後を考慮した複雑な設計より、必要なときに変更で きるシンプルな設計を • メンテナンス可能なコード ◦ テストしにくいかっこいいコードより、テストしやすいシン
プルなコードを • 現実的な見積りと計画 ◦ 会議室で引かれた夢のような計画より、現実に即した実 現可能な計画を
アーキテクトの重要性 イテレーティブかつ(ry に限らないけど、 アーキテクト(の帽子をかぶれる人)は超重 要 (それについて書いた社内SNSのURL)
イテレーティブ(ry とは • 設計しないのではなく設計しつづける ◦ 長期的な視点を持つ人は超重要 • 行き当たりばったりなコードを書くのではなく、い つでも変更できるシンプルなコードを書く •
計画通りに進めるのではなく、現実を踏まえた 実現可能な計画を立て続ける
以上をふまえて、 ××とどう戦っていけばいいか (この先社外秘につき10枚くらい削除されている)
具体的なアイデア • アプリケーション内でDirty Hackをしない ◦ やるならライブラリ化するまでやれ • フレームワークやライブラリのレールを外れない ◦ 外れないとできない要件はできるだけ優先度を下げる
• ××機能の仮想コードを書いてみる ◦ ATDDの真似事 • 動作する◦◦ができた頃に「××機能」の仮見積りを行い、定期的に見積り直すこと で技術的負債を可視化する ◦ 技術的負債トレンドチャート ◦ アジャイルシンガポールに行っている安井さんからの入電
必要十分な設計と実装と計画 • 必要十分な設計 ◦ 1年後の事を考慮した複雑な設計より、必要なときに変 更できるシンプルな設計を • メンテナンス可能なコード ◦ テストしにくいかっこいいコードより、テストしやすいシン
プルなコードを • 現実的な見積りと計画 ◦ 会議室で引かれた夢のような計画より、現実に即した実 現可能な計画を
まとめ • 現時点で××機能の設計をするのは現実的では ない • あとで追加できるようにとにかくシンプルな設計 と実装を心がける • なるべく早いタイミングで、そのときの設計と実 装を踏まえた計画、見積り、設計を考えてみる
おわり