Upgrade to Pro — share decks privately, control downloads, hide ads and more …

プライベートでの開発を継続する技術 / techniques to keep personal...

takamii228
May 27, 2018
530

プライベートでの開発を継続する技術 / techniques to keep personal development

Swift愛好会 vol.31 でのLT資料です。個人開発をうまくやる方法について話しました(うまく行っているとは言っていない)

takamii228

May 27, 2018
Tweet

Transcript

  1. 自己紹介 • @takamii228 • エンタープライズな会社の Agile専門組織に所属 ◦ 認定スクラムマスター ◦ アジャイル開発のプロジェクト支援と研究開発

    • アプリ、アーキテクチャ、CI/CD、AWS等なんでもやる雑食系 ◦ 主にJava(Spring Boot), PHP, Swaggerとか ◦ Swift(iOS)は趣味で触ってる • 趣味 ◦ ランニング、料理、アウトドアなどなど
  2. 私とSwift(iOS) • 2015年12月 叩き売りされたUdemyのiOS入門をやる • 2016年5月 iPhone 6S (SIMフリー) を買う

    • ... • 2017年12月 叩き売りされたUdemyのiOS入門を再びやり、アプリを作る決意をする • 2018年3月 Apple税を納付(Developer Accountを購入) • ~ 現在 位置情報使ったランニングアプリを開発中
  3. リーンとJust In Time • リーンスタートアップ ◦ 新規事業や新規サービスの成功率を高めるモデル ◦ MVP(Minimum Viable

    Product)を定義する ◦ MVPをつかってPlan - Build - Measureの仮説検証サイクルを回す ◦ MVPのフィードバックから学習し、失敗のリスクを低減する • Just In Time ◦ 必要なものを、必要なときに、必要な量だけ作る ◦ カンバンを使ったタスク管理 ◦ スクラムの原型
  4. 作りたいもののMVPを細かく定義する • 作りたいものを細かい機能の集合に分割する ◦ 1~2時間くらいでできる大きさ ◦ 実装のイメージが湧く大きさ ◦ 「名詞」+「動詞」のユーザーストーリー形式でかく •

    例:Nike Runを遠隔でみんなで共有しながらできるアプリ ◦ Google Map APIと位置情報を使って画面に現在地を地図表示する ◦ 位置情報を使って移動距離を測れるようにする ◦ タイマー機能をつけて走った距離とタイムを測れるようにする ◦ テキストを音声で流せるようにする ◦ 経過時間や走行距離を音声で流せるようにする ◦ 他の人の走行距離や経過時間を音声で流せるようにする ◦ ...
  5. 周りからフィードバックをもらう • 実際に作って動かしてみないとわからないことも多い ◦ 実現可能性や設計の妥当性 ◦ 位置情報の精度 • フィードバックから学び、やる気を補充する ◦

    「すごい!」「どうやってるの?」「こうやったらいいんじゃない?」 ◦ アプリの方向性の確認になる • 周りからの「あれどうなってる?」が尻叩きになる
  6. カンバンでJust In Timeにチケットを管理する • To DoとWIPの間にReadyを挟む ◦ To Doは作りたい機能リストを入れる •

    タスクが着手可能な状態にまで詳細化し期限を入れて初めて Ready ◦ チケット名は「名詞」 +「動詞」のユーザーストーリー形式がわかりやすい • WIPが空になるまで次のタスクには手を付けない ◦ 何らかの理由でとん挫したものは別のレーンに入れる • チケットを作って満足しない ◦ 毎日カンバンを見る癖をつける
  7. 自分を追い込む • ◦◦駆動で作業を進める ◦ 締め切り駆動 ◦ イベント、勉強会駆動 • もくもく会に参加して、作業時間を確保する ◦

    強制的に作業する枠を用意する ◦ 周りがやってると自分も作業が進む • 「なんでやるんだっけ」を突き詰める ◦ モチベーションの源泉を再確認し、やる気をひねり出す ◦ 他の作業との優先順位や、やらなくてもいいことが整理できる
  8. まとめ プライベートの開発で挫折しないために • リーンにやってみよう ◦ 作りたいもののMVPを細かく定義する ◦ 作ったものを周りに見せてフィードバックをもらう • タスクをJust

    In Timeに管理してみよう ◦ To DoとWIPの間にReadyを挟んでタスクを詳細化する ◦ タスクボードを放置しない • 自分を追い込んでみよう ◦ 勉強会やもくもく会をうまく活用する ◦ モチベーションの源泉を再確認する