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
プライベートでの開発を継続する技術 / techniques to keep personal...
Search
takamii228
May 27, 2018
0
530
プライベートでの開発を継続する技術 / techniques to keep personal development
Swift愛好会 vol.31 でのLT資料です。個人開発をうまくやる方法について話しました(うまく行っているとは言っていない)
takamii228
May 27, 2018
Tweet
Share
More Decks by takamii228
See All by takamii228
私の情報の集め方、知識の学び方 / how-to-get-information-takamii228
takamii228
0
550
DevFest Tokyo2020 Flutter LT takamii228
takamii228
1
1k
gitlab review practice
takamii228
3
4.3k
Jenkinsstudy2018 juc2018 takamii228
takamii228
5
5.1k
XPJUG2018-lt-takamii228
takamii228
0
2.2k
Goで絵文字メーカーを作ってみた / gopher-dojo2-emojigen
takamii228
0
440
開発支援ツールで疲弊しているあなたへ / for exhausted developers with management tools
takamii228
0
290
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Building an army of robots
kneath
302
43k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Facilitating Awesome Meetings
lara
50
6.1k
Designing for humans not robots
tammielis
250
25k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
It's Worth the Effort
3n
183
27k
KATA
mclloyd
29
14k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Agile that works and the tools we love
rasmusluckow
327
21k
Transcript
プライベートでの開発を継続する技術 Swift愛好会 vol.31 @takamii228
自己紹介 • @takamii228 • エンタープライズな会社の Agile専門組織に所属 ◦ 認定スクラムマスター ◦ アジャイル開発のプロジェクト支援と研究開発
• アプリ、アーキテクチャ、CI/CD、AWS等なんでもやる雑食系 ◦ 主にJava(Spring Boot), PHP, Swaggerとか ◦ Swift(iOS)は趣味で触ってる • 趣味 ◦ ランニング、料理、アウトドアなどなど
私とSwift(iOS) • 2015年12月 叩き売りされたUdemyのiOS入門をやる • 2016年5月 iPhone 6S (SIMフリー) を買う
• ... • 2017年12月 叩き売りされたUdemyのiOS入門を再びやり、アプリを作る決意をする • 2018年3月 Apple税を納付(Developer Accountを購入) • ~ 現在 位置情報使ったランニングアプリを開発中
プライベートでの開発、 続いてますか?
プライベートでの開発は挫折しやすい • 最初は風呂敷を広げて夢を見る • でも本業が忙しいとなかなか時間が取れない • たとえ時間があっても何から手を付けようか迷い進まない • 間が空いてしまい、腰が重くなる •
新しいことに目移りして本来やろうとしたことを見失う • そしてやらなくなる
なぜ挫折するのか? 1. 作ろうとしているものが大きすぎる 2. 完成までの道筋や、やるべきことが不透明でよくわからない 3. ずっと一人でやっていて辛い
リーンに、Just In Timeで やってみよう
リーンとJust In Time • リーンスタートアップ ◦ 新規事業や新規サービスの成功率を高めるモデル ◦ MVP(Minimum Viable
Product)を定義する ◦ MVPをつかってPlan - Build - Measureの仮説検証サイクルを回す ◦ MVPのフィードバックから学習し、失敗のリスクを低減する • Just In Time ◦ 必要なものを、必要なときに、必要な量だけ作る ◦ カンバンを使ったタスク管理 ◦ スクラムの原型
作りたいもののMVPを細かく定義する • 作りたいものを細かい機能の集合に分割する ◦ 1~2時間くらいでできる大きさ ◦ 実装のイメージが湧く大きさ ◦ 「名詞」+「動詞」のユーザーストーリー形式でかく •
例:Nike Runを遠隔でみんなで共有しながらできるアプリ ◦ Google Map APIと位置情報を使って画面に現在地を地図表示する ◦ 位置情報を使って移動距離を測れるようにする ◦ タイマー機能をつけて走った距離とタイムを測れるようにする ◦ テキストを音声で流せるようにする ◦ 経過時間や走行距離を音声で流せるようにする ◦ 他の人の走行距離や経過時間を音声で流せるようにする ◦ ...
周りからフィードバックをもらう • 実際に作って動かしてみないとわからないことも多い ◦ 実現可能性や設計の妥当性 ◦ 位置情報の精度 • フィードバックから学び、やる気を補充する ◦
「すごい!」「どうやってるの?」「こうやったらいいんじゃない?」 ◦ アプリの方向性の確認になる • 周りからの「あれどうなってる?」が尻叩きになる
カンバンでJust In Timeにチケットを管理する • To DoとWIPの間にReadyを挟む ◦ To Doは作りたい機能リストを入れる •
タスクが着手可能な状態にまで詳細化し期限を入れて初めて Ready ◦ チケット名は「名詞」 +「動詞」のユーザーストーリー形式がわかりやすい • WIPが空になるまで次のタスクには手を付けない ◦ 何らかの理由でとん挫したものは別のレーンに入れる • チケットを作って満足しない ◦ 毎日カンバンを見る癖をつける
私のカンバンボード(Trello)
自分を追い込む • ◦◦駆動で作業を進める ◦ 締め切り駆動 ◦ イベント、勉強会駆動 • もくもく会に参加して、作業時間を確保する ◦
強制的に作業する枠を用意する ◦ 周りがやってると自分も作業が進む • 「なんでやるんだっけ」を突き詰める ◦ モチベーションの源泉を再確認し、やる気をひねり出す ◦ 他の作業との優先順位や、やらなくてもいいことが整理できる
で、うまくいってるの?
ぶっちゃけ五分五分 • やっぱり本業が忙しかったり、土日に予定があると進まない • 細切れ時間でも進められるように MVPをもっと小さくするといいかも • やる気があるとき、気分が乗ってきたときに一気にやる • やりだすと意外と進んだりする
今後やってみたいこと • アプリをストアを経由せずに友人に配布したい (deploygate) • Firebase ごりごり使ってみたい • fastlane等でiOSのCI/CDの仕組みを作ってみたい •
いつかお仕事でiOS案件を・・・
まとめ プライベートの開発で挫折しないために • リーンにやってみよう ◦ 作りたいもののMVPを細かく定義する ◦ 作ったものを周りに見せてフィードバックをもらう • タスクをJust
In Timeに管理してみよう ◦ To DoとWIPの間にReadyを挟んでタスクを詳細化する ◦ タスクボードを放置しない • 自分を追い込んでみよう ◦ 勉強会やもくもく会をうまく活用する ◦ モチベーションの源泉を再確認する