「高速開発」そのメリット・デメリットを知っていますか?
ツールを使って効率的に高品質にプログラミングを仕上げる。プログラミングをやっている人ならだれもが頭の中で考えていることですよね。
その期待に答えてくれる様々なツールも世の中にたくさんありますが、どれも一長一短があって自分のベストツールを選ぶことはなかなか難しかったりします。
「高速開発」を支援してくれる自分のベストツールを見つけるには、まず高速開発ツールの機能だけに目を奪われずに、高速開発ツールのメリット・デメリットを客観的に押さえておくことが大切です。
時代は「高速開発」から「超高速開発」へ
自分にピッタリの高速開発ツール探しを始める前に、まず現在高速開発ツールがどういう進化を遂げているかおさらいしておきましょう。
現在注目されている「超高速開発ツール」は、業務の手順やアウトプットしたいデータの書式などがはっきりしている場合には、ほとんど人的なコーディングをしなくても意図したプログラミングを自動的にやってくれるようになってきています。
従来の「高速開発ツール」では、業務の手順やアウトプットしたいデータの書式がはっきりしていたとしても、あくまでもコーディングを仕上げるのはプログラマで、「高速開発ツール」はその一部を自動化してくれるだけでした。RAD 【 Rapid Application Development 】 ラピッドアプリケーションデベロップメントなどは、その典型だといえます。
これに対して「超高速開発ツール」では、プログラマの作業を支援するということにとどまりません。たとえプログラミングを知らない人であっても、現場のアイデアをすぐに形にできたり、業務プロセスの変化によって必要となってくるソースコードの改修や改善をすることができるようになっています。
では、「超高速開発ツール」があれば近い将来、SEやプログラマはいらなくなるかというと、そう簡単にはいきません。
「超高速開発ツール」を実際に業務システムの開発に使った例としては、みずほ銀行の勘定系システムの開発が有名ですが、そこにはまさにメリットとデメリットが鮮明に浮き彫りになっています。
メリットを強調した評価がある一方(「みずほもうなる「超高速開発」」)で、みずほのシステム統合の足を引っ張っている原因、ネットでも話題になっているみずほ銀行開発案件のデスマーチの原因のひとつが「超高速開発ツール」なのではないか、という疑問の声もあります。
メリットは効率化、デメリットできないことまで期待してしまうこと
やはり「高速開発ツール」のメリットは、あくまでもプログラマがコーディングをする作業を軽減してくれる部分が大きいと言えます。実際にシステム開発を行うには、お客様が求めているビジネスゴールの明確化や、それに必要な現状のシステム問題点の洗い出しなどが必要です。
そしてプログラミングが始まった後は、品質管理を含めたプロジェクト管理が必須です。こうした部分はやはり人間の人的作業と、プログラマを含めた開発陣と顧客との丁寧なコミュニケーションが欠かせません。
案件ごとに異なる洗練されたユーザーインターフェースや、納品した後の運用手順などの非機能要件への対応などは、やはり完全自動化することが難しい面がある、というデメリットを知っておかないと、大きな失敗をしてしまうこともありえます。
まとめ
「高速開発」によって、概要設計・詳細設計・コーディング・テストなどの手順を大きく減らすことは可能です。
そうした効率化と、アプリケーションが最終的にエンドユーザーに提供する価値は何かを考えてプログラミング作業をすることが、本当の意味で効率的で品質の高いソフトウェア開発だといえるでしょう。
そうした意識を持ちながら、ぜひほんとうの意味でプログラミングを自動化して効率化し、同時にエンドユーザーにも感謝されるプログラミングを実現してみてはいかがでしょうか。
▼キャパの公式Twitter・FacebookではITに関する情報を随時更新しています!