本日のエントリはForce.comで高い生産性を維持するためには どうすれば良いのか、と言う点についてお話を致します。
「Force.comの開発効率はJavaや.NETの5倍」
Salesforceの導入を検討した方や、Force.comでの開発を行なっている方が、 必ず一度は聞いているであろう言葉です。
この言葉が示している、開発効率・生産性に関する信憑性は、 結論から言うと「事実ではあるが、全ての状況において適用される訳ではない」と考えます。
Force.comの標準機能( Force.com Builderと呼ばれるマウス操作で行う宣言型開発 )で カスタマイズを実施し、アプリケーションを構築した場合は、 ハマれば5倍どころではなく、それ以上の開発効率と生産性を叩き出す事が可能です。
しかし、Force.comの独自言語であるApexを使って プログラムのコーディング( 以下、個別開発 )を行えば、 例えばJavaで開発した場合と、開発効率で見れば恐らくそれ程の差は無いと思います。
次の表は、開発者の視点から見た場合の、標準機能と個別開発を比較したものです。
標準機能 | PROS |
|
CONS |
|
|
個別開発 | PROS |
|
CONS |
|
これらを踏まえた上で、Force.comでの開発効率や生産性を向上させるには、
「標準機能を充分に理解した上で 可能な限り標準機能で要件を満たせるように、最適な方法を提案する」
ということが、最も重要だと言えます。
これはForce.com上にアプリケーションを構築した事がある方なら ほぼ全ての方が理解していらっしゃると思います。
ただし、言葉にすると簡単ですが、 実際にやろうとすると、なかなか出来る物ではありません。
まず引っ掛かるのが「標準機能を充分に理解した上で」と言う部分です。 Salesforceは現時点でも相当な機能が実装されているのに、 更に年3回バージョンアップが実施され、全ての機能を1人で理解する事は非常に困難です。
知識や経験が少ない方だと、この段階で標準機能で実現可能かどうかを見誤り、 個別開発を前提とした開発方針で進んでしまう可能性が非常に高いです。
しかし、既にお話した通りForce.comの圧倒的な開発効率や生産性は、 個別開発の比率が高くなればなるほど、低下していってしまいます。
そういった事態を防ぐためにも、Force.comの開発者は、 年3回のバージョンアップに加えて、随時発表される個別の製品(*1)情報を キャッチアップし続け、最適なソリューションを提案出来るように努める必要があります。
(*1) SalesCloud, ServiceCloud, MarketingCloud, Salesforce Work.com などです