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.2k
XPJUG2018-lt-takamii228
takamii228
0
2.2k
Goで絵文字メーカーを作ってみた / gopher-dojo2-emojigen
takamii228
0
450
開発支援ツールで疲弊しているあなたへ / for exhausted developers with management tools
takamii228
0
290
Featured
See All Featured
Music & Morning Musume
bryan
46
6.2k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Rails Girls Zürich Keynote
gr2m
94
13k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Code Review Best Practice
trishagee
65
17k
Six Lessons from altMBA
skipperchong
27
3.5k
Fireside Chat
paigeccino
34
3.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
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を挟んでタスクを詳細化する ◦ タスクボードを放置しない • 自分を追い込んでみよう ◦ 勉強会やもくもく会をうまく活用する ◦ モチベーションの源泉を再確認する