Slide 1

Slide 1 text

学生が個人開発で
 イケてる成果物を作るコツ
 @技育祭2021


Slide 2

Slide 2 text

自己紹介
 ● 小賀 昌法
 ○ 株式会社VOYAGE GROUP 取締役CTO (2010年7月 - )
 ○ 株式会社CARTA HOLDINGS 執行役員CTO (2020年1月 - )
 ○ 日本CTO協会 理事
 ● 技育祭2020でのセッション
 ○ タイトル『400人以上のインターン生を受け入れ成長させてきたCTOが考える若手エンジニアが成長するコツ』
 ■ 「若手エンジニアが成長するコツ」で検索してみてね
 ○ スライド https://speakerdeck.com/makoga/three-tips-for-young-engineers-to-grow-and-examples-of-voyage-group-practice
 ○ 講演動画 https://www.youtube.com/watch?v=_aw5SLdiwTM
 ○ 補足記事 https://techlog.voyagegroup.com/entry/geeksai2020_growing-tips-for-young-engineers
 ● 書籍『Engineers in VOYAGE ー 事業をエンジニアリングする技術者たち』の企画、監修
 ○ https://techlog.voyagegroup.com/voyagebook 


Slide 3

Slide 3 text

イケてる成果物を作る 
 にはどうすればいいのか?


Slide 4

Slide 4 text

すでに多くの知見が入手できる
 https://www.amazon.co.jp/dp/B07P5K4DQ3/ https://www.oreilly.co.jp/books/9784873119250/ https://www.amazon.co.jp/dp/B086GBXRN6/ https://www.amazon.co.jp/dp/B082WXZVPC/ イケてる成果物を作るにはどうすればいいのか? 


Slide 5

Slide 5 text

学生の個人開発はここが違う
 イケてる成果物を作るにはどうすればいいのか? 
 時間がない チームじゃない 締切がない

Slide 6

Slide 6 text

学生が個人開発で イケてる成果物を作る 
 にはどうすればいいのか?


Slide 7

Slide 7 text

小さく作り、磨いていく
 Small Base App 1. ベースとなる小さな アプリを作る 2. UXと内部品質を磨く Awesome App 学生が個人開発でイケてる成果物を作るにはどうすればいいのか? 


Slide 8

Slide 8 text

目次
 ● [13:35] 自己紹介
 ● [13:38] 学生が個人開発でイケてる成果物を作るには
 ● [13:40] 1. ベースとなる小さなアプリを作る
 ● [13:57] Q&A
 ● [14:00] 2. UXと内部品質を磨く
 ● [14:15] Treasureの紹介
 ● [14:25] Q&A


Slide 9

Slide 9 text

目次
 ● [13:35] 自己紹介
 ● [13:38] 学生が個人開発でイケてる成果物を作るには
 ● [13:40] 1. ベースとなる小さなアプリを作る
 ● [13:57] Q&A
 ● [14:00] 2. UXと内部品質を磨く
 ● [14:15] Treasureの紹介
 ● [14:25] Q&A


Slide 10

Slide 10 text

小さく作り、磨いていく
 Small Base App 1. ベースとなる小さな アプリを作る 2. UXと内部品質を磨く Awesome App 学生が個人開発でイケてる成果物を作るにはどうすればいいのか? 


Slide 11

Slide 11 text

よくある悩み
 作りたいものが
 決まらない


Slide 12

Slide 12 text

作りたいものが決まらないときのコツ
 すでにあるものを模倣して、 小さな成果物を作ることから始めてみよう ゲームとか?
 サービスとか?
 作りたいものが
 決まらない


Slide 13

Slide 13 text

考えることは山のようにある
 入門 起業の科学 STEP 0 「成功に至るプロセス」を理解するから抜粋

Slide 14

Slide 14 text

模倣することのメリットは考えることを減らせること
 入門 起業の科学 STEP 0 「成功に至るプロセス」を理解するから抜粋 このあたりに 注力できる

Slide 15

Slide 15 text

よくある悩み
 やることが多すぎて
 終わらない


Slide 16

Slide 16 text

やることが多すぎるときのコツ
 優先順位をつけて、今すぐ必要なこと に手をつけよう やることが多すぎて
 終わらない


Slide 17

Slide 17 text

すでにあるものを模倣して、 小さな 成果物を作ることから始めてみよう ゴールが大規模でもいいが、まずは小さくする
 ゲームとか?
 サービスとか?
 やることが多すぎるときのコツ 
 世界中の人とオンラインで闘う バトルロイヤル・ゲームとか 日本競馬史にその名を刻んだ名馬 たちをモデルとした娘がレースす るゲームとか

Slide 18

Slide 18 text

大きなものを小さく作り始めるときの考え方
 ● まずはスケボーを作る ○ 試せることが大事 ● タイヤから作らない ○ 部品にこだわりたくなっても我慢 ● 目的を達成する最小の動くもの を作る やることが多すぎるときのコツ 
 https://herdingcats.typepad.com/my_weblog/2014/07/the-myth-of-incremental-development.html

Slide 19

Slide 19 text

ターゲットを絞る
 ● 例 ○ iOS14単体で動くアプリ ○ サーバーサイドでHTMLを返す Webアプリ ○ HTML+JavaScript やることが多すぎるときのコツ 


Slide 20

Slide 20 text

優先順位の付け方
 ● 機能等を書き出す(バックログ) ● 優先順位をつける やることが多すぎるときのコツ 
 http://agile.blog.jp/agile_scrum/14974437.html

Slide 21

Slide 21 text

優先順位の付け方
 ● ユーザーが頻繁に使うコアな機能 ● 不確実性の高い技術 ○ 使ったことのない技術、外部API やることが多すぎるときのコツ 
 https://slide.meguro.ryuzee.com/slides/101?vertical=1

Slide 22

Slide 22 text

ユーザ同士がコミュニケーションす るWebサービスを作りたいときの例 として、Twitterを模倣して考えて みる 模倣して小さな成果物を作る例


Slide 23

Slide 23 text

ターゲットを絞る: Twitterを模倣
 サーバーサイドでHTMLを返すWebアプ リに絞る やることが多すぎるときのコツ 


Slide 24

Slide 24 text

大きな課題を分割するときの考え方: Twitterを模倣
 やることが多すぎるときのコツ 
 https://herdingcats.typepad.com/my_weblog/2014/07/the-myth-of-incremental-development.html 何があると スケボーになる?

Slide 25

Slide 25 text

優先順位の付け方: Twitterを模倣
 ● 1st priority ○ ツイートする ○ 自分のツイートがタイムラインに 表示される ● 2nd priority ○ 他のユーザーをフォローする ○ フォローしたユーザーのツイート と自分のツイートがタイムライン に表示される やることが多すぎるときのコツ 
 http://agile.blog.jp/agile_scrum/14974437.html ーーーーーーーーーーーーーーーー
 ここまでをベースアプリとするのは どうか?

Slide 26

Slide 26 text

優先順位の付け方: Twitterを模倣
 ● 3rd priority ○ いいねする ○ 返信する ○ リツイートする ■ 引用なし ■ 引用あり ○ プロフィールを登録・編集する ○ プロフィールと一覧が連携してい る ● 4th priority ○ ユーザー登録する ○ 認証する ○ 画像をアップロードする やることが多すぎるときのコツ 
 http://agile.blog.jp/agile_scrum/14974437.html いいねをベースアプリに入れても いいかも?
 ーーーーーーーーーーーーーーーー


Slide 27

Slide 27 text

小さく作り、磨いていく
 Small Base App 1. ベースとなる小さな アプリを作る 2. UXと内部品質を磨く Awesome App 学生が個人開発でイケてる成果物を作るにはどうすればいいのか? 


Slide 28

Slide 28 text

目次
 ● [13:35] 自己紹介
 ● [13:38] 学生が個人開発でイケてる成果物を作るには
 ● [13:40] 1. ベースとなる小さなアプリを作る
 ● [13:57] Q&A
 ● [14:00] 2. UXと内部品質を磨く
 ● [14:15] Treasureの紹介
 ● [14:25] Q&A


Slide 29

Slide 29 text

目次
 ● [13:35] 自己紹介
 ● [13:38] 学生が個人開発でイケてる成果物を作るには
 ● [13:40] 1. ベースとなる小さなアプリを作る
 ● [13:57] Q&A
 ● [14:00] 2. UXと内部品質を磨く
 ● [14:15] Treasureの紹介
 ● [14:25] Q&A


Slide 30

Slide 30 text

小さく作り、磨いていく
 Small Base App 1. ベースとなる小さな アプリを作る 2. UXと内部品質を磨く Awesome App 学生が個人開発でイケてる成果物を作るにはどうすればいいのか? 


Slide 31

Slide 31 text

よくある悩み
 最低限はできたけど
 ここからアイデアが
 ない


Slide 32

Slide 32 text

追加したい機能や改善点が思いつかないときのコツ
 
 
 
 フィードバックをもらい UXを磨く 基盤やコードを整備し 内部品質を磨く 最低限はできたけど
 ここからアイデアが
 ない


Slide 33

Slide 33 text

フィードバックをもらい、UXを磨く
 ● 友人・知人に作ったものを使っ てもらおう ● 使い方に迷っていたり、自分が 考えていたのと違う操作をした ときがあれば、メモっておこう ● 一通り使ってもらったら感想を 聞こう 追加したい機能や改善点が思いつかないときのコツ 


Slide 34

Slide 34 text

参考:プロダクトインタビュー
 ● 質問リストの抜粋 ○ これは何をするものだと思いますか? ○ 今、何をしようとしていますか? ○ XXXボタンは何をするものだと思いますか? ○ XXXボタンは期待通りに動きましたか? ○ 期待通りでないならば、どのように動くと期待して いましたか? ● チェックポイントの抜粋 ○ そのプロトタイプを使っていて何かつまづいたこと はあったか? ○ ユーザーがUXによって何を助けてほしいか、どのよ うな体験をしたいかについて(作り手側が)言語化 できたか? 追加したい機能や改善点が思いつかないときのコツ 
 https://www.amazon.co.jp/dp/B07P5K4DQ3/ 入門 起業の科学 『CHECK 28 「プロダクトインタビュー」でユーザー体験を検証』から抜粋

Slide 35

Slide 35 text

フィードバックで得た気付きから、 バックログを追加し、優先順位をつ ける。 http://agile.blog.jp/agile_scrum/14974437.html フィードバックをもらい、UXを磨く
 追加したい機能や改善点が思いつかないときのコツ 


Slide 36

Slide 36 text

追加したい機能や改善点が思いつかないときのコツ
 
 
 
 フィードバックをもらい UXを磨く 
 
 
 基盤やコードを整備し 内部品質を磨く 
 最低限はできたけど
 ここからアイデアが
 ない


Slide 37

Slide 37 text

基盤やコードを整備し、内部品質を磨く
 ● 他のPCでも開発できるようにする ○ GitHubなどにPush ○ README、開発ドキュメントを書く ○ 1ステップで環境構築できるようにする ● テストを充実させる ○ 1ステップでテストを実行できるように する ○ テストコードを書く ● ゼロから書き直してみるのもあり ○ 前回よりも短かい時間でキレイなコード が書けるはず 追加したい機能が思いつかないときのコツ 


Slide 38

Slide 38 text

基盤やコードを整備し、内部品質を磨く
 ● 他のPCでも開発できるようにする ○ GitHubなどにPush ○ README、開発ドキュメントを書く ○ 1ステップで環境構築できるようにする ● テストを充実させる ● ゼロから書き直してみるのもあり 追加したい機能が思いつかないときのコツ 
 VOYAGE GROUPにある実際のリポジトリの READMEから抜粋

Slide 39

Slide 39 text

基盤やコードを整備し、内部品質を磨く
 ● 他のPCでも開発できるようにする ● テストを充実させる ○ 1ステップでテストを実行できるように する ○ テストコードを書く ■ 参考 ● テストコードのリファクタリ ングが目指すもの/DXD 2021 ● ゼロから書き直してみるのもあり 追加したい機能が思いつかないときのコツ 
 VOYAGE GROUPにある実際の リポジトリの READMEから抜粋 VOYAGE GROUPではほとんどのチームが複 数の言語を使っており、上記のように makeから testやbuildを行えるようにしていることが多い

Slide 40

Slide 40 text

基盤やコードを整備し、内部品質を磨く
 ● 他のPCでも開発できるようにする ● テストを充実させる ● ゼロから書き直してみるのもあり ○ 前回よりも短かい時間でキレイなコード が書けるはず 追加したい機能が思いつかないときのコツ 


Slide 41

Slide 41 text

イケてる成果物を作る 
 にはどうすればいいのか?
 再掲

Slide 42

Slide 42 text

すでに多くの知見が入手できる
 https://www.amazon.co.jp/dp/B07P5K4DQ3/ https://www.oreilly.co.jp/books/9784873119250/ https://www.amazon.co.jp/dp/B086GBXRN6/ https://www.amazon.co.jp/dp/B082WXZVPC/ イケてる成果物を作るにはどうすればいいのか? 
 再掲

Slide 43

Slide 43 text

学生の個人開発はここが違う
 イケてる成果物を作るにはどうすればいいのか? 
 時間がない チームじゃない 締切がない 再掲

Slide 44

Slide 44 text

学生が個人開発で イケてる成果物を作る 
 にはどうすればいいのか?
 再掲

Slide 45

Slide 45 text

すでにあるものを模倣して、 小さな成果物を作ることから始めてみよう 作りたいものが決まらないときのコツ
 ゲームとか?
 サービスとか?
 作りたいものが
 決まらない
 再掲

Slide 46

Slide 46 text

やることが多すぎるときのコツ
 優先順位をつけて、今すぐ必要なこと に手をつけよう
 やることが多すぎて
 終わらない
 再掲

Slide 47

Slide 47 text

追加したい機能や改善点が思いつかないときのコツ
 
 
 
 フィードバックをもらい UXを磨く 基盤やコードを整備し 内部品質を磨く 
 最低限はできたけど
 ここからアイデアが
 ない
 再掲

Slide 48

Slide 48 text

小さく作り、磨いていくことで、
 多くのイケてる成果物が生み出されることを
 期待してます!
 Small Base App 1. ベースとなる小さな アプリを作る 2. UXと内部品質を磨く Awesome App 学生が個人開発でイケてる成果物を作るにはどうすればいいのか? 


Slide 49

Slide 49 text

目次
 ● [13:35] 自己紹介
 ● [13:38] 学生が個人開発でイケてる成果物を作るには
 ● [13:40] 1. ベースとなる小さなアプリを作る
 ● [13:57] Q&A
 ● [14:00] 2. UXと内部品質を磨く
 ● [14:15] Treasureの紹介
 ● [14:25] Q&A


Slide 50

Slide 50 text

学生の個人開発はここが違う
 イケてる成果物を作るにはどうすればいいのか? 
 時間がない チームじゃない 締切がない 再掲

Slide 51

Slide 51 text

3週間でチーム開発するTreasureで全て解決!
 イケてる成果物を作るにはどうすればいいのか? 
 時間がない チームじゃない 締切がない 解決 解決 解決

Slide 52

Slide 52 text

No content

Slide 53

Slide 53 text

Go言語を使って学ぶ
 価値のあるもの創りとチーム開発
 8/9(月)〜8/27(金)
 https://voyagegroup.snar.jp/jobboard/apply.aspx

Slide 54

Slide 54 text

インプット/アウトプットのサイクル
 1 講義:6日間 チーム開発:8日間 Input Output

Slide 55

Slide 55 text

1 【Treasure2021講義内容】
 
 ・フロントエンド(TypeScript)
 ・バックエンド(Go)
 ・データベース設計
 ・インフラ / セキュリティ(AWS)
 ・アイデアを出す考え方
 
 小さく、シンプルな ベースアプリが用意して あります! インプット/アウトプットのサイクル


Slide 56

Slide 56 text

1 【Treasure2021チーム開発内容】
 
 ・4人1組でチーム開発
 ・各チームにクルー2名がフルコミット
 ・ペアプロ / コードレビューをがっつり
 ・VOYAGE GROUPのエンジニアリング文化を体感
 
 学生4人、クルー2人で 最終プレゼンに向け チーム開発します! インプット/アウトプットのサイクル


Slide 57

Slide 57 text

フルコミット体制
 2 24名    40名
 Treasure生より、講師・サポーターの方が多い!!

Slide 58

Slide 58 text

昨年のTreasure生の声
 3 Webの面白さはもちろんですが、 それ以上にプロダクトづくりの面白さを肌で実感することができました! 自分の作りたいもの・価値あるものを作れるように 今後も技術に貪欲にいたいと思いました! #voyage_intern 圧倒的に考え方も立ち回りかたも成長できた。 本当にいい夏だった! 最後までサポートしていただいて、本当に感謝して います。これからのエンジニア人生の一部にな ることは間違いないです!

Slide 59

Slide 59 text

目次
 ● [13:35] 自己紹介
 ● [13:38] 学生が個人開発でイケてる成果物を作るには
 ● [13:40] 1. ベースとなる小さなアプリを作る
 ● [13:57] Q&A
 ● [14:00] 2. UXと内部品質を磨く
 ● [14:15] Treasureの紹介
 ● [14:25] Q&A


Slide 60

Slide 60 text

技術書部門大賞と 審査員特別賞受賞の ダブル受賞!! 『Engineers in VOYAGE ― 事業をエンジニアリングする技術者たち』
 https://techlog.voyagegroup.com/voyagebook PR

Slide 61

Slide 61 text

https://speakerdeck.com/twada/engineers-in-voyage どんな内容かはITエンジニア本大賞の決勝プレゼンのスライドに詰まっています!
 PR