最初はかすり傷だと思ってバンドエイドで治療してたけど1ヶ月後にレントゲンとったら骨折してた話

私のなかで2017年上半期のやらかし大賞に選ばれたので後世の私のために書き残す。

※あまり推敲はしていない。そろそろ忘れそう(発生から3ヶ月くらいたった)なので書いた。

結論

簡単な方法で対処したけど影響を見誤ってて、結局大きな改修が必要だった。 冷静に影響範囲を判断して適切に対応しましょうねという事案。

前提

私 : 企画者兼プロダクトマネージャー兼サーバサイド等担当。特にphpでのサーバサイド開発に自信が無い。

2016年末にリリースしたサービスの姉妹サービスの開発をやっていくプロジェクトが2017年2月に始動し、 私は前回のアプリから引き続きプロジェクトを主体的に進めていく役割でチームを作った。

前回よりも画面数が2倍、機能数が4倍あったのでオーナーさんにお願いして助っ人の開発者さんをお願いした。 開発3名(うち1人は私)デザイン1名という人員で、フルコミットは私一人、開発者の人とのコミュンケーションは基本チャットで。 必要なタイミングで対面で打ち合わせを行うという体制。

いろいろあって3月初旬に本格的に開発に入っていった。

顛末

開発しているサービスで、とあるイベントを発火させるタイミングをずらすというサービス仕様の変更があった。

※ちなみにこの変更は私の仕様の勘違いで発生した><;;

当時は開発スケジュールに遅れがでており、さらに仕様は議論を重ねた上でオーソライズされたもので、且つ私の勘違いに起因するものだったので心理的な障壁があった。 また、リモートで作業してもらっている中で改修のプロセスを踏もうとするとメンバーへの負担が大きくなることが容易に想定できた。

ということで当時必要とされていた機能に画面・ソースコード、DBの関係から問題ないことを確認して、そのイベントの発火タイミングを調整するという対処を行った。

それから約1ヶ月が経過してスケジュールに予定されていた部分は完成した。

そして機能テストを開始し概ね改修が終わった当たりで問題が起こった。

アプリの根幹をなす重要な機能がうまく動作しないという問題で、これは大変だと調査を進めていくと、アプリの根本的な設計がまずいことがわかった。

そしてその設計がまずい部分が、先に私のミスでずらしたイベントの発火タイミングだとわかった。

そのことがわかってからは、

  • なんでこれ1ヶ月前のあのときに気づかなかったんだっけ?
  • ビジネスロジックの変更だから影響範囲大きくなる可能性はあったんじゃないの?

などという誰もが思いつくような問答が繰り返された。

最終的にはきちんと改修してリリースするということになって、通常納期から2週間の遅れが発生することになった。

精神状態

間違えた道案内をしてしまい、雨の降っている中一回登った山を降りてもらって別な道から登ってもらうという謎の行為をさせてしまった後のような気まずい精神状態になった。

たられば

設計時にズレに気づくことはできなかったのか?モックアップを作り、全ての画面と機能を網羅できていたのであれば、見つけることができたのでは?

はい。すべての画面と遷移をモックアップにして、すべてのボタンや遷移を実装した機能面も含めたレビューをすれば見つけることができたと思う。

今回のプロジェクトでは問題になった部分も含めモックアップは用意されており、レビューもされていたが、画面の配置やデザインが主たる確認部分となってしまい、機能のレビューが完全には行われていなかった。

モックアップ作成の目的に機能の確認を入れるならやりきる。入れないなら入れないで別な場所で確認するといった決めが必要だったと思う。

修正のタイミングで気づくことはできなかったのか? はい、少し考えれば正しい道筋を見つけることが出来たと思う。しかし当時は考える方向性を誤ってしまった。

自分のミス起因、スケジュールの遅れ、開発者さんたちとの調整、自分で埋め合わせをすることが出来ない、オーソライズされた設計を変える….

これらの思い(動揺とプレッシャー)から目先のことしか考えられなくなっていた。

反省まとめ

  • 感情の動きが激しい時こそ。

    • ミスした時、怒った時こそ冷静になる。
  • 作業に曖昧な意味を持たせない。

    • ついでに◯◯もチェックできるやんけ!効率的に物事を進めるのは良いことだけど、やるならやりきる。
  • 最終判断者はあなた。

    • プロダクトマネージャが道に迷うと一緒に道に迷う人がいる。
    • みんな様々な利害関係を持っている。あなたのこと(あなたのプロダクト)を本気で考えるのはあなただけ。

という気持ちでやっていく。

その他感想

  • 一度みんなで決めてわりとしっかりしてるなって思ってたものをあらためて見直すって行為、知能的にも心理的にもかなりのパゥアーが必要な気がした。
  • ビジネスロジックが変わるから当然それに紐づいてる設計とか実装に影響あるよねって話。
  • ざざざっと勢い良く作ってる時にこうするべきなのでこうしようとかって差し込んでいくの野暮な場面もあるよね。
  • 細部までやりきるのって大変だね。
  • イベント発火のタイミングは、ユーザ有利か会社有利のどちらかで、私はユーザ有利なタイミングを正と認識としていたが、オーナーとかは会社有利なタイミングを正と認識していた。なんでズレたんだろう。
  • 一息の思考の深さ大事(ハチワンダイバー並感)。
  • 俯瞰できる範囲って想定できるアクシデントと同じっぽい。ということはInput量とか経験で決まりそう(小並感)。
  • クライアントサイド(スマホアプリ)とサーバーサイド(API)だとクライアントサイドのほうが10倍くらい大変なんだよね。という前提をもってる。

2016年のふりかえり

# 2016年の振り返り

2016年のふりかえり。

 

総括

前半は準備期間みたいな感じで例年と比べるとゆったりとしていた。
後半は提案していた大きめの案件に取り掛かる事になったので
ちょっとドタバタした感じだった。

まぁ前半の準備が後半に生きたので帳尻が合ったなと思った。
総合すると良い年だった。

作った日誌(テキストファイル)の数
  • 313ファイル
  • 2704KB(utf-8)
git履歴

f:id:m5Q7BKDv:20170107220538p:plain

キャリア

やっとディレクターになれたという感じだけど思い通りにはなかなかいかない...

  • ディレクター 50%
  • サーバサイド/インフラエンジニア 30%
  • その他 20%


課題

2016にお仕事を通じて感じた課題。色々あったけど特に困ったモノをピックアップ。

 

思考のコンテキストスイッチ問題
  • やってる業務の範囲が広いと業務で使う思考の切り替えが多く発生して、生産性が上がらないことが多かった。例えば営業系の仕事をした後は特に開発を進めるのが辛いといった感じで。
  • 対策がまだ良くわかってない。試行錯誤する。比較的自由な環境を与えられているので、まずは作業の合間にはいろんな方法でリフレッシュしてみようと思う。
サービスのディレクションのはずがシステムのディレクションになっていた問題
  • API開発とかシステム側の作業にかなり絡んでいたせいか、バグ取りとか仕様通りに作るということに注力してしまい、肝心のサービスのクオリティが低いまま完成としてしまった。※無事レビューの段階で戻されたのでよかったけど。
  • 事象に焦点をあわせることと、全体のバランスを見ることの切り替えの難しさを感じた。
  • こちらも対策がまだ良くわかってない。経験を積んで勘所をつかめばできるようになるのか...いろいろ試行錯誤してみようと思う。

 

# 2017年の抱負

コンディションを整える

SNSでシェアされていたのをいいなと思ったので。
健全な精神は健全な肉体に宿る。
コンディションが良いと良い仕事ができそう。

経験を積んで傾向と対策をつかむ

基礎とセオリーを学んで勘所を押さえたい。
誰か良い人を見つけて師事したい。

 

# おまけ

2016年できごとカレンダー

2016/01

- cakephpでwebアプリ開発
- bootstrapテンプレートに課金したりした
- Androidのテスター生活(地獄)

2016/02

- cakephpでwebアプリ開発
- 営業したりしていた

2016/03

- cakephpでwebアプリ開発
- その他いろいろやっていた
- デバッガーとしての活動

2016/04

- 応援上映に目覚める
- webサイトのデプロイとか
- デバッガーとしての活動

2016/05

- firebase + swift2でチャットアプリのプロトタイプを作った
- オープンソースのライブラリはほんとによく出来てるなと感心した

- 自転車事故

2016/06

- ふわふわしていた。コミットがない。
- 提案書とドキュメントたくさん書いた

2016/07

- ちょぼらうにょぽみ先生ブーム
- HxH単行本発売記念飲み
- 保険に詳しくなった

2016/08

- リバイバル応援上映事件
- UIデザインをしっかりとやる必要が出てきた
- fuliduiをはじめた
- 荒み
- 会社でも心が荒んでいた
- 中途半端な立ち位置にいた
- 初めての決済サービス連携とwebアプリ開発

2016/09

- サービス仕様を決めたりデータモデリング等の上流工程
- API作成
- PHPの師匠ができた

2016/10

- API作成
- cakephpでwebアプリ
- ポプテピピックブーム
- 唐突に感じる将来への不安

2016/11

- cakephpAPIのサポート/アプリの改修
- sketchをはじめた
- prottをはじめた
- ディレクションで重めのミス

2016/12

- photoshopをはじめた
- 2本目のディレクションが始まった

 

お買い物メモ

<成功>

ことしもなかなか良いかいものをしたとじふしている。

- CATERPYRUN (キャタピラン)
    - 靴紐の変わり
- アイリスオーヤマ 布団乾燥機 カラリエ
    - 冬の睡眠クオリティがとてもあがった。とてもあたたかいしダニを殺している感じがとても良い
- キングブレード
    - 生活必需品
- AmazonPrime会員登録
    - 映像コンテンツライフが充実した
    - コンテンツ消費のスピードが高速化した気がする

- PORTER 13インチ バックパック for MacBook 

    - 自転車事故によりカバンが壊れたので買った。専用製品だけあってとても良い。

< 失敗>

大きめの買い物は結構失敗してる感じ。

- AKG K701
    - オープンエアは会社では使えなかった
    - 代替品により既に置物と化した
- バロンチェア
    - おもったよりよくなかった。ミラ派になった。
- Apple magic mouse 2
    - sketchとかphotoshopでの細かい操作に期待したが、トラックパッドのほうがよかった

 

失くしモノ

- 某所でいただいた小銭入れを落としてしまった...悲しみ...

- 人間性。良い人にあいにいくひつようがある。

 

映画

amazon primeに入ったので狂ったように見てた。
気軽に見れるコメディばっかり見ている。ツタヤには行かなくなった。

 

 映画ベスト3

- 1位
    - アデル/ファラオと復活の秘薬
    - 冒険とコメディのバランス、あとテンポがとても良い。
- 2位
    - 最強のふたり
    - 1位に続いてフランス映画だった...
    - よかった...
- 3位
    - 神様から一言
    - 日本映画。冒険とコメディのバランス。良いテンポ。


# まとめ

ことしもいちねんがんばるぞい