今やっている開発のやり方について
今は社内のスマフォ案件を自分が行っている。
UIをnuboardでサクサク書いて、相方や関係者と議論して、危ない仕様はないか考えて、特に仕様書に落とさずそのままStoryBoardをでモックをつくる。StoryBoardにはもう慣れているので、実機のiPhoneで動くモックが数時間で完成する。
それをさっき話したメンバーに見せてOKそうなら内部の実装を行う。
画面ごとに役割分担して実装を行ってく。
わからないことや相談したい場合は隣の席に移って(負担は部署が違うので別の席)議論して一緒に考えて「じゃあそれで」ってなったら元の場所に戻る。
大抵はSkypeでまず何気なく質問して、テキストベースの議論で収集つかなそうだったら直に話すことが多い。
ペアプロみたいにはしていない。
ただお互いがお互いの箇所をどんなふうに実装するかは、実装前に十分議論している場合がほとんどなので把握できてる。
プログラミングは別々にやっているけど、考えるのは一緒にやっている感じ。
ちょうどこの記事に出てくるペアシンキングのようなものかもしれない。
コーディング自体は相手を信頼していることと、そこまでずっと一緒にいれないので(別部署なので)一緒にはやってないが、UIなんかはcommitされたら確認してフィードバックするようにしている。それがコードレベルなのかはStoryBoardレベルなのかは決まってないけど。
それで別段問題なく進行しているし、設計部分などはお互いが納得した形に落ち着いているので、理想な状態で開発が行えている。
なんでこんなつくりなんだろう?みたいなものは残しておくとそれがそのまま負債となって後で大きく乗りかかってくる。
今だと例えベストじゃない設計かも、と思っていてもそれを把握しているし、思いついた時に再度議論して潰しにいける。
今開発しているメンバーは2人だけだからそれが行えているのかもしれない。
正直これが3人に増えたら負担がどのくらい増えてしまうかわからない。
今の状態での開発は非常に理想だ。
今後何かあってもできるだけ少人数はキープしたいと思った。