開発時に出会いたくないパターン
悩んだりうまくいかなかったり解決したり。だらだら書いた。
手作業症候群
とにかくなんでもかんでも手で確認・作業する必要があると思い込んでしまう病。
そりゃiOSアプリとかAndroidアプリとか最終的には実機確認は必須だけれども。
その前にやれることは多々あるはず。リグレとか。
あと「デプロイ職人」も不要にするべき。わかってる。
自動化できない要素を突っ込んでる方が悪いのだ。なんとかする。
masterブランチぶっこみ志向
masterブランチに直接コミットを重ねていくことにより開発速度をアップさせることができる。
ただし孤独な背水の陣を構えることになる諸刃の剣。
おとなしくtopic branchを切って作業するのが安心への近道であり王道である、
とか言ってたらみんなちゃんと切ってくれるようになった。めでたし。
チケットそっ閉じ症候群
本来はリリースしたりデータを修正したりしてチケットとしては終了なのだが、
特に何の前触れもなくいつのまにかチケットが閉じられる恐ろしいイベント。
ゴールが設定されていないチケットにより発生率が10倍になる。
たとえ書いていても、
「あ、この間報告した不具合の現状どうなったかなー」とチケットを見ると、たったひとこと「バグでした」と書かれてクローズされていたときの悲しさと言ったら。ない。
ちがうんだよ。
バグなのは分かっているから、原因と修正とテストと、それをリリースするところまでやってほしいって最初に書いているんだよたのむよ。
非実在プロダクトオーナ
プロダクトオーナが開発現場に、あるいは近くにいない場合によく起こる。
開発途中で仕様に詰まって、どうしたらいいか上司に聞いても「POと相談しないとわからない」ばかり。
適当に進めた結果、あとから「それは違う」と言われて手戻りんぐ。
さすがにまずいとざわざわした結果、最近では週2で定期ミーティングが開催されるようになった。
だいぶ良くなったけど、もう少しパワーバランスをなんとかしたい。(社内政治こわい)
Pull Requestセルフマージ症候群
基本的に自分の開発現場ではやることがほとんど役割別に分けられてしまっていて、
他のひとのプログラムの細かいところがいいか悪いか分からない。(自分含め)
iOSアプリ開発者は1人しかいなかったりする。
なので、
- これPull Reqしたはいいけど、誰にmergeしてもらおう
- でもObjective-C分かるの自分だけだしな…
- 言語レベルの質問受けてるだけで時間かかってしょうがないし、機能と理由の説明も絶対時間かかるし…
- もういいや、自分でmergeしよ
となる。
しばらくこの状態放置していたけど、とりあえず自分からがんばってみようと思って
最近Java覚えつつAndroidアプリのコード見たりして、client側の属人化を防げたらいいなと動いてみてる。
うまくいけばいい。
高い優先度チケットの洪水
「あれもしたい」「これもしたい」で優先度が高いチケットがどんどん生まれる現象。
低い優先度チケットの浸水
「いつかやろう」「手が空いたときにやろう」で優先度が低いチケットがどんどん生まれる現象。
そのいつかは永遠に来ない。
綺麗なコードの価値の錯覚
いくら末尾のスペースにこだわってもインデントの上げ下げに固執しても、
それが直接お金になるわけではない。
ソースコードばかりいじっていると陥りやすい錯覚。わたしです。
でも割れ窓理論は実践させない。
まとめ
自分でできるところは自分から(自動化とか属人化解消とか)、
他の人の手助けが必要なところは巻き込みつつ、少しずつ良くなればいいな。