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
終わってる風終わってないタスクが自分の首を締めた話
Search
Tatsuya Asami
January 19, 2023
Programming
520
0
Share
終わってる風終わってないタスクが自分の首を締めた話
スクラム開発で発生した終わってる風終わってないタスクが自分の首を締めた話
Tatsuya Asami
January 19, 2023
More Decks by Tatsuya Asami
See All by Tatsuya Asami
React Compiler導入から21ヶ月、いま始めるならこうやる
astatsuya
2
330
NestJSのコードからOpenAPIを自動生成する際の最適解を探す
astatsuya
0
600
Other Decks in Programming
See All in Programming
AI時代のUIはどこへ行く?その2!
yusukebe
19
6.6k
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
260
New "Type" system on PicoRuby
pocke
1
450
TypeSpec で繋ぐ複数プロダクトの型安全
maroon8021
1
370
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
110
AutonomyとControlのあいだ:Graflowで記述するAIエージェント協調
myui
0
100
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
310
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
270
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
340
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
190
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
180
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
3
980
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
260
How GitHub (no longer) Works
holman
316
150k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
820
Building Applications with DynamoDB
mza
96
7.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
A Tale of Four Properties
chriscoyier
163
24k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
520
Designing for humans not robots
tammielis
254
26k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Transcript
終わってる風終わってないタスク が自分の首を締めた話 コミューン株式会社 浅見達也 / @astatsuya1
自己紹介 フロントエンドエンジニア 浅見達也 twitter: astatsuya/@astatsuya1 2022年7月 コミューン株式会社入社 スクラムチームでcommmune(プロダクト名です)のフロントエンド・バックエンド開発 を行っています
2022年に所属した2つのスクラムチームの話をし ます
終わってる風終わってないタスクとは?🤔
まだやることが残っているのに終わったものとみなさ れているタスク
まだやることが残っているのに終わったものとみなされているタスク 一応動く状態になってるのでスプリントレビューで発表したけど・・・ • 実はアプリが動くかわからない ◦ まだテストしていない ◦ 特定のユーザー操作によって動作しないケースがあるのを知っている ◦ 本番環境で動かすためにやることがある
• アプリ自体は動作している ◦ 良くないコードで作ってそのまま ◦ 自動テストを書いていない ◦ 資料作成が終わっていない
どんな問題が起こるのか?
実はアプリが動くかわからない 1. 出来た部分をスプリントレビューで発表 2. ほぼ終わってると思われてるのでリリース予定日の調整が進む 3. ではリリースしましょう! 4. まだやることがあって焦る
実はアプリが動くかわからない • 焦っているので妥協したり、普段とは違うプロセスで開発をしたりする結果、問 題が起きがち • 焦っても間に合わないので、スケジュールを再調整する場合は、プロダクトオー ナー、ステークホルダーを含む多くの人を巻き込むことになりがち
アプリ自体は動作している 1. 終わってる風終わってないタスクを抱えた状態でスプリントが始まる 2. スプリントプランニングで決めたスプリントバックログ+終わってる風終わってな いタスクをやらないといけない
アプリ自体は動作している 問題が起きなくてもスクラム3本柱の1つ、「透明性」にかける スクラムガイドの「透明性」によると 創発的なプロセスや作業は、作業を実 ⽰する⽰とその作業を受け取る ⽰に⽰える必要がある。 スクラムにお ける重要な意思決定は、 3 つの正式な作成物を認知する状態に基づいている。
透明性の低い作成物は、 価値を低下させ、リスクを ⽰める意思決定につながる可能性がある。 透明性によって検査が可能になる。透 明性のない検査は、誤解を招き、ムダなものである。 引用: https://scrumguides.org/docs/scrumguide/v2020/2020-Scrum-Guide-Japanese.pdf
アプリ自体は動作している • バグ修正等、急いで変更を入れたいときに素早い動きができない ◦ 自動テストがない場合はまず自動テストを書くところから始めないといけない ◦ 自動テストを書かないで変更する場合はそのたびに手動テストが必要 ◦ 最後に直したバグ修正が別のバグを引き起こしているかもしれないと気にしながら実装しない といけない
失敗はなぜ起こってしまったのか
失敗はなぜ起こってしまったのか とにかく出来た部分を見せてフィードバックをもらうべきだと思っていた • そうした方が良いってどこかで読んだ気がしていた ◦ 「まだ終っていない部分もありますが、動きはするので見ていただきたいです」と言われて動い ているものをみたらほぼ終わっていると思ってしまうのも当然
失敗はなぜ起こってしまったのか 自動テスト、リファクタリング、資料作成等が一番最後に残りがち • プロセス的にこれらだけがスプリント内に終わらないというのがよくある ◦ 各プロダクトバックログアイテムの最後にやるタスクがこれらになりがち ◦ 機能だけは出来ているのでリリースしがち ◦ 自動テストをなるべく早い段階で書きたいと思っていても最後になりがち
教訓 1. 終わってないことをスプリントレビューで提示しない 2. 急ぎでやらないといけないことは結構な頻度で突然やっ てくる 3. 優先順位は変わるもの。薄めて完了にしない
1. 終わってないことをスプリントレビューで提示しない スクラムガイドの「確約(コミットメント):完成の定義」によると プロダクトバックログアイテムが完成の定義を満たしていない場合、リリースすることはできない。 ましてやスプリントレビューで提⽰することもできない。そうした場合、あとで検討できるようにプロ ダクトバックログに戻しておく。 引用: https://scrumguides.org/docs/scrumguide/v2020/2020-Scrum-Guide-Japanese.pdf と書いてあるのでそれに従うのみ 途中でもフィード・バックが欲しいのであれば、スプリントレビューとは明確に区別して扱う
2. 急ぎでやらないといけないことは結構な頻度で突然やってくる スプリント中に差し込みタスクが発生することはある • 普段から緊急事態に動けるようにしておく ◦ 残業前提でスケジュールを組まない ◦ 丁寧な開発を心がける。自動テストも書く ◦
忘れるまでにやればいいとなりがちな資料作成や、スクラムの仕事以外でやらないといけない こと(日報や経費精算とか)もやれるときにやっておく
1つの機能を作るためのプロダクトバックログが複数になることはあるが、やり残した ことがあるものを次のプロダクトバックログに回して完了にしない • 新規登録、削除、更新が全て出来上がってリリースの予定でも、「1度登録した ら変更することはほとんどないから、更新は開発不要」となることはありえる • 自動テストは次に回そう、バグはあるけどまだ誰も使わないから次で修正しよ う、をしない。同じプロダクトバックログで終わらせる 3. 優先順位は変わるもの。薄めて完了にしない
まとめ
日頃から最後まできっちりと丁寧にタスクを終わ らせて、終ってる風終ってないタスクを増やさない ようにしましょう
© commmune Inc. All rights reserved コミューン株式会社 / We are
hiring!! 22 顧客コミュニティ作りに 特化したプロダクト commmune(コミューン) 顧客コミュニティプラットフォームを提供することによって、 企業とユーザー間にある”コミュニケーションの壁”を取り払い、 “対話による深い相互理解”と”共創の場作り”を提供するプロダクトです。 募集中ポジション • エンジニアリングマネージャー • フロントエンドエンジニア • サーバサイドエンジニア • QAエンジニア • APPエンジニア(Flutter) • データサイエンティスト commmuneは全レイヤー TypeScript実装 開発組織 開発組織は順調に成長してきておりますが、今後更に良いプロダクトを 作りをしていくためにもエンジニアメンバーを募集しています! まずはカジュアル面談でぜひお話しさせてください! >> 会社説明資料・job description (https://commmune-careers.studio.site/) >> テックブログ (https://tech.commmune.jp/)