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
July Tech Festa 2021 Witner G2 Team Development
Search
oyakata2438
January 24, 2021
Technology
1
1.1k
July Tech Festa 2021 Witner G2 Team Development
2021年1月24日
July Tech Festa 2021 Winter G2
チーム開発の光と闇・成果と挫折と
11:15~12:15 @oyakata2438
oyakata2438
January 24, 2021
Tweet
Share
More Decks by oyakata2438
See All by oyakata2438
Burikaigi_oyakata
oyakata2438
0
700
Toyama-IT-oyakataPresentaion
oyakata2438
0
120
20240117-Forkwell-目標設定の技術
oyakata2438
0
47
20230121_BuriKaigi
oyakata2438
0
1.1k
JTF2021-A3-1stTechbook
oyakata2438
0
910
技書博後夜祭1
oyakata2438
0
60
July tech festa 2020 B5
oyakata2438
3
1.4k
20190607_Output_Oyakata
oyakata2438
1
370
ワンストップ勉強会試し読み
oyakata2438
0
810
Other Decks in Technology
See All in Technology
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
580
The Rise of LLMOps
asei
5
1.3k
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
940
dev 補講: プロダクトセキュリティ / Product security overview
wa6sn
1
2.3k
Taming you application's environments
salaboy
0
180
フルカイテン株式会社 採用資料
fullkaiten
0
40k
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
470
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
180
The Role of Developer Relations in AI Product Success.
giftojabu1
0
120
DMARC 対応の話 - MIXI CTO オフィスアワー #04
bbqallstars
1
160
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
410
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
Automating Front-end Workflow
addyosmani
1366
200k
Typedesign – Prime Four
hannesfritz
40
2.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
We Have a Design System, Now What?
morganepeng
50
7.2k
Building Adaptive Systems
keathley
38
2.3k
Why Our Code Smells
bkeepers
PRO
334
57k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
For a Future-Friendly Web
brad_frost
175
9.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Done Done
chrislema
181
16k
Transcript
#JFT2021w #JTF2021w‗g 2021.01.24 チーム開発の光と闇 成果と挫折と おやかた | @oyakata2438 1
#JFT2021w #JTF2021w‗g 2021.01.24 2 About Me おやかた(@親方Project) @oyakata2438 大規模プラント向け計測センサ開発(社内向け) 技術同人誌・合同誌
• レーザープロジェクター自作(と周辺実装) • 技術同人誌を書こう • ワンストップ見積もり本 • ワンストップ勉強会 and more ... and more...
#JFT2021w #JTF2021w‗g 2021.01.24 3 Agenda: 1.作ろうと思ったもの 2.どうやって進めたか 3.よかったこと・得たこと 4.困ったこと 5.反省点
Twitter実況・感想Tweetぜひお願いします。 質問もぜひ!#JTF2021w_G をつけると拾いやすくなります
#JFT2021w #JTF2021w‗g 2021.01.24 4 「このチーム」で作ってるもの② ギポタル|技術同人誌ポータル 技術同人誌のポータルサイト ・イベント横断でサークル・本を知る ・当該ジャンルの本を一覧で見る ・本の概要/頒布サイトを知る
・サークルの参加するイベントを知る 新規Webサービスとして実装・立ち上げ中 作ろうと思ったもの
#JFT2021w #JTF2021w‗g 2021.01.24 5 なぜ作ろうと思ったか? 技術同人誌を扱うイベントがたくさんある 技術書典、技書博、コミケ、おもしろ同人バザール カンファレンス(のコーナー)、勉強会 etc… ①情報が散在している
イベントごとに探す必要あり、網羅性が低い ②購入までの手順が多い 例:イベントページ→サークル→ユーザーのTweet→Booth ③サークルごとのポータルサイトの作成・メンテが大変
#JFT2021w #JTF2021w‗g 2021.01.24 6 サイトのモックアップ:本のページ 購入サイトの 直リンク 本の情報 タグによる横断検索 ジャンル内の一覧化
書影・中身画像
#JFT2021w #JTF2021w‗g 2021.01.24 7 タグの活用 タグのページ おススメタグ 上位概念、下位概念、対立する技術など 本の一覧。 紹介・販売サイト、発行日・イベントなど
#JFT2021w #JTF2021w‗g 2021.01.24 8 技術スタック 開発者 本番環境 File Storage ユーザー
ギポタル アプリ (JS) ブラウザ 認証基盤 画像
#JFT2021w #JTF2021w‗g 2021.01.24 9 誰が作っているのか?
#JFT2021w #JTF2021w‗g 2021.01.24 10 このチームの特徴: ・会社も年齢もバックグラウンドもバラバラ ・「技術書コミュニティ」にいる人が多い ・上司-部下など、利害関係のない関係 ・義務、お金などの絡まない関係 自らの意思で集まったチーム!
#JFT2021w #JTF2021w‗g 2021.01.24 11 作るにあたって定めた目標 ①ギポタルを立ち上げる ②モブワークで進める ③実装過程を本にする
#JFT2021w #JTF2021w‗g 2021.01.24 12 ①ギポタルを立ち上げる モノができないと話にならない 最初・最重要の目標・目的 ユーザーフィードバック 何より自分が欲しい
#JFT2021w #JTF2021w‗g 2021.01.24 13 ②モブワークで進める ・メンバーのレベル・多様性の観点 フロントエンドつよつよマンはいたが、 全部カバーできるわけではない 例:フロントはできるがDBわからん DB昔使ったことある
なんもわからん →一人じゃできない/大変 ・仕事っぽくなってはつまらない ・「やってみたい」人が得るもの(知識・経験)
#JFT2021w #JTF2021w‗g 2021.01.24 14 モブワーク楽しい ・楽しい!!! ・時間が決まってる分、集中できる! ・他の人の知見をもらう。自分の知識をあげる ・三人寄れば文殊の知恵(誰かは知ってる) ・チームとしてのレベル底上げ
#JFT2021w #JTF2021w‗g 2021.01.24 15 モブワークで作るギポタル|技術同人誌ポータル モブワーク:複数人で一つの画面・コードを見ながら進めるワーク ZOOM MURAL (コード以外のワーク) VSCode+
Live Share+ YouTube Live 技術同人誌で記録
#JFT2021w #JTF2021w‗g 2021.01.24 16 モブワークを支えるツール① ZOOM 会話・画面共有 VSCode+Live Share+YouTube Live
モブ・コード共有 アーカイブ ・すぐ会話・相談できる ・だれでも簡単に参加できる ・画面共有簡単 ・やっぱり“コード見ながら”は正義 ・コードの同時編集簡単 ・YouTubeで聞き専もOK ・やったことアーカイブとして残せる
#JFT2021w #JTF2021w‗g 2021.01.24 17 モブワークを支えるツール② MURAL (コード以外のワーク全般) 技術同人誌で記録する(文字起こし) ・付箋貼ってく感じでUI素敵 ・アイディア出しとか最高
・記録残る(議事録不要) ・やったことの理解が深まる ・売り上げでサーバー代など稼げる ・本にすることでみんなに知ってもらえる ・他の開発の参考にも! https://techbookfest.org/product/6206369472446464 https://gipotal.booth.pm/ 152P1000円
#JFT2021w #JTF2021w‗g 2021.01.24 18 モブワークでやったこと インセプションデッキ作ったり、要件定義したり・・・
#JFT2021w #JTF2021w‗g 2021.01.24 19 もちろん実装も
#JFT2021w #JTF2021w‗g 2021.01.24 20 ③実装過程を本にする目的 ・実装過程・知識の整理 ・試行錯誤は技術的に価値がある ・本を売って、サーバー代とか稼ぐ
#JFT2021w #JTF2021w‗g 2021.01.24 21 ③本にする目的1:実装過程・知識の整理 ・「最終成果」はコードとして残るが 「開発途中」をドキュメント化するのは難しい ・書くモチベーション・工数 ・試行錯誤は消える(コミットログ見る?見ない。) ・ダメな実装の例をアンチパターンとして共有化
など ・途中参加の人にも説明が簡単 経緯を説明するのは結構大変。 Slackのログは流れる/消える ・文字・図に起こすことで理解が深まる こんなの図に起こさないと 理解できませんw
#JFT2021w #JTF2021w‗g 2021.01.24 22 ③本にする目的2:実装過程にも価値がある ・NDAの縛りなく公開できるプロジェクトは稀 -業務は? 当然アウト -OSSは? もっと概念的or小改造。
-個人開発? 公開するメリットがない Webサービスの表も裏側もきちんと見る機会はほとんどない ・実装者が何を考えたかを書く ・なにをやったらどうなったかをきちんと書く うまく動かなかった例、とりあえず動かすためにやったこと、など
#JFT2021w #JTF2021w‗g 2021.01.24 23 ③本にする目的3:本を売ってサーバー代を稼ぐ ・費用は発生する。月約3千円。 例: ドメイン代 月 500円
Heroku 月 700円 Vercel 月2000円 ・持ち出しは継続性の観点から避けたい https://techbookfest.org/product/6206369472446464 https://booth.pm/ja/items/2368542 152ページ(21年1月時点) 1000円にて頒布中
#JFT2021w #JTF2021w‗g 2021.01.24 24 進捗 ・モブワーク20回×約2時間 ・技術スタックはだいたいやってみた ・画面5枚中2-3枚ほど ・認証関係 まだ手付かず
機能・実装 済? コンセプト 〇 ドメイン取る 〇 トップページデザイン 〇 サークルページデザイン 〇 DBからデータ取ってくる 〇 DBに権限つける 〇 自動デプロイ 〇 画像表示する 〇 DBのテーブル設計 〇 テーブル実装 途中 ユーザー認証 × 実データの設計・入力 × ファイルストレージ確保 × バグ取り・テスト × 結構進んだっぽくないですか?
#JFT2021w #JTF2021w‗g 2021.01.24 25 得たもの モダンなフロント エンドとは? フロントとバックの繋ぎ DBのいろいろ モブワークの経験
ファシリテーション アジャイルのいろいろ MURALの使い方 Zoom、LiveShare… 開発の経緯を まとめた本150ページ 売り上げもそこそこ チーム開発の経験 目標設定
#JFT2021w #JTF2021w‗g 2021.01.24 26 でも停滞しました。
#JFT2021w #JTF2021w‗g 2021.01.24 27 開発の停滞 6月 5回 7月 7回 8月
4回 9月 1回 10月 3回 11月(仕切り直しを決断) 0回 12月(進捗なし) ― モブワークの回数 目に見えて減った・・・
#JFT2021w #JTF2021w‗g 2021.01.24 28 外部要因:言い訳 6月 5回 7月 7回 8月
4回 9月 1回 10月 3回 11月(仕切り直しを決断) 0回 12月(進捗なし) ― モブワークの回数 「執筆に忙しかった」という言い訳はある 技術書典9 技術書典10
#JFT2021w #JTF2021w‗g 2021.01.24 29 内部要因 機能・実装 済? コンセプト 〇 ドメイン取る
〇 トップページデザイン 〇 サークルページデザイン 〇 DBからデータ取ってくる 〇 DBに権限つける 〇 自動デプロイ 〇 画像表示する 〇 DBのテーブル設計 〇 テーブル実装 途中 ユーザー認証 × 実データの設計・入力 × ファイルストレージ確保 × バグ取り・テスト × みんなでわいわいモブでやる作業 技術スタックはだいたい一通りやった。 →モブでやるには地味な作業比率が増えた 未 未
#JFT2021w #JTF2021w‗g 2021.01.24 30 外的モチベーションの重要性 ・みんなでやるから楽しい/やろう!は重要 雑談だけでも。 部室に遊びに行く感じ? ・定例開催重要 ちょっと忙しいけど、やってるなら行くか・・・
ただし、無理・義務感になると楽しくない 楽しくないと続かない 頻度が下がると足が遠のく
#JFT2021w #JTF2021w‗g 2021.01.24 31 時間は残酷だ① 停滞するまでの2-3か月:めっちゃ楽しー で走れる でも、夢は醒める。 2か月×5週×2時間 =20時間の作業
仕事だったら? 20h÷5時間/日とすると、4日分(≒1週間) だけどモチベーション減耗は実時間(2か月経過)で来る
#JFT2021w #JTF2021w‗g 2021.01.24 32 時間は残酷だ② 時間が経つと色々なことを忘れる コンテキストを復活させるのにコストかかる 前回(先週)なにやったっけ? どこまで進んだっけ? 今日なにやるんだっけ?
あれ?これ何のためにやってるんだっけ?(開発的コンテキスト) あれ?メンバー減ってきたけど、なんのためにやってるんだっけ? (モチベーション、やる理由) 作業開始のオーバーヘッドが大きい 仕事だったら? 4日分(1週間)なら忘れないよね? 2時間ワーク中30分をコンテキスト共有で使う、など
#JFT2021w #JTF2021w‗g 2021.01.24 33 反省点 ・短期集中・短期決戦に持ち込めなかった ・モブワークが目的化した ・実時間によるモチベ損耗のケアができなかった
#JFT2021w #JTF2021w‗g 2021.01.24 34 どう仕切りなおすか? 最適解はない。かも。
#JFT2021w #JTF2021w‗g 2021.01.24 35 処方箋:目標は欲張らない ①ギポタルを立ち上げる ②モブワークで進める ③実装過程を本にする 最初はうまく回った。 後半、モブワークが重くなった
・モブになじまない作業率増えた ・教える負荷は大きい。 記録のためのYoutube配信準備がおっくうに。 (執筆自体はもともとおやかた一人の作業) つらくなったら損切りする。優先順位の確認、目標を切る、など 当初目標
#JFT2021w #JTF2021w‗g 2021.01.24 36 仕切り直しの例? 自分でやる できるなら最初からやってる・・・
#JFT2021w #JTF2021w‗g 2021.01.24 37 仕切り直しの例:できる人にやってもらう チーム内でできる人にやってもらう? できる人/やる人のモチベ律速になる。 (時間・体調・メンタルに大きく依存) 工数タダ乗りになってしまう
#JFT2021w #JTF2021w‗g 2021.01.24 38 それでも、できる人にやってもらうも一案 お金? -任意プロジェクトではお金ない。 ん万/Day払う? さすがに無理― クラウドソーシング?
ほんとに「仕事・業務」になって楽しくない。
#JFT2021w #JTF2021w‗g 2021.01.24 39 人 という単位の提案:SDD:Sushi Driven Development 無回転寿司で頬をぺちぺちしてメンバーに作業してもらうという選択 あるいはUDD:うまいものDriven
使い方: この実装量は 3人寿司だな。 美味い寿司は 生臭くない。
#JFT2021w #JTF2021w‗g 2021.01.24 40 もう一つの最適解は? 誰か新規参入者を勧誘して、 仕切り直しする。 反省はどこへ行った?
#JFT2021w #JTF2021w‗g 2021.01.24 41 絶対に楽しいので、あなたもやりませんか? 一緒にギポタルのチーム開発やりましょう。 (全力の勧誘!) Let’s Join us!
#JFT2021w #JTF2021w‗g 2021.01.24 42 反省点と解決策 ・短期集中・短期決戦に持ち込めなかった →目的とマイルストーン、MVPの設定 ・モブワークが目的化した →モブでやるところと実装の切り分け ・実時間によるモチベ損耗のケアができなかった
→SDDでモチベ補給。 MVP(実用最小限の製品: minimum viable product)
#JFT2021w #JTF2021w‗g 2021.01.24 43 まとめ:ありきたりだけど・・・ 楽しいこと 学びがあること 成果があること 両立がとっても重要 どれが欠けてもつらい
個人開発・チーム開発は
#JFT2021w #JTF2021w‗g 2021.01.24 44 今回身に染みたこと・・・ 「義務」ではない開発では どれかが欠けると如実に進捗に表れる モチベ駆動開発は、 短期集中・短期決戦を旨とする
#JFT2021w #JTF2021w‗g 2021.01.24 45 告知① 今日の開発経緯が載った本はこちら https://techbookfest.org/product/6206369472446464 https://gipotal.booth.pm/ 152P 1000円。
ギポタル開発記 -モブワークで学びながらわいわい作る 技術同人誌ポータル‐ 技術書典、Boothで頒布中。 参加者募集中 Webサービス作ってみたい モブワーク・モブプログラミングやってみたい などなど。
#JFT2021w #JTF2021w‗g 2021.01.24 46 告知② 技術同人誌書きませんか? 現在進行中の企画 気になったら「書いてみたいかも」などつぶやいて! 探して声かけます。 カンファレンス参加を後押しする本
- カンファレンスの探し方 - セッションをより楽しむ方法 聴講、メモ、インプットの仕方 - オンライン/オフライン交流を楽しむ方法 - ブログを書くまでがカンファレンス参加です などなど。 1ページ、コラム1本からでも参加OK。 https://note.com/oyakata2438/n/nb0747d0846f1
#JFT2021w #JTF2021w‗g 2021.01.24 47 今聞いてる方、この後Youtubeで追っかけで聴く方へ ぜひ参加を - カンファレンスに参加している時点で執筆可能 - あなたの経験、やってることを共有して、
楽しい思いをする人を増やしましょう - アウトプットの練習にも! 1ページ、コラム1本からでも参加OK。
#JFT2021w #JTF2021w‗g 2021.01.24 48 告知③ 同人誌から商業化した本もあります。
#JFT2021w #JTF2021w‗g 2021.01.24 49 告知④ 次回の技書博は・・・ •2021年6月19日(土) •大田区産業プラザPiO 大展示ホール •オフライン+オンラインのハイブリッド予定
•楽しい企画を検討中 •3月頭ごろにサークル募集開始(予定) •Twitter @gishohaku をチェックしてね! •協賛にご興味ある方はお声がけください イベントのコンセプト、設計などは、D1を聴いてください D1:技術イベント主催を通じて利用者体験を設計する
#JFT2021w #JTF2021w‗g 2021.01.24 50 質問・コメントあれば Zoom 質問ルームGにいます。 トラックG #jtf2021w_g または、
Twitter @oyakata2438まで お気軽にー