استفاده از هرکدام از دو روش فوق برای پیاده سازی یک سیستم تحت وب در سازمان مزایا و معایب خاص خود را دارد که در ادامه به آن خواهیم پرداخت:
زمان (Time):
با توجه به این موضوع که در برنامه نویسی تمامی بخش های اولیه و ابتدایی یک سیستم سفارشی مانند امکان تایید هویت کاربر یا امکان دادن دسترسی به کاربران روی محتوا، میبایست از صفر برنامه نویسی شوند لذا این موضوع در زمان پروژه بسیار تاثیرگذار خواهد بود. بهترین مثالی که در این مورد زده میشود " اختراع دوباره چرخ" است.
تصور کنید برای ساختن یک ماشین نیاز باشد که شما مجبور شوید ابتداییترین مسائل را نیز خودتان تولید کنید مانند چرخ ! حال تصور کنید که برای ساخت همان ماشین قطعات آماده ای را که قبلاً توسط افراد متخصص دیگری ساخته و نیز تست شده و مشکلات آن برطرف شده است را در اختیار شما قرار دهند مانند چرخ، موتور، بدنه و ... . حال تنها کاری که شما میبایست انجام دهید انتخاب و کنار هم قراردادن این قطعات است.
این همان شیرپوینت است ! مایکروسافت شیرپوینت که از آن به عنوان پلتفرم نیمهآماده نرمافزاری نیز یاد میشود این امکان را به شما خواهد داد که بتوانید بخشهای مختلفی را که توسط متخصصان مایکروسافت از قبل کدنویسی شده است را طبق نیاز خود کنار هم چیده و سیستم مورد نظر خود را در کوتاهترین زمان ممکن تولید کنید.
هزینه (Cost):
در مثالی که زده شد کاملا مشخص است که برای تولید تک تک بخشهای ریز و درشت یک ماشین نیاز به تخصصهای مختلفی هست که میبایست همه آنها را در کنار هم جمع کرد. برای تولید یک نرم افزار سفارشی در سازمان نیز به جمع آوری یک تیم برنامه نویسی با تخصصهای مختلف است.
بالطبع این کار نیازمند صرف هزینه زیاد خواهد بود همچنین این هزینه نیز میبایست به طور مداوم به صورت حقوق به افراد متخصص در سازمان حداقل طی زمان انجام پروژه، پرداخت گردد. لازم به ذکر است به طور میانگین یک متخصص برنامه نویسی بیشترین میزان دستمزد را نسبت به تخصصهای دیگر در حوزه IT دریافت میکند.
با توجه به این که با استفاده از پلتفرمهای نرمافزاری نیمه آمادهای مانند شیرپوینت تنها نیاز به پرداخت هزینه اولیه جهت پیادهسازی این سیستم میباشد. گرچه این هزینه اولیه خیلی ارزان نخواهد بود. ولی بزرگترین مزیت آن این است که با پرداخت یکباره این هزینه سازمان مالک یک پلتفرم آماده برای رفع بسیاری از نیازهای اطلاعاتی در حال و آینده خواهد شد.
وابستگی (Dependency):
فرض کنیم ماشینی که قرار بود همه بخشهای آن را خودمان تولید کنیم اکنون آماده است. اگر از ابتدا طراحی و پیاده سازی درستی در مورد این ماشین انجام داده باشیم، حال به مرور زمان و با استفاده بیشتر از این ماشین متوجه خواهیم شد این ماشین نیاز به بهبودهای و تغییراتی نیز دارد. یا اینکه بخشی از نیاز ما به مرور زمان تغییر کرده و نیاز داریم ماشین را نیز متناسب با نیاز جدید به روز کنیم. پس از بررسی متوجه میشویم که درصد کمی از بهبودها و تغییرات اساسی هستند و درصد عمده آن جزئی هستند. از آنجایی که این تغییرات چه بزرگ و چه کوچک نیز مانند تولید آن نیازمند فرد متخصص مربوط به آن بخش است پس یک وابستگی دائمی به این فرد یا افراد به وجود خواهد آمد. در مورد سیستم های نرم افزاری نیز باید گفت که تغییرات بخش جدا نشدنی از سیستم خواهد بود. همانطور که فرمها و فرآیندهای کاری در سازمان به مرور دچار تغییرات زیادی میشوند سیستم نیز باید این امکان را داشته باشد که با کمترین زمان هزینه ممکن با این تغییرات سازگار شود.
در مورد پلتفرمهای نیمه آماده مانند شیرپوینت به دلیل اینکه میزان برنامه نویسی بسیار کم بوده یا اصلا وجود ندارد، این مزیت وجود دارد که بتوان با دادن آموزشهایی کوتاه به کاربران خاص سازمان یا افراد واحد IT، بخش عمدهای از اعمال تغییرات را به افراد داخل سازمان واگذار کرد و از ایجاد وابستگی به افراد متخصص خارج از سازمان جلوگیری کرد مگر در مواردی که نیاز به تغییرات اساسی در سیستم وجود داشته باشد.
امنیت (Security):
بالطبع قابل پیش بینی خواهد بود که برقرار کردن امنیت سیستمی که حتی تک تک بخشهای اولیه آن را خودمان نوشتهایم در مقایسه با سیستمی که بخش عمدهای از آن توسط افرادی متخصص در شرکت معظمی مانند مایکروسافت نوشته شده و سالهاست توسط شرکت ها و متخصصان مختلف امنیت در دنیا تست شده و بهبود یافته است، بسیار کار دشوارتری خواهد بود.
قابلیت سفارشی سازی (Customization):
در مورد قابلیت سفارشی سازی در این دو روش باید گفت به دلیل آنکه در پیاده سازی یک نرم افزار سفارشی به روش کدنویسی، همه بخشها از ابتدا طراحی و پیادهسازی خواهد شد امکان سفارشی سازی نیز به نسبت استفاده از پتفرم های نرم افزاری مانند شیرپوینت بیشتر خواهد بود. البته این به آن معنا نخواهد بود که این امکان وجود نداشته باشد ولی به نسبت نرم افزار کدنویسی شده در درجه پایینتری قرار خواهد گرفت.
و در نهایت، در پاسخ به این سوال که کدام روش برای پیاده سازی یک سیستم نرم افزاری سفارشی در سازمان مناسبتر است میبایست گفت سازمانها باید با توجه به موارد گفته و همچنین بررسی دقیق نیازشان، روش مناسب خود را انتخاب نمایند.