ページ

2010年2月16日

アーキテクトへの道

僕はアーキテクト(設計者?)と言う言葉が嫌いです。アーキテクトとプログラマを分ける基準がないからです。強いて言えば、プログラミングするとき(始める前)にどれだけ大きな絵が描けるかと言う違いはあるかもしれません。でも、大きさは違ってもやることは基本的には同じです。また、大きな絵が描けても細部ができないと、単なる絵に描いた餅です。僕にとってはどちらも同じように尊敬できる存在ですが、優劣の区別はありません。

さて、僕や開発部長などは会社の中で偉そうにしているせいで、会長からは時々「あーきてくと」と言われます。僕自身は特別何か変わったことをしているわけではありません。そんな風に言われるたびにこそばがゆくなります。それに大きな絵を描いた後は、今後の方向性を示す以外にアーキテクトなんてすることはないと思っていました。

最近、別の会社の開発体制についていろいろ話を聞いたりしました。その開発チームにはアーキテクトと呼ばれる人はいませんでした。個々の開発者が、良く言えば自発的に、悪く言えば、好き勝手に開発していました。その結果、ソースコードのレイヤー構成は統一感がなく、使っているライブラリはまちまちでした。

例えるなら、Railsでビューの中でSQLを発行していたり、コントローラの中でHTMLを作っているようなものです。ライブラリの混在は、ある画面ではprototype.jsを使って、別の画面ではjqueryを使っているようなものです。さらに、一つの画面で両方のライブラリが混じっているところもあって、そのあたりは動かないとか、いろいろ問題がありました。

アリエルの中では、基本的にみんながレイヤー構造を意識していますが、崩れると必ず指摘が入るし、どうしても崩さないといびつになりすぎるところは、相談に来ます。ライブラリも、新規のライブラリを使うかどうかや、バージョンアップするかどうかも相談に来ます。内心は、そんなこと勝手に決めてもいいんじゃない?と思わなくもないことがありましたが、先ほどの開発体制を聞くと、どのライブラリを使うか、どの技術を使うか、などを決めるだけでも、アーキテクトの存在は重要です。

そんなわけで、最近は「アーキテクトとはソフトウェアの中で使うライブラリ、技術を決める人」と言う定義になっています。そして、それはすべてのプロジェクトで一人いなければならないと思っています。




0 件のコメント: