نرم افزارهای اختصاصی

درباره نرم افزارهای اختصاصی

امروزه تصور یک سازمان بدون استفاده از تکنولوژی و کامپیوتر بسیار دشوار است. از کوچکترین کسب و کارها در دورترین نقاط تا کسب کارهای چند ملیتی، اگر در یک مساله مشابهت داشته باشند، آن مساله حول محور تکنولوژی اطلاعات، کامپیوتر و نرم افزار می چرخد. به عبارت دیگر، الان سوال دیگر این نیست که آیا باید نرم افزارها را در سازمانمان وارد کنیم یا خیر. مساله در مورد نحوه ورود تکنولوژی به سازمان است.

به طور کلی ما علاقه مندیم که با استفاده از نرم افزارها، هزینه هایمان را کاهش داده و کیفیت و دقیت و حجم خروجیمان را افزایش دهیم؛ دغدغه هایمان کمتر شده و بیشتر بتوانیم بر روی حوزه های ارزش آفرین کسب و کارمان تمرکز کنیم. ولی قبل از اینکه بتوانیم به این مرحله برسیم، ابتدا باید به پرسش مهمی پاسخ دهیم. این که رفتار ما نسبت به نرم افزاری که میخواهد وارد سازمان شود چگونه است؟ اگر فرایندهای نرم افزار با فرایندهایی که ما اجرا می کنیم تفاوت داشت، آیا می پذیریم که روالهای کارمان را مطابق نرم افزاری که تهیه کرده ایم عوض کنیم یا انتظار داریم که نرم افزار مطابق با روال های ما باشد؟ اینجاست که مفهوم نرم افزارهای اختصاصیمهم و پر رنگ می شود.

نرم افزار اختصاصی یا سامانه سفارش مشتری چیست؟

به طور کلی نرم افزارها به دسته اصلی نرم افزارهای آماده یا عمومیو نرم افزارهای اختصاصی یا سفارشی تقسیم می شوند. نرم افزارهای اختصاصی آنهایی هستند که بر اساس سفارش یک مشتری و پس از شناسایی شرح نیازمندی ها و درخواست های او طراحی و تولید می شوند و مخصوص سازمان مشتری بوده و قابل فروش به سایر سازمانها نیست مگر آنکه تغییرات (هرچند جزیی) در آن به وجود آورد. در مقابل، نرم افزارهای عمومی و یا آماده برای طیف وسیعی از مشتریان طراحی شده و می توان نسخه های متعددی از آن را به فروش رسانید.

نرم افزارهای سفارشی سابقه بسیار گسترده ای دارند. اولین بار در سال 1960 بود که قرارداد تولید اولین نرم افزار سفارشی بین وزارت دادگستری ایالات متحده آمریکا و شرکت IBM منعقد گردید و از آن تاریخ، فصل نوین در محصولات نرم افزاری کشوده شد.

تفاوت های نرم افزار آماده و نرم افزار اختصاصی چیست؟

اگر بخواهیم مهمترین تفاوت های نرم افزارهای سفارشی و آماده را عنوان کنیم، موارد زیر قابل ذکر هستند:

  1. هنگام استفاده از نرم افزارهای آماده، اگر در جایی روال شما با روال پیش بینی شده در نرم افزار تفاوت داشت، عموما مجبور خواهید شد که شما دست به تغییر فرایند اجراییتان بزنید زیرا عموما در نرم افزارهای آماده و از آنجایی که تعداد زیادی مشتری از آنها استفاده می کنند، پیاده سازی تغییرات ساده نیست و تولیدکنندگان نرم افزار عموما تعهدی به این کار ندارند. از طرف دیگر، طراحی و تولید نرم افزارهای سفاشی بر اساس مطالعه و مشاهده نحوه فعالیت سازمان شما انجام می پذیرد و نیاز به هیچ تغییری در نحوه اجرای فعالیت های شما نیست.

  2. عموما نحوه پشتیبانی در نرم افزارهای سفارشی بسیار گسترده تر از پشتیبانی نرم افزارهای آماده است و شامل مراحل استقرار و پیاده سازی تا بهره برداری و پس از آن خواهد بود.

  3. زمان تهیه و استقرار نرم افزارهای آماده کمتر از این زمان در نرم افزارهای سفارشی است. زیرا نرم افزار سفارشی نیاز به انجام فازهای شناخت و تحلیل و طراحی و توسه دارد که در یک نرم افزار آماده این فعالیت ها قبلا انجا شده است.

  4. از نظر هزینه نیز، نرم افزارهای آماده در بیشتر مواقع هزینه های کمتری دارند. طبیعی است زمانی که شما یک نسخه نرم افزار را به مجموعه های متفاوتی ارائه می نمایید، می توانید هزینه های تولید بر روی همه سرشکن کرده و قیمت نهایی را کاهش دهید.

مزایای نرم افزار اختصاصی چیست؟

به صورت خلاصه، مهمترین مزیت نرم افزار اختصاصی در این است که نیاز شما به تغییرات در سازمان را به حداقل می رسد. این مساله مخصوصا در سازمان های بزرگ با روالهای کاری طولانی و پیچیده خود را بیشتر نشان می دهد. فرض کنید شما سازمانی هستند که ده ها و یا صدها پرسنل داشته و سالهاست فعالیت های پیچیده ای را به شیوه استاندارد شده ای انجام می دهند. در این صورت اگر شما از نرم افزار آماده ای بخواهید استفاده کنید که دقیقا مطابق فرایندهای شما نیست، حتی اگر آن نرم افزار بر اساس بهترین فرایندهای اجرا شده در بهترین سازمان های دنیا طراحی شده باشد، معلوم نیست که بتوانید سازمانتان را برای استفاده از این نرم افزار تغییر دهید. از آنجایی که نرم افزارهای آماده عموما انعطاف پذیری زیادی ندارند، در این حالت احتمالا پروژه استقرار نرم افزار با شکست مواجه می شود.

یک مساله مهم دیگر هم در اینجا، مساله هزینه طول عمر است. در بسیاری مواقع، مجموع هزینه ای که شما برای یک نرم افزار سفارشی می دهید (شامل هزینه تهیه نرم افزار و تبعاتی که بر فرایندهای کاری شما و کلا سازمانتان خواهد داشت) کمتر از هزینه های مشابه در یک نرم افزار آماده است.

امنیت نرم افزارهای اختصاصی

همچون سایر قسمت ها و بخش های یک نرم افزار، مقوله امنیت هم در نرم افزارهای اختصاصی کاملا سفارشی است. شما ممکن است دغدغه امنیت را در سطح خاص و در قسمت های ویژه ای داشته باشید که نرم افزار آماده بدان نپرداخته باشد. مثلا ممکن است شما اطلاعاتی خاص در سیستم را بخواهید فقط تحت شرایط ویژه دسترسی داشت که نرم افزار آماده برای آن سیاست متفاوتی برگزیده باشد. در این حالت بعید است که بتوان تغییرات مورد نظر شما را در سیستم پیاده سازی کرد. همینطور این مساله در مورد سطح امنیت نیز وجود دارد. اما می توانید در نرم افزارهای سفارشی درخواست پیاده سازی آخرین متد امنیتی را در هر کجا که مایل بودید بدهید.

فرایند تولید نرم افزار اختصاصی چیست؟

به فرایند تولید نرم افزار، چرخه حیات نرم افزار نیز می گویند. فرایند تولید نرم افزار به شیوه های بسیار متفاوتی اجرا می شود ولی اگر بخواهیم به صورت ساده مراحل تولید را بیان کنیم، موارد زیر جز مهمترین فعالیت ها می باشند:

  1. فاز برنامه ریزی: در این مرحله، نیازمندی های سیستم از طریق مصاحبه با کاربران و مدیران سیستم، مشاهده روش انجام فعالیت ها، بررسی سیستم های مشابه و فعالیت هایی از این قبیل، به صورت شفاف شناسایی شده و پس از تحلیل این خواسته ها، دامنه توسعه و الزامات و بخش های مختلف نرم افزاری که باید آماده شود، مشخص می شود.

  2. پیاده سازی، آزمون و مستند سازی: در مرحله پیاده سازی، نرم افزار مورد نیاز آماده می شود و عملا قلب فرایند تولید نرم افزار است. نرم افزار تولید شده مرحله آزمون مورد بررسی دقیق قرار گرفته تا ایرادات احتمالی آن بر طرف گردد. همچنین برای نیازهای بعدی همچون توسعه مجدد یا تغییر در سیستم، تمامی این فعالیت ها مستند می گردد. گاهی اوقات این سه فعالیت به صورت همزمان یا با فاصله زمانی بسیار کم انجام می پذیرد.

  3. استقرار و نگهداری سامانه: استقرار نرم افزار، مرحله ایست که شما می خواهید استفاده از نرم افزار را در سازمان عملیاتی کنید. این مرحله نیازمند آموزشها گسترده به پرسنل و پشتیبانی زیاد از آنهاست. می توان گفت این مرحله، حیاتی ترین بخش از فرایند تولید نرم افزار است.