プライベートでの開発を継続する技術 / techniques to keep personal development
by
takamii228
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
プライベートでの開発を継続する技術 Swift愛好会 vol.31 @takamii228
Slide 2
Slide 2 text
自己紹介 ● @takamii228 ● エンタープライズな会社の Agile専門組織に所属 ○ 認定スクラムマスター ○ アジャイル開発のプロジェクト支援と研究開発 ● アプリ、アーキテクチャ、CI/CD、AWS等なんでもやる雑食系 ○ 主にJava(Spring Boot), PHP, Swaggerとか ○ Swift(iOS)は趣味で触ってる ● 趣味 ○ ランニング、料理、アウトドアなどなど
Slide 3
Slide 3 text
私とSwift(iOS) ● 2015年12月 叩き売りされたUdemyのiOS入門をやる ● 2016年5月 iPhone 6S (SIMフリー) を買う ● ... ● 2017年12月 叩き売りされたUdemyのiOS入門を再びやり、アプリを作る決意をする ● 2018年3月 Apple税を納付(Developer Accountを購入) ● ~ 現在 位置情報使ったランニングアプリを開発中
Slide 4
Slide 4 text
プライベートでの開発、 続いてますか?
Slide 5
Slide 5 text
プライベートでの開発は挫折しやすい ● 最初は風呂敷を広げて夢を見る ● でも本業が忙しいとなかなか時間が取れない ● たとえ時間があっても何から手を付けようか迷い進まない ● 間が空いてしまい、腰が重くなる ● 新しいことに目移りして本来やろうとしたことを見失う ● そしてやらなくなる
Slide 6
Slide 6 text
なぜ挫折するのか? 1. 作ろうとしているものが大きすぎる 2. 完成までの道筋や、やるべきことが不透明でよくわからない 3. ずっと一人でやっていて辛い
Slide 7
Slide 7 text
リーンに、Just In Timeで やってみよう
Slide 8
Slide 8 text
リーンとJust In Time ● リーンスタートアップ ○ 新規事業や新規サービスの成功率を高めるモデル ○ MVP(Minimum Viable Product)を定義する ○ MVPをつかってPlan - Build - Measureの仮説検証サイクルを回す ○ MVPのフィードバックから学習し、失敗のリスクを低減する ● Just In Time ○ 必要なものを、必要なときに、必要な量だけ作る ○ カンバンを使ったタスク管理 ○ スクラムの原型
Slide 9
Slide 9 text
作りたいもののMVPを細かく定義する ● 作りたいものを細かい機能の集合に分割する ○ 1~2時間くらいでできる大きさ ○ 実装のイメージが湧く大きさ ○ 「名詞」+「動詞」のユーザーストーリー形式でかく ● 例:Nike Runを遠隔でみんなで共有しながらできるアプリ ○ Google Map APIと位置情報を使って画面に現在地を地図表示する ○ 位置情報を使って移動距離を測れるようにする ○ タイマー機能をつけて走った距離とタイムを測れるようにする ○ テキストを音声で流せるようにする ○ 経過時間や走行距離を音声で流せるようにする ○ 他の人の走行距離や経過時間を音声で流せるようにする ○ ...
Slide 10
Slide 10 text
周りからフィードバックをもらう ● 実際に作って動かしてみないとわからないことも多い ○ 実現可能性や設計の妥当性 ○ 位置情報の精度 ● フィードバックから学び、やる気を補充する ○ 「すごい!」「どうやってるの?」「こうやったらいいんじゃない?」 ○ アプリの方向性の確認になる ● 周りからの「あれどうなってる?」が尻叩きになる
Slide 11
Slide 11 text
カンバンでJust In Timeにチケットを管理する ● To DoとWIPの間にReadyを挟む ○ To Doは作りたい機能リストを入れる ● タスクが着手可能な状態にまで詳細化し期限を入れて初めて Ready ○ チケット名は「名詞」 +「動詞」のユーザーストーリー形式がわかりやすい ● WIPが空になるまで次のタスクには手を付けない ○ 何らかの理由でとん挫したものは別のレーンに入れる ● チケットを作って満足しない ○ 毎日カンバンを見る癖をつける
Slide 12
Slide 12 text
私のカンバンボード(Trello)
Slide 13
Slide 13 text
自分を追い込む ● ○○駆動で作業を進める ○ 締め切り駆動 ○ イベント、勉強会駆動 ● もくもく会に参加して、作業時間を確保する ○ 強制的に作業する枠を用意する ○ 周りがやってると自分も作業が進む ● 「なんでやるんだっけ」を突き詰める ○ モチベーションの源泉を再確認し、やる気をひねり出す ○ 他の作業との優先順位や、やらなくてもいいことが整理できる
Slide 14
Slide 14 text
で、うまくいってるの?
Slide 15
Slide 15 text
ぶっちゃけ五分五分 ● やっぱり本業が忙しかったり、土日に予定があると進まない ● 細切れ時間でも進められるように MVPをもっと小さくするといいかも ● やる気があるとき、気分が乗ってきたときに一気にやる ● やりだすと意外と進んだりする
Slide 16
Slide 16 text
今後やってみたいこと ● アプリをストアを経由せずに友人に配布したい (deploygate) ● Firebase ごりごり使ってみたい ● fastlane等でiOSのCI/CDの仕組みを作ってみたい ● いつかお仕事でiOS案件を・・・
Slide 17
Slide 17 text
まとめ プライベートの開発で挫折しないために ● リーンにやってみよう ○ 作りたいもののMVPを細かく定義する ○ 作ったものを周りに見せてフィードバックをもらう ● タスクをJust In Timeに管理してみよう ○ To DoとWIPの間にReadyを挟んでタスクを詳細化する ○ タスクボードを放置しない ● 自分を追い込んでみよう ○ 勉強会やもくもく会をうまく活用する ○ モチベーションの源泉を再確認する