نرم افزار سفارش مشتری یا نرم افزار آماده ؟ این یکی از چالش هاییست که بسیاری از سازمان ها با آن مواجه هستند . با پیشرفت صنعت تکنولوژی و رشد میزان رقابت، در بازارهای کسب و کار لازم است از نرم افزارهایی برای پوشش دهی نیازمندی هایمان استفاده کنیم و ناگزیر هستیم که تاثیر نرم افزار بر زندگی و وابستگی ما به نرم افزار را بپذیریم. باوجودی که مطالعات علمی کمی در مورد مهندسی نرم افزار گزارش شده است در این مقاله ما تفاوت بین نرم افزار آماده و نرم افزار سفارش مشتری را توضیح می دهیم و اصطلاحات و ویژگی های مختلفی که برای نرم افزار استفاده می شود را بررسی می کنیم. در روزهای اولی که رشته کامپیوتر در دنیا شناخته شد و مشتریان در بازار تقاضا، نیازمندی های خود را ابراز می کردند، هر نرم افزاری که با رایانه در اختیار قرار نمی گرفت باید به صورت سفارشی ساخته می شد. این عصری بود که سیستم های اطلاعاتی مطابق با خواسته های خاص مشتری طراحی و توسعه می یافتند. اولین نرم افزار سفارش مشتری در نتیجه توافق حاصل شده بین IBM و وزارت دادگستری ایالات متحده در اواخر دهه ۱۹۶۰ برای جدا کردن نرم افزار از سخت افزار حاصل شد. در دهه ۱۹۸۰ ، طبقه جدیدی از فروشندگان مستقل نرم افزار شروع به ساخت نرم افزار یکپارچه ای کردند که برای تحقق طیف وسیعی از عملکردهای تجاری طراحی شده بود و این پیشنهادات به عنوان نرم افزارهای بسته بندی شده (packaged software) معروف شدند. این امر منجر به ایجاد هزاران شرکت تولید کننده نرم افزارهای محصولات شد که مایکروسافت ، SAP ، بورلند و اوراکل نمونه هایی از این شرکت ها هستند. در یک برنامه یک بار مصرف (به عنوان مثال ماهواره یا فضاپیما) ، نرم افزار تعبیه شده در دستگاه را معمولاً میکرو برنامه می نامند. وقتی لوازم خانگی به صورت انبوه ساخته می شوند ، نرم افزارهای تعبیه شده در آنها مانند تلویزیون یا تلفن های همراه را به عنوان “نرم افزار تعبیه شده” نام می برند. نرم افزار سفارش مشتری، مخصوص یک سازمان ساخته شده و فقط یک بار فروخته می شود، در حالی که که نرم افزار آماده برای بازار خاصی تولید می شود و بارها در آن بازار فروخته می شود. علاوه بر این ، نرم افزار می تواند یک محصول نرم افزاری مستقل یا یک نرم افزار جاسازی شده در یک سیستم باشد. نرم افزارهای سفارش مشتری را می توان به نرم افزارهای سفارشی اختصاصی و نرم افزارهای سفارش مشتری داخلی طبقه بندی کرد. در زمینه نرم افزار آماده، دانشگاه ها و شرکت ها هنوز هیچ نظریه علمی رضایت بخشی در مورد مدل های تجاری یکپارچه ، توسعه نرم افزار و اجرای نرم افزار ارائه نکرده اند، همچنین موضوعاتی مانند مدیریت نیازها، فرایند توسعه نرم افزار، و تحویل و پیکربندی نرم افزار، به طور کلی در حوزه مهندسی نرم افزار مورد بحث قرار گرفته است. با این حال برای حمایت از یک صنعت قوی و پایدار که با محصولاتی با کیفیت بالا در خدمت جامعه است ، لازم است پاسخ سوالات زیر را پیدا کنیم:
از آنجایی که در بازار، اهداف و دسته بندی مشتریان متفاوت است، مقایسه نرم افزارها و انتخاب بهترین گزینه اغلب دشوار می باشد ولی با این وجود تفاوت هایی بین نرم افزار های آماده و نرم افزارهای سفارشی مشاهده می شود: • نرم افزار آماده ویژگی های مشخص و محدودی دارد، ,ولی نرم افزار سفارشی ویژگی ها و امکانات مورد نظر مشتری را دارا می باشد. • نرم افزارهای آماده تنها برای یک سازمان تهیه نشده اند پس می بایست در محیط های متفاوتی از نظر سخت افزاری و نرم افزاری نصب و راه اندازی شوند در حالی که نرم افزارهای سفارشی برای سیستم های مشتری تهیه می شوند و چالش زمان تحویل و اجرا خواهند داشت. • نرم افزارهای سفارشی بر خلاف نرم افزارهای آماده به طور کلی متلعق به مشتری خواهد بود نه فروشنده. • انجام تغییرات در نرم افزارهای سفارشی در هر زمان به راحتی امکان پذیر است و این نرم افزارها قابلیت انعطاف بالایی دارند. • ارتقای نرم افزارهای آماده هزینه بالایی دارد زیرا یک نرم افزار آماده به درخواست مشتری تبدیل به یک نرم افزار سفارشی می شود. • در زمان تولید نرم افزار سفارشی مشتری کاملا بر روند اجرا و طراحی نظارت دارد و از نظرات و راهنمایی های آنها استفاده می شود در حالی که در زمان تهیه نرم افزار آماده، مشتری هیچ دخالتی ندارد. • بعد از تولید نرم افزار سفارش مشتری، شرکت تهیه کننده تمام مستندات تهیه شده در این امر را در اختیار مشتری قرار می دهد که حتی پس از قطع همکاری، مشتری بتواند از آنها برای توسعه نرم افزار خود استفاده نماید. • نرم افزارهای سفارشی با توجه به میزان تسلط و علم کاربران نهایی تولید شده اند لذا نیازی به افزایش معلومات کاربران برای استفاده از نرم افزار نیست. • نرم افزارهای آماده ممکن است در اختیار افرادی قرار بگیرند که برای اخاذی و تخریب نرم افزار راه هایی بیابند و استفاده کنندگان واقعی را درگیر مشکلات امنیتی کنند، اما نرم افزار های سفارشی تنها در اختیار کاربران نهایی قرار می گیرد. • مدت زمان استفاده از نرم افزارهای آماده اغلب کم می باشد زیرا با پیشرفت علم و تکنولوژی، برنامه نیازمند بروزرسانی و ارائه نسخه جدید می باشد. • باتوجه به روند تدریجی طراحی و پیاده سازی و اجرا نرم افزارهای سفارشی شرکت های تولید کننده اغلب تضمین نگهداری و توسعه محصول خود را نیز ارائه می کنند. چرا همه سازمان های از نرم افزار سفارش مشتری استفاده نمی کنند؟
تضمین رفع نیاز سازمان از طریق نرم افزار سفارش مشتری چیست؟ • بلوغ سازمان به مرحله ای رسیده باشد که نیاز به نرم افزار سفارش مشتری احساس شود. • نیازمند های لازمه در سازمان تعریف شده باشد و در صورت لزوم از مشاورین دارای تخصص نرم افزار و تخصص خاص نیاز مشتری استفاده شود. • تعریف کامل از شرح نیازمندی ها و روند فاز های اجرایی در سازمان مشخص شده باشد. • شرکت تولید کننده نرم افزار باید علاوه تخصص در تولید نرم افزار، باید در خصوص نیازمندی مشتری تخصص لازمه را داشته باشد و یا مشاورین تکنولوگ خاص این موضوع را داشته باشد. • فازهای تولید و استقرار نرم افزار به صورت زمان های کوتاه مدت و با اهداف مشخصی تعریف شده و در زمان مقرر باید به اهداف مورد نظر برسد. • شرکت تولید نرم افزار باید دارای متدولوژی تولید نرم افزار بوده و تمامی اسناد تولید نرم افزار باید در اختیار سازمان سفارش دهنده برای تغییرات بعدی قرار گیرد. • نظامنامه تغییرات نرم افزار وجود داشته باشد تا نرم افزار در حلقه تغییرات گرفتار نشده و به مرحله اجرایی برسد. • مدیریت ریسک یکی از مهمترین عوامل موفقیت تولید نرم افزارهای سفارش مشتری بوده و انواع ریسک باید شناسایی شده و در اسرع وقت راهکار رفع آنها نیر لحاظ شود. مواردی که ذکر شد به تضمین موفقیت یک سازمان در استفاده از نرم افزار سفارش مشتری کاملا منطبق به نیازهای سازمان کمک چشمگیری میکند. منابع : Concepts of product software, Sjaak