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
iCARE の Dev チームが 目指すところと日々の開発/What iCARE Dev te...
Search
ise_tang
July 13, 2018
Programming
0
1.3k
iCARE の Dev チームが 目指すところと日々の開発/What iCARE Dev team aim for and daily development
ise_tang
July 13, 2018
Tweet
Share
More Decks by ise_tang
See All by ise_tang
Should write test codes while application codes
ise_tang
0
910
Introduce ActiveSupport methods
ise_tang
1
1.8k
【輪読会】基礎から学ぶVue.js【渋谷】 CH.5
ise_tang
0
86
Other Decks in Programming
See All in Programming
Grafana:建立系統全知視角的捷徑
blueswen
0
260
AIエージェントの設計で注意するべきポイント6選
har1101
6
2.8k
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.4k
Cap'n Webについて
yusukebe
0
160
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
820
ローカルLLMを⽤いてコード補完を⾏う VSCode拡張機能を作ってみた
nearme_tech
PRO
0
210
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
150
gunshi
kazupon
1
130
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
39
26k
脳の「省エネモード」をデバッグする ~System 1(直感)と System 2(論理)の切り替え~
panda728
PRO
0
130
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
240
生成AI時代を勝ち抜くエンジニア組織マネジメント
coconala_engineer
0
35k
Featured
See All Featured
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
590
What's in a price? How to price your products and services
michaelherold
246
13k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
0
34
GitHub's CSS Performance
jonrohan
1032
470k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.3k
Navigating Weather and Climate Data
rabernat
0
58
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
150
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
410
Building an army of robots
kneath
306
46k
Designing Experiences People Love
moore
143
24k
Transcript
All Rights Reserved. iCARE Co., Ltd. iCARE の Dev チームが
目指すところと日々の開発 なかむら いっせい
2 All Rights Reserved. iCARE Co., Ltd. この発表で伝えたいこと • CREDO
がどういう意味なのか、どこを目指しているのか • 普段の開発の流れ
3 All Rights Reserved. iCARE Co., Ltd. Dev の CREDO
4 All Rights Reserved. iCARE Co., Ltd. アジャイル?
All Rights Reserved. iCARE Co., Ltd. 5 アジャイルとは
6 All Rights Reserved. iCARE Co., Ltd. 辞書的な意味 https://ejje.weblio.jp/content/agile
7 All Rights Reserved. iCARE Co., Ltd. アジャイルとは ソフトウェア開発における 心構え/考え方のひとつ
8 All Rights Reserved. iCARE Co., Ltd. アジャイルソフトウェア開発宣言 プロセスやツールよりも個人と対話を、 包括的なドキュメントよりも動くソフトウェアを、
契約交渉よりも顧客との協調を、 計画に従うことよりも変化への対応を、 価値とする。すなわち、左記のことがらに価値があることを 認めながらも、私たちは右記のことがらにより価値をおく。 http://agilemanifesto.org/iso/ja/manifesto.html 10数年前に先進的な開発をしていた人たちが話し合ってまとめたもの
9 All Rights Reserved. iCARE Co., Ltd. シンプルにいうと 変化があることを前提とし、変化に対応しながら、 ユーザーに価値あるソフトウェアを届ける
という心構え
10 All Rights Reserved. iCARE Co., Ltd. アジャイルを実現する手法はさまざま • TDD
• ペアプログラミング • 小さく多くリリース などなど XP • 朝会 • スプリント • バッグログ などなど スクラム • かんばん • MVP • カイゼン などなど リーン
11 All Rights Reserved. iCARE Co., Ltd. 大切なこと アジャイルの手法をやればアジャイルだ
12 All Rights Reserved. iCARE Co., Ltd. 大切なこと アジャイルの手法をやればアジャイルだ 変化に対応しユーザーに価値あるソフトウェアを届けられないなら、
どんな手法を使おうともそれはアジャイルではない
13 All Rights Reserved. iCARE Co., Ltd. 大切なこと 「変化に柔軟に対応してくれるんだから、 要件ふわっとしてるけどお願いしてもやってくれるんだね!
14 All Rights Reserved. iCARE Co., Ltd. 大切なこと 「変化に柔軟に対応してくれるんだから、 要件ふわっとしてるけどお願いしてもやってくれるんだね!
「核となるもの」や「軸」が定まっていないと、 価値のあるものはつくれません ユーザーに何を届けたいのか、 どんな価値や体験を届けたいのかはしっかり固めましょう。 そこに向かう手段などを柔軟に対応するのがアジャイルです
15 All Rights Reserved. iCARE Co., Ltd. ここまでのまとめ • 「アジャイル」は「変化に対応し、価値のあるソフトウェアを届けよ
う」とする心構え • 手法はたくさんある • 大切なのはアジャイルな手法をすることではなく 「変化に対応し、価値を届ける」という目的を実現すること
All Rights Reserved. iCARE Co., Ltd. 16 なぜアジャイルなのか
17 All Rights Reserved. iCARE Co., Ltd. アジャイル開発とよく比較されるウォーターフォール • 要件定義、設計、開発、テスト、リリースというステップを順々にふんでいく
◦ 各ステップの期間が長い • 相互理解のためにドキュメントを詳細にかいていく • ステップが明確なので進捗を管理しやすい 要件定義 外部設計 内部設計 開発 テスト リリース 期間 20xx年12月 20xx年4月
18 All Rights Reserved. iCARE Co., Ltd. ウォーターフォールの問題点 ► 各ステップを順々に踏んでいくため、要求・要件に変化があると対
応しづらい ► 最後に一気にリリースするため、最後にならないとユーザは価値 を感じることができない ユーザーとのすれ違いが起こりやすい
19 All Rights Reserved. iCARE Co., Ltd. よくあるアジャイル開発 • 要件定義、設計、開発、テスト、リリースというステップを短く繰り返しふんでいく
◦ 各ステップの期間が短い ◦ その分小さく作っていく • 相互理解のためにドキュメントは最低限に留める • ステップが短く小さく作っていくため、変化に対応しやすい 要件定義 外部設計 内部設計 開発 期間 テスト リリース 要件定義 外部設計 内部設計 開発 テスト リリース 要件定義 外部設計 内部設計 開発 テスト リリース ••• 20xx年12月 20xx年4月 20xx年7月 20xx年10月
20 All Rights Reserved. iCARE Co., Ltd. たとえば 「ストレスチェックの回答システム」だけを作るとする ◦
ストレスチェックの設問や結果の算出などはほぼ決まっている ◦ 環境や要求の変化が少ない ウォーターフォール型開発の方がむしろ向いている
21 All Rights Reserved. iCARE Co., Ltd. たとえば 「ストレスチェックの回答だけではなく、 勧奨やレポート作成を含んだシステム」を作るとする
◦ ユーザーの利用シーンや使い勝手なども関わってくる ▪ 環境や要求の変化が大きい アジャイル開発の方が向いている
22 All Rights Reserved. iCARE Co., Ltd. なぜ iCARE でアジャイルなのか
• Carely は決まりきったシステムではないし、 ただ機能を作りたいわけじゃない • ユーザーに耳を傾け、ユーザーのことを考え、 価値のあるシステムにしていく • ユーザーニーズに細かくすばやく対応したい アジャイルな開発で実現していく
All Rights Reserved. iCARE Co., Ltd. 23 iCARE が目指すアジャイル
24 All Rights Reserved. iCARE Co., Ltd. iCAREが目指すアジャイル ► ユーザーに価値あるソフトウェアを定期的に届け続けること
► 変化に柔軟に対応できること ► チームで課題解決をしていくこと ► 各自がユーザの気持ちになってプロダクトの良さや方向性を理解 すること
All Rights Reserved. iCARE Co., Ltd. 25 開発の一週間
26 All Rights Reserved. iCARE Co., Ltd. ざっくり一週間 • タスク選定
• 開発 • レビュー • 動作確認 • リリース • ふりかえり
27 All Rights Reserved. iCARE Co., Ltd. ざっくり一週間 • タスク選定
• 開発 • レビュー • 動作確認 • リリース • ふりかえり
28 All Rights Reserved. iCARE Co., Ltd. タスク選定 ► 一週間でこなすタスク(イシュー)を各自選定
► 開発定例でシェア
29 All Rights Reserved. iCARE Co., Ltd. エピック? イシュー? ►
イシュー ⎻ 小さい粒度のストーリー ⎻ 「残業時間のファイルをアップロードできる」 ⎻ 「過重労働の一覧がみれる」 ► エピック ⎻ ストーリーを集めたもの ⎻ 「過重労働管理機能」 ⎻ epic は「詩」という意味
30 All Rights Reserved. iCARE Co., Ltd. イシュー管理 GitHub +
ZenHub でかんばんを使って管理
31 All Rights Reserved. iCARE Co., Ltd. かんばん? • イシューを俯瞰してみるもの
• 横はイシューのグループやステータス • 縦は優先順位 • 全体の状況が理解しやすい • 毎朝の朝会でみているのはこれ
32 All Rights Reserved. iCARE Co., Ltd. ざっくり一週間 • タスク選定
• 開発 • レビュー • 動作確認 • リリース • ふりかえり
33 All Rights Reserved. iCARE Co., Ltd. 開発 • メンバー
◦ デザイナ ▪ 魅せ方を考えて絵にする人 ◦ エンジニア ▪ フロントサイド • 魅せ方をプログラムにしている人 ▪ サーバーサイド • データの保存とかの処理をかいている人
34 All Rights Reserved. iCARE Co., Ltd. ざっくり一週間 • タスク選定
• 開発 • レビュー • 動作確認 • リリース • ふりかえり
35 All Rights Reserved. iCARE Co., Ltd. レビュー • 開発したプログラムを他のひとに見てもらうこと
• バグがないか、わかりにくくないか、不明な点はないかなどを チェックする • 情報共有や知識共有の面もある https://github.com/icare-jp/www/pull/1442
36 All Rights Reserved. iCARE Co., Ltd. マージ 自分が開発・修正したプログラムを他の人の作業分とひとつにしてあ わせること
A A B A’ B A’
37 All Rights Reserved. iCARE Co., Ltd. ざっくり一週間 • タスク選定
• 開発 • レビュー • 動作確認 • リリース • ふりかえり
38 All Rights Reserved. iCARE Co., Ltd. 動作確認 • 開発したものが意図通り動いているかなどを確認
• 確認する環境 → QA環境/STG環境
39 All Rights Reserved. iCARE Co., Ltd. 環境 • ローカル環境
◦ 各自のPC上のこと ◦ 他の人は見れない • QA/STG環境 ◦ 開発中/リリース前のプログラムの動作確認するところ ◦ お客様は見れない • 本番環境 ◦ お客様が触れるところ
40 All Rights Reserved. iCARE Co., Ltd. ざっくり一週間 • タスク選定
• 開発 • レビュー • 動作確認 • リリース • ふりかえり
41 All Rights Reserved. iCARE Co., Ltd. リリース • 本番環境にプログラムを適用すること
• これによってお客様が機能を使えるようになる
42 All Rights Reserved. iCARE Co., Ltd. デプロイ?リリース? • デプロイ
◦ プログラムをある環境に適用すること • リリース ◦ デプロイの中でも本番環境に適用すること ◦ お客様が使える状態にするという意味のほうがつよい
43 All Rights Reserved. iCARE Co., Ltd. ざっくり一週間 • タスク選定
• 開発 • レビュー • 動作確認 • リリース • ふりかえり
44 All Rights Reserved. iCARE Co., Ltd. ふりかえり • 一週間のやったイシューを全体にシェア
• つまったところやトピックなど • 実際につくったものをみんなにみてもらうこともある
45 All Rights Reserved. iCARE Co., Ltd. こんな感じで日々を過ごしながら、 「ユーザーに価値のあるソフトウェア」を作り続けています
All Rights Reserved. iCARE Co., Ltd. 46 おわり