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
400
終わってる風終わってないタスクが自分の首を締めた話
スクラム開発で発生した終わってる風終わってないタスクが自分の首を締めた話
Tatsuya Asami
January 19, 2023
Tweet
Share
More Decks by Tatsuya Asami
See All by Tatsuya Asami
NestJSのコードからOpenAPIを自動生成する際の最適解を探す
astatsuya
0
160
Other Decks in Programming
See All in Programming
複数ドメインに散らばってしまった画像…! 運用中のPHPアプリに後からCDNを導入する…!
suguruooki
0
410
アーキテクトと美学 / Architecture and Aesthetics
nrslib
12
2.9k
Devinのメモリ活用の学びを自社サービスにどう組み込むか?
itarutomy
0
1.3k
SLI/SLOの設定を進めるその前に アラート品質の改善に取り組んだ話
tanden
2
650
Devin , 正しい付き合い方と使い方 / Living and Working with Devin
yukinagae
1
500
DenoでOpenTelemetryに入門する
yotahada3
2
280
OpenTelemetryを活用したObservability入門 / Introduction to Observability with OpenTelemetry
seike460
PRO
0
200
OUPC2024 Day 1 解説
kowerkoint
0
390
WordPress Playground for Developers
iambherulal
0
120
もう一人で悩まない! 個の知見をチームの知見にする3つの習慣と工夫 / Into team knowledge.
honyanya
3
520
아직도 SOLID 를 '글'로만 알고 계신가요?
sh1mj1
0
350
複雑なフォームと複雑な状態管理にどう向き合うか / #newt_techtalk vol. 15
izumin5210
4
2.4k
Featured
See All Featured
The Language of Interfaces
destraynor
156
24k
Speed Design
sergeychernyshev
28
850
Six Lessons from altMBA
skipperchong
27
3.7k
Building Your Own Lightsaber
phodgson
104
6.3k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
The Invisible Side of Design
smashingmag
299
50k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Embracing the Ebb and Flow
colly
84
4.6k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
The Cult of Friendly URLs
andyhume
78
6.3k
Building Applications with DynamoDB
mza
94
6.3k
Mobile First: as difficult as doing things right
swwweet
223
9.5k
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/)