システム開発について考えてみる

今の仕事では随分と古臭いプロセスがまかり通ってるけど、効率良く無駄のない開発をするためには何が必要なんだろうか?

動くものを作る

動かないものは評価できない。1部の機能でも単独で動かせるようにしておくことで、後々の苦労をしなくて住む。精神的にも安定するには何か動くものがあって欲しい。
システムは常に動くものにコードを追加していくべきものだと思っている。

バージョン管理をする

誰が何をいつどういうふうに変更するのかわからない。(自分も含めて)人間を信用したら負け。
できれば毎朝もしくは帰宅時にコードを追加/変更したところはチーム内で共有しておきたい。

仕様を固めることよりもフィードバックに適応する

仕様書通りに作っても、それが正しいとは限らない。仕様に正確なことよりも、後々決まることを迅速に正確に組み込める設計をすることが重要。これはシステムの大きさに比例して重要度も高まると思う。