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
0
460
終わってる風終わってないタスクが自分の首を締めた話
スクラム開発で発生した終わってる風終わってないタスクが自分の首を締めた話
Tatsuya Asami
January 19, 2023
Tweet
Share
More Decks by Tatsuya Asami
See All by Tatsuya Asami
NestJSのコードからOpenAPIを自動生成する際の最適解を探す
astatsuya
0
420
Other Decks in Programming
See All in Programming
SpecKitでどこまでできる? コストはどれくらい?
leveragestech
0
700
10年もののAPIサーバーにおけるCI/CDの改善の奮闘
mbook
0
810
明日から始めるリファクタリング
ryounasso
0
130
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
1k
CSC305 Lecture 04
javiergs
PRO
0
270
Server Side Kotlin Meetup vol.16: 内部動作を理解して ハイパフォーマンスなサーバサイド Kotlin アプリケーションを書こう
ternbusty
3
180
Web フロントエンドエンジニアに開かれる AI Agent プロダクト開発 - Vercel AI SDK を観察して AI Agent と仲良くなろう! #FEC余熱NIGHT
izumin5210
3
520
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
820
What's new in Spring Modulith?
olivergierke
1
140
Serena MCPのすすめ
wadakatu
4
980
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
190
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
220
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Building Better People: How to give real-time feedback that sticks.
wjessup
369
20k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Scaling GitHub
holman
463
140k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
RailsConf 2023
tenderlove
30
1.2k
Building Adaptive Systems
keathley
43
2.8k
Balancing Empowerment & Direction
lara
4
690
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
The World Runs on Bad Software
bkeepers
PRO
72
11k
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/)