Upgrade to Pro — share decks privately, control downloads, hide ads and more …

July Tech Festa 2021 Witner G2 Team Development

A500dfe11c36aa2912eaf33176fe129f?s=47 oyakata2438
January 24, 2021

July Tech Festa 2021 Witner G2 Team Development

2021年1月24日
July Tech Festa 2021 Winter G2
チーム開発の光と闇・成果と挫折と
11:15~12:15 @oyakata2438

A500dfe11c36aa2912eaf33176fe129f?s=128

oyakata2438

January 24, 2021
Tweet

Transcript

  1. #JFT2021w #JTF2021w‗g 2021.01.24 チーム開発の光と闇 成果と挫折と おやかた | @oyakata2438 1

  2. #JFT2021w #JTF2021w‗g 2021.01.24 2 About Me おやかた(@親方Project) @oyakata2438 大規模プラント向け計測センサ開発(社内向け) 技術同人誌・合同誌

    • レーザープロジェクター自作(と周辺実装) • 技術同人誌を書こう • ワンストップ見積もり本 • ワンストップ勉強会 and more ... and more...
  3. #JFT2021w #JTF2021w‗g 2021.01.24 3 Agenda: 1.作ろうと思ったもの 2.どうやって進めたか 3.よかったこと・得たこと 4.困ったこと 5.反省点

    Twitter実況・感想Tweetぜひお願いします。 質問もぜひ!#JTF2021w_G をつけると拾いやすくなります
  4. #JFT2021w #JTF2021w‗g 2021.01.24 4 「このチーム」で作ってるもの② ギポタル|技術同人誌ポータル 技術同人誌のポータルサイト ・イベント横断でサークル・本を知る ・当該ジャンルの本を一覧で見る ・本の概要/頒布サイトを知る

    ・サークルの参加するイベントを知る 新規Webサービスとして実装・立ち上げ中 作ろうと思ったもの
  5. #JFT2021w #JTF2021w‗g 2021.01.24 5 なぜ作ろうと思ったか? 技術同人誌を扱うイベントがたくさんある 技術書典、技書博、コミケ、おもしろ同人バザール カンファレンス(のコーナー)、勉強会 etc… ①情報が散在している

    イベントごとに探す必要あり、網羅性が低い ②購入までの手順が多い 例:イベントページ→サークル→ユーザーのTweet→Booth ③サークルごとのポータルサイトの作成・メンテが大変
  6. #JFT2021w #JTF2021w‗g 2021.01.24 6 サイトのモックアップ:本のページ 購入サイトの 直リンク 本の情報 タグによる横断検索 ジャンル内の一覧化

    書影・中身画像
  7. #JFT2021w #JTF2021w‗g 2021.01.24 7 タグの活用 タグのページ おススメタグ 上位概念、下位概念、対立する技術など 本の一覧。 紹介・販売サイト、発行日・イベントなど

  8. #JFT2021w #JTF2021w‗g 2021.01.24 8 技術スタック 開発者 本番環境 File Storage ユーザー

    ギポタル アプリ (JS) ブラウザ 認証基盤 画像
  9. #JFT2021w #JTF2021w‗g 2021.01.24 9 誰が作っているのか?

  10. #JFT2021w #JTF2021w‗g 2021.01.24 10 このチームの特徴: ・会社も年齢もバックグラウンドもバラバラ ・「技術書コミュニティ」にいる人が多い ・上司-部下など、利害関係のない関係 ・義務、お金などの絡まない関係 自らの意思で集まったチーム!

  11. #JFT2021w #JTF2021w‗g 2021.01.24 11 作るにあたって定めた目標 ①ギポタルを立ち上げる ②モブワークで進める ③実装過程を本にする

  12. #JFT2021w #JTF2021w‗g 2021.01.24 12 ①ギポタルを立ち上げる モノができないと話にならない 最初・最重要の目標・目的 ユーザーフィードバック 何より自分が欲しい

  13. #JFT2021w #JTF2021w‗g 2021.01.24 13 ②モブワークで進める ・メンバーのレベル・多様性の観点 フロントエンドつよつよマンはいたが、 全部カバーできるわけではない 例:フロントはできるがDBわからん DB昔使ったことある

    なんもわからん →一人じゃできない/大変 ・仕事っぽくなってはつまらない ・「やってみたい」人が得るもの(知識・経験)
  14. #JFT2021w #JTF2021w‗g 2021.01.24 14 モブワーク楽しい ・楽しい!!! ・時間が決まってる分、集中できる! ・他の人の知見をもらう。自分の知識をあげる ・三人寄れば文殊の知恵(誰かは知ってる) ・チームとしてのレベル底上げ

  15. #JFT2021w #JTF2021w‗g 2021.01.24 15 モブワークで作るギポタル|技術同人誌ポータル モブワーク:複数人で一つの画面・コードを見ながら進めるワーク ZOOM MURAL (コード以外のワーク) VSCode+

    Live Share+ YouTube Live 技術同人誌で記録
  16. #JFT2021w #JTF2021w‗g 2021.01.24 16 モブワークを支えるツール① ZOOM 会話・画面共有 VSCode+Live Share+YouTube Live

    モブ・コード共有 アーカイブ ・すぐ会話・相談できる ・だれでも簡単に参加できる ・画面共有簡単 ・やっぱり“コード見ながら”は正義 ・コードの同時編集簡単 ・YouTubeで聞き専もOK ・やったことアーカイブとして残せる
  17. #JFT2021w #JTF2021w‗g 2021.01.24 17 モブワークを支えるツール② MURAL (コード以外のワーク全般) 技術同人誌で記録する(文字起こし) ・付箋貼ってく感じでUI素敵 ・アイディア出しとか最高

    ・記録残る(議事録不要) ・やったことの理解が深まる ・売り上げでサーバー代など稼げる ・本にすることでみんなに知ってもらえる ・他の開発の参考にも! https://techbookfest.org/product/6206369472446464 https://gipotal.booth.pm/ 152P1000円
  18. #JFT2021w #JTF2021w‗g 2021.01.24 18 モブワークでやったこと インセプションデッキ作ったり、要件定義したり・・・

  19. #JFT2021w #JTF2021w‗g 2021.01.24 19 もちろん実装も

  20. #JFT2021w #JTF2021w‗g 2021.01.24 20 ③実装過程を本にする目的 ・実装過程・知識の整理 ・試行錯誤は技術的に価値がある ・本を売って、サーバー代とか稼ぐ

  21. #JFT2021w #JTF2021w‗g 2021.01.24 21 ③本にする目的1:実装過程・知識の整理 ・「最終成果」はコードとして残るが 「開発途中」をドキュメント化するのは難しい ・書くモチベーション・工数 ・試行錯誤は消える(コミットログ見る?見ない。) ・ダメな実装の例をアンチパターンとして共有化

    など ・途中参加の人にも説明が簡単 経緯を説明するのは結構大変。 Slackのログは流れる/消える ・文字・図に起こすことで理解が深まる こんなの図に起こさないと 理解できませんw
  22. #JFT2021w #JTF2021w‗g 2021.01.24 22 ③本にする目的2:実装過程にも価値がある ・NDAの縛りなく公開できるプロジェクトは稀 -業務は? 当然アウト -OSSは? もっと概念的or小改造。

    -個人開発? 公開するメリットがない Webサービスの表も裏側もきちんと見る機会はほとんどない ・実装者が何を考えたかを書く ・なにをやったらどうなったかをきちんと書く うまく動かなかった例、とりあえず動かすためにやったこと、など
  23. #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円にて頒布中
  24. #JFT2021w #JTF2021w‗g 2021.01.24 24 進捗 ・モブワーク20回×約2時間 ・技術スタックはだいたいやってみた ・画面5枚中2-3枚ほど ・認証関係 まだ手付かず

    機能・実装 済? コンセプト 〇 ドメイン取る 〇 トップページデザイン 〇 サークルページデザイン 〇 DBからデータ取ってくる 〇 DBに権限つける 〇 自動デプロイ 〇 画像表示する 〇 DBのテーブル設計 〇 テーブル実装 途中 ユーザー認証 × 実データの設計・入力 × ファイルストレージ確保 × バグ取り・テスト × 結構進んだっぽくないですか?
  25. #JFT2021w #JTF2021w‗g 2021.01.24 25 得たもの モダンなフロント エンドとは? フロントとバックの繋ぎ DBのいろいろ モブワークの経験

    ファシリテーション アジャイルのいろいろ MURALの使い方 Zoom、LiveShare… 開発の経緯を まとめた本150ページ 売り上げもそこそこ チーム開発の経験 目標設定
  26. #JFT2021w #JTF2021w‗g 2021.01.24 26 でも停滞しました。

  27. #JFT2021w #JTF2021w‗g 2021.01.24 27 開発の停滞 6月 5回 7月 7回 8月

    4回 9月 1回 10月 3回 11月(仕切り直しを決断) 0回 12月(進捗なし) ― モブワークの回数 目に見えて減った・・・
  28. #JFT2021w #JTF2021w‗g 2021.01.24 28 外部要因:言い訳 6月 5回 7月 7回 8月

    4回 9月 1回 10月 3回 11月(仕切り直しを決断) 0回 12月(進捗なし) ― モブワークの回数 「執筆に忙しかった」という言い訳はある 技術書典9 技術書典10
  29. #JFT2021w #JTF2021w‗g 2021.01.24 29 内部要因 機能・実装 済? コンセプト 〇 ドメイン取る

    〇 トップページデザイン 〇 サークルページデザイン 〇 DBからデータ取ってくる 〇 DBに権限つける 〇 自動デプロイ 〇 画像表示する 〇 DBのテーブル設計 〇 テーブル実装 途中 ユーザー認証 × 実データの設計・入力 × ファイルストレージ確保 × バグ取り・テスト × みんなでわいわいモブでやる作業 技術スタックはだいたい一通りやった。 →モブでやるには地味な作業比率が増えた 未 未
  30. #JFT2021w #JTF2021w‗g 2021.01.24 30 外的モチベーションの重要性 ・みんなでやるから楽しい/やろう!は重要 雑談だけでも。 部室に遊びに行く感じ? ・定例開催重要 ちょっと忙しいけど、やってるなら行くか・・・

    ただし、無理・義務感になると楽しくない 楽しくないと続かない 頻度が下がると足が遠のく
  31. #JFT2021w #JTF2021w‗g 2021.01.24 31 時間は残酷だ① 停滞するまでの2-3か月:めっちゃ楽しー で走れる でも、夢は醒める。 2か月×5週×2時間 =20時間の作業

    仕事だったら? 20h÷5時間/日とすると、4日分(≒1週間) だけどモチベーション減耗は実時間(2か月経過)で来る
  32. #JFT2021w #JTF2021w‗g 2021.01.24 32 時間は残酷だ② 時間が経つと色々なことを忘れる コンテキストを復活させるのにコストかかる 前回(先週)なにやったっけ? どこまで進んだっけ? 今日なにやるんだっけ?

    あれ?これ何のためにやってるんだっけ?(開発的コンテキスト) あれ?メンバー減ってきたけど、なんのためにやってるんだっけ? (モチベーション、やる理由) 作業開始のオーバーヘッドが大きい 仕事だったら? 4日分(1週間)なら忘れないよね? 2時間ワーク中30分をコンテキスト共有で使う、など
  33. #JFT2021w #JTF2021w‗g 2021.01.24 33 反省点 ・短期集中・短期決戦に持ち込めなかった ・モブワークが目的化した ・実時間によるモチベ損耗のケアができなかった

  34. #JFT2021w #JTF2021w‗g 2021.01.24 34 どう仕切りなおすか? 最適解はない。かも。

  35. #JFT2021w #JTF2021w‗g 2021.01.24 35 処方箋:目標は欲張らない ①ギポタルを立ち上げる ②モブワークで進める ③実装過程を本にする 最初はうまく回った。 後半、モブワークが重くなった

    ・モブになじまない作業率増えた ・教える負荷は大きい。 記録のためのYoutube配信準備がおっくうに。 (執筆自体はもともとおやかた一人の作業) つらくなったら損切りする。優先順位の確認、目標を切る、など 当初目標
  36. #JFT2021w #JTF2021w‗g 2021.01.24 36 仕切り直しの例? 自分でやる できるなら最初からやってる・・・

  37. #JFT2021w #JTF2021w‗g 2021.01.24 37 仕切り直しの例:できる人にやってもらう チーム内でできる人にやってもらう? できる人/やる人のモチベ律速になる。 (時間・体調・メンタルに大きく依存) 工数タダ乗りになってしまう

  38. #JFT2021w #JTF2021w‗g 2021.01.24 38 それでも、できる人にやってもらうも一案 お金? -任意プロジェクトではお金ない。 ん万/Day払う? さすがに無理― クラウドソーシング?

    ほんとに「仕事・業務」になって楽しくない。
  39. #JFT2021w #JTF2021w‗g 2021.01.24 39 人 という単位の提案:SDD:Sushi Driven Development 無回転寿司で頬をぺちぺちしてメンバーに作業してもらうという選択 あるいはUDD:うまいものDriven

    使い方: この実装量は 3人寿司だな。 美味い寿司は 生臭くない。
  40. #JFT2021w #JTF2021w‗g 2021.01.24 40 もう一つの最適解は? 誰か新規参入者を勧誘して、 仕切り直しする。 反省はどこへ行った?

  41. #JFT2021w #JTF2021w‗g 2021.01.24 41 絶対に楽しいので、あなたもやりませんか? 一緒にギポタルのチーム開発やりましょう。 (全力の勧誘!) Let’s Join us!

  42. #JFT2021w #JTF2021w‗g 2021.01.24 42 反省点と解決策 ・短期集中・短期決戦に持ち込めなかった →目的とマイルストーン、MVPの設定 ・モブワークが目的化した →モブでやるところと実装の切り分け ・実時間によるモチベ損耗のケアができなかった

    →SDDでモチベ補給。 MVP(実用最小限の製品: minimum viable product)
  43. #JFT2021w #JTF2021w‗g 2021.01.24 43 まとめ:ありきたりだけど・・・ 楽しいこと 学びがあること 成果があること 両立がとっても重要 どれが欠けてもつらい

    個人開発・チーム開発は
  44. #JFT2021w #JTF2021w‗g 2021.01.24 44 今回身に染みたこと・・・ 「義務」ではない開発では どれかが欠けると如実に進捗に表れる モチベ駆動開発は、 短期集中・短期決戦を旨とする

  45. #JFT2021w #JTF2021w‗g 2021.01.24 45 告知① 今日の開発経緯が載った本はこちら https://techbookfest.org/product/6206369472446464 https://gipotal.booth.pm/ 152P 1000円。

    ギポタル開発記 -モブワークで学びながらわいわい作る 技術同人誌ポータル‐ 技術書典、Boothで頒布中。 参加者募集中 Webサービス作ってみたい モブワーク・モブプログラミングやってみたい などなど。
  46. #JFT2021w #JTF2021w‗g 2021.01.24 46 告知② 技術同人誌書きませんか? 現在進行中の企画 気になったら「書いてみたいかも」などつぶやいて! 探して声かけます。 カンファレンス参加を後押しする本

    - カンファレンスの探し方 - セッションをより楽しむ方法 聴講、メモ、インプットの仕方 - オンライン/オフライン交流を楽しむ方法 - ブログを書くまでがカンファレンス参加です などなど。 1ページ、コラム1本からでも参加OK。 https://note.com/oyakata2438/n/nb0747d0846f1
  47. #JFT2021w #JTF2021w‗g 2021.01.24 47 今聞いてる方、この後Youtubeで追っかけで聴く方へ ぜひ参加を - カンファレンスに参加している時点で執筆可能 - あなたの経験、やってることを共有して、

    楽しい思いをする人を増やしましょう - アウトプットの練習にも! 1ページ、コラム1本からでも参加OK。
  48. #JFT2021w #JTF2021w‗g 2021.01.24 48 告知③ 同人誌から商業化した本もあります。

  49. #JFT2021w #JTF2021w‗g 2021.01.24 49 告知④ 次回の技書博は・・・ •2021年6月19日(土) •大田区産業プラザPiO 大展示ホール •オフライン+オンラインのハイブリッド予定

    •楽しい企画を検討中 •3月頭ごろにサークル募集開始(予定) •Twitter @gishohaku をチェックしてね! •協賛にご興味ある方はお声がけください イベントのコンセプト、設計などは、D1を聴いてください D1:技術イベント主催を通じて利用者体験を設計する
  50. #JFT2021w #JTF2021w‗g 2021.01.24 50 質問・コメントあれば Zoom 質問ルームGにいます。 トラックG #jtf2021w_g または、

    Twitter @oyakata2438まで お気軽にー