ショートカット
ファシリテーター × あり方
コーディングの向こう側
Hello, ANOTHER world!
オブジェクト指向のはなし
プログラミングのはなし
C言語実力診断クイズ
eSkillBooks
コーディングの向こう側

自分でやろう - PART2

誰にも頼れないのかしら度

必要な技能の違い

前に述べたとおり、設計はコーディングのために行われなければなりません。従って、設計を行うエンジニアはコーディングのやり方を知っていなければなりません。とくに、コーディングを困難にしている原因は何かとか、どうすればコーディング上の困難さを取り除いて効率よく開発ができるようになるのかとか、そういうことを知っている必要があります。また、組織が利益を上げるためには可能な限り素早く製品を完成させる必要があります。実際に作るのはプログラマなので、プログラマが過去の資産を活かしたり、今回作るものが将来も使えるように作ることを可能にするような設計を行わなければなりません。ただし、実際に自分でコーディングをするのではないなら、コーディングの全てを知っている必要はありません。

一方、プログラマはあらゆるコーディングができなければなりません。開発言語に精通していなければならないし、新しい技術にも対応しなければなりません。たとえどんなに困難な要求であっても、それが現在とりうる最善の方策であるなら、自分の腕で実現できなければなりません。また、組織が利益を上げるためには、プログラマが可能な限り素早く製品を作り上げなければなりません。そのためには過去の資産を活用し、またこれから作るものを将来使えるように作るという、非常に高度な技能が必要になります。過去の資産の活用や将来への布石をうまく行えるかどうかは、いくら設計者の配慮があったとしても、結局プログラマの技量にかかっています。

さて、設計とコーディングはどちらが高級でしょうか?どちらともいえませんよね。従って設計者とプログラマの関係は、縦のつながりではなく、横のつながりであるべきです。我々が最も自然に力を発揮できる組織の形態は、上下関係ではなく、「チーム」であると言えます。

チームをつくろう

設計とコーディングは非常に密接に関わり合っています。どちらも重要だし、互いに影響を与える存在です。とくに、最近のシステム開発は非常に複雑になってきていて、「まず設計、次にコーディング、仕上げにテスト」のように都合良くはいかないという現実もあります。ですから、設計部門とコーディング部門を区別するのは良いことではないと思います。設計者とプログラマは同じチームに所属して、いつも近くで仕事をするようにするのがより良い方法です。開発チームが自分達の手で設計からコーディングまで行うべきです。

--- 設計とコーディングは、一体なり ---

前へ

目次へ
違うものは、区別しよう

(「コーディングの向こう側」は2000年4月から2001年5月にかけて作成されたコンテンツです。)