2021年1月24日 July Tech Festa 2021 Winter G2 チーム開発の光と闇・成果と挫折と 11:15~12:15 @oyakata2438
#JFT2021w #JTF2021w‗g 2021.01.24チーム開発の光と闇成果と挫折とおやかた | @oyakata24381
View Slide
#JFT2021w #JTF2021w‗g 2021.01.24 2About Meおやかた(@親方Project)@oyakata2438大規模プラント向け計測センサ開発(社内向け)技術同人誌・合同誌● レーザープロジェクター自作(と周辺実装)● 技術同人誌を書こう● ワンストップ見積もり本● ワンストップ勉強会 and more ...and more...
#JFT2021w #JTF2021w‗g 2021.01.24 3Agenda: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モブワークで作るギポタル|技術同人誌ポータルモブワーク:複数人で一つの画面・コードを見ながら進めるワークZOOMMURAL(コード以外のワーク)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/6206369472446464https://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/6206369472446464https://booth.pm/ja/items/2368542152ページ(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/6206369472446464https://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までお気軽にー