در این نوشتار برآنیم شیوهای را برای ارزشگذاری نرمافزار با توجه به درآمد حاصل از آن نرمافزار ارائه دهیم. در این روش از اصول شناخته شدۀ ارزیابی اموال فکری کمک گرفته میشود منتها مشکلی که در این زمینه وجود دارد و صرفاً در مورد نرمافزارها صدق میکند این است که نرمافزار دائماً در حال بهبود یافتن است. سادهترین راهحلی که در این خصوص به ذهن میرسد محاسبۀ استهلاک است لکن در اینصورت استهلاک تنها در مورد خریداران اعمال شده و مشخص نمیشود ارزش نرمافزار اولیهای که به تدریج بهبود یافته چه میزان کم شده، کاهش ارزشی که بر فروشنده تحمیل میگردد.
کتابها و مقالات بسیاری در مورد هزینۀ تولید نرمافزار نوشته شده امّا در هیچ کدام از آنها به منافع حاصل از نرمافزار اشاره نشده است. از این رو هرگاه که محاسبۀ این منافع در تجارت ضرورت پیدا کرده انجام این مهم به وکلا، اقتصاددانان، فروشندگان نرمافزار و نه پدیدآورندگان نرمافزار واگذار شده است. بدیهی است نتایج کار آنها نیز متناقض خواهد بود.
چرا پدیدآورندگان نرمافزار باید از محصولات خود مراقبت کنند و آگاهیهای لازم را در این خصوص دارا باشند؟ در رشتههای دیگر پدیدآورندگان به ارزش محصولات خود آگاه هستند. مثلاً یک معمار میداند طرحهای وی در بازار چقدر میارزد یا یک سفالگر از قیمتی که ظروف باید به فروش برسد آگاه است؛ به همین ترتیب دوچرخهساز و سایر تولیدکنندگان اموال فیزیکی و مادی. امّا یک نرمافزار وقتی نوشته میشود امکان کپی کردن آن با هزینۀ بسیار ناچیز وجود دارد.
برای قیمتگذاری یک نرمافزار باید میزان فروش احتمالی آن را پیشبینی کرد کاری که چندان ساده نیست و نیاز به تخصص دارد. مثلاً نویسندۀ یک کتاب میتواند در این زمینه از یک ناشر کمک بگیرد. وقتی کتاب وارد بازار شد، نویسندۀ ذینفع میتواند میزان درآمد حاصل از فروش کتاب را با توجه به گزارش سالانه ناشر دنبال کند.
قیمتی که خریدار کتاب یا نرمافزار میپردازد ربطی به میزان تلاش و هزینۀ صورت گرفته برای خلق اثر ندارد. برای نمونه یک متن چندخطی بسیار زیبا یا یک کد نرمافزاری کوتاه ممکن است بسیار باارزش باشد در حالیکه یک کد چند میلیون خطی که گزارشی را ارائه میدهد، ارزش ناچیزی دارد. لذا اگر پدیدآورنده به ارزش بالقوۀ کار خود آگاه باشد بهتر میتواند تصمیم بگیرد چه میزان وقت و هزینه صرف آن کند.
مراقبت و حمایت متون بسیاری در خصوص حمایت از اموال فکری وجود دارد. چندین سال پیش مطالعاتی در مورد حمایت از اموال فکری در قالب اختراع یا کپیرایت انجام شد امّا به نتایج این تحقیقات اعتراض شد با این توضیح که تا زمانیکه موضوع تحت حمایت مشخص نیست تمرکز بر شیوههای حمایت در واقع پاسخ به سؤالی است که در درجه دوم اهمیت قرار دارد، هنوز هم حمایت در قالب کپیرایت بسیار بحثبرانگیز است. در عمل کپیرایت و اختراعات حمایت محدودی را به عمل میآورند چرا که حمایت از نرمافزارها با وجود ارتباطات سریع و ناشناس دنیای کنونی بسیار دشوار است. تعیین اینکه در اثر کپی کردن نرمافزار چه میزان از ارزش آن کاهش مییابد کار آسانی نیست و همین، برقراری تعادل بین حمایت و دسترسی آزاد را نیز مشکل میسازد.
ارزشگذاری نرمافزار برای چه کسانی یک ضرورت است؟
مطمئناً برای مهندسین نرمافزار بسیار راهگشا خواهد بود اگر افزون بر هزینۀ تولید نرمافزار به مصارف اقتصادی آن نیز آگاه باشند. در دنیای کنونی که در حال گذار از اموال مادی به اموال غیرمادی است، دانستن ارزش این اموال یک ضرورت است. در سال ۲۰۰۳ سرمایهگذاری شرکتهای امریکایی در حوزۀ اموال غیرمادی ۹% و در حوزۀ اموال مادی حدود ۸% تولید ناخالص ملی را تشکیل میداد. البته بخش ناچیزی از سرمایهگذاری هزار میلیارد دلاری در این حوزه به نرمافزار اختصاص یافته بود و بیشتر آن در حوزههای مربوط به بازاریابی، بهبود کسب و کار، آموزشهای شغلی و تحقیق و توسعه هزینه شده بود.
نرمافزار ماهیت منحصر به فردی دارد به گونهای که شیوههای سنتی ارزشگذاری حتی آنهایی که در خصوص سایر اموال فکری همچون موسیقی، اختراع و کپیرایت اعمال میشود، در مورد نرمافزار نتایج گمراهکنندهای را به دنبال دارد.
حوزههایی که درآنها ارزشگذاری نرمافزار یک ضرورت است عبارتند از:
۱- اتخاذ تصمیم در خصوص سرمایهگذاری در حوزۀ نرمافزار. در بیشتر صنایع ۱۰% سرمایهگذاریها به حوزۀ نرمافزار اختصاص مییابد که این مقدار در برخی کسب و کارها همچون بانکداری بیشتر و در برخی همچون حوزۀ سلامت و آموزش کمتر است.
۲- تصمیمگیری در خصوص به دست آوردن یک نرمافزار به طرق مختلف اعم از خرید، اجاره، بهرهگیری از خدمات ارائه شده در خصوص نرمافزار در وبسایتهای مربوطه و …
۳- تصمیمگیری در مورد خرید یک شرکت نرمافزاری. میدانیم بخشی از عملیات راستیآزمایی (مطالعه دقیق تمام جنبههای یک سرمایهگذاری) ارزیابی تمام اموالی است که قرار است خریداری شود و نرمافزارها بخش مهمی از این پروسه را تشکیل میدهند. در جریان حباب دات کام [حباب دات کام اصطلاحی است که برای اشاره به حباب اقتصادی سالهای بین ۱۹۹۵ تا ۲۰۰۰ به کار میرود. در این سالها فناوریهای اینترنتی که تازه سربرآورده بودند، آیندهای درخشان را نوید میداد. جذابیت فناوریهای ارتباطی بویژه بازار سهام را مجذوب خود کرده بود. شرکتهایی که به فعالیتها و کسب و کارهای اینترنتی رو میآوردند، ارزش سهامشان رشد پرشتابی به خود میگرفت. اما این رشد پرشتاب در سال ۲۰۰۰ به یکباره متوقف شد و حباب اقتصادی شکل گرفته را ترکاند. جذابیت و اقبال اینترنت باعث شکل گرفتن مجموعه زیادی از شرکتهای اینترنتی شد که به دات کام معروف بودند. بیشتر شرکتها به این نتیجه رسیده بودند که اگر به اول نام خود یک E و به انتهای آن یک. com اضافه کنند، ارزش سهامشان در بورس رشد تصاعدی به خود خواهد گرفت؛ دست اندرکاران بازار هم انتظار داشتند شرکتهایی که وارد فعالیتهای اینترنتی میشوند سود کلانی به دست آورند. به همین دلیل اقبال بیشتری به این شرکتها نشان میدادند. این روند تا جایی ادامه داشت که ارزش سهام این شرکتها در بورس از ارزش واقعی آنها بالاتر رفت. در این نقطه بود که رشد ارزش سهام متوقف میشد و چه بسا رو به کاهش مینهاد و حباب شرکتهای دات کام هم از بین میرفت]، اموال شرکتها بیش از ارزش واقعی آنها ارزیابی میشد که نهایتاً این حباب ترکید و نتیجۀ آن چیزی نبود جز کاهش شدید ارزش اموال خریداری شده و سلب اعتماد سهامداران.
۴- شرکتهای صادر کنندۀ نرمافزار به عنوان بخشی از جریان برون سپاری [برون سپاری در مفهوم اولیه خود بدین معناست که بخشی از فعالیتهای یک شرکت به بیرون سپرده شده و در حقیقت خود شرکت از فرایند خارج شود و کارها توسط شخص ثالث انجام گیرد، شخصی که در صنعت مورد نظر از تخصص کافی برخوردار است]، باید بدانند ارزش صادرات آنها چقدر است و با چه قیمتی محصولات خود را انتقال دهند.
اصول ارزشگذاری اموال فکری:
همانطور که پیشتر نیز گفته شد با توجه به اینکه وابستگی به اموال فیزیکی و مادی روز به روز کاهش یافته و دنیا در حال حرکت در مسیری است که در آن دانش و استعداد نقش کلیدی داشته و به کمک آنها میتوان اموال غیرمادی مورد نیاز را خلق کرد، لذا ارزشگذاری اموال غیرمادی روز به روز مهمتر میشود؛ شیوههای مختلفی نیز برای این ارزشگذاری پیشنهاد شده است.
معمولاً نقش عامل انسانی در میزان ارزش شرکتها نادیده گرفته شده و بسیار ناچیز است. حتی امروزه نیز در دفاتر حساب شرکتها و گزارشات سالانۀ آنها ارزش اموال، تسهیلات، تجهیزات و سرمایه شرکت به تفکیک مشخص نمیشود بلکه حاصلجمع آنها ذکر میشود. بنابراین یک سرمایهگذار از دفاتر شرکت نمیتواند پی به ارزش شرکت در حوزۀ نرمافزار ببرد. مثلاً ارزش شرکت SAP [یک شرکت نرمافزاری آلمانی است که عمده شهرتش را مدیون تولید نرمافزارهای سازمانی در زمینه مدیریت عملیات تجاری و روابط با مشتریان است] در گزارش سال ۲۰۰۳، ۳/۶ میلیارد یورو برآورد شده بود امّا در بازار قیمت هر سهم ۱۰۰ یورو و تعداد سهام شرکت ۳۱۵ میلیون سهم بود، در نتیجه ارزش واقعی این شرکت ۵/۳۱ میلیارد یورو بوده که دلیل این تفاوت – ۲/۲۵ میلیارد یورو – عدم محاسبۀ اموال غیرمادی شرکت و سهامدارن است. ارزش برند SAP در سال ۲۰۰۴، ۸/۶ میلیارد یورو برآورد شد از همینجا میتوان ارزش دانش و نرمافزار شرکت را محاسبه کرد: ۴/۱۸ میلیارد یورو. نمونههای بسیاری از شرکتهای با تکنولوژی بالا را میتوان ذکر کرد که در گزارش سالانۀ آنها ارزش اموال غیرمادی به تفکیک و با جزئیات مشخص نمیشود.
اموال غیرمادی شرکت SAP یا هر شرکت دانش بنیان دیگر شامل موارد ذیل میشود: دانش فنی پرسنل، مهارت نیروی فروش، دانش مدیران در حوزۀ کسب و کار، ارزش علامت تجاری، شهرت و اعتبار شرکت، ارزش سرمایه نرمافزاری شرکت. شهرت یک شرکت نرمافزاری از طریق تبلیغات و ارزش نرمافزار آن با تحقیق و توسعه افزایش مییابد. این دو مؤلفه (شهرت و نرمافزار) جزو اموال فکری شرکت در نظر گرفته میشود البته نرمافزار متن باز از این قاعده مستثنی است.
زمانی ارزشگذاری اموال فکری ضرورت پیدا میکند که خط تولید نرمافزار خریداری شده یا انتقال داده میشود امّا اگر کل شرکت انتقال داده شود در این صورت نیروی کار را نیز میتوان ارزشگذاری کرد. گاهی کل اموال غیرمادی در سبدی به نام «سرقفلی» قرار داده میشود امّا بدیهی است در چنین ظرف مشبکی تنوع و اهمیت اجزا نادیده گرفته میشود.
الف) ارزش اموال فکری بستگی به درآمد حاصل از آنها در طول زمان دارد: در این روش میزان درآمد اکتسابی در آینده پیشبینی شده و با نرخ مناسبی تنزیل میشود تا ارزش آن در حال حاضر مشخص شود. در این مقاله صرفاً بر روی نرمافزار که شاید بزرگترین بخش از اموال فکری هستند، تمرکز میشود.
مالکیت نرمافزار به شرکتهای تولیدکننده نرمافزار ختم نمیشود. بسیاری از کسب و کارهای جدید نرمافزار طراحی میکنند، میخرند، ارتقا میدهند و از طریق آنها سود کسب میکنند. مثلاً بانکها بدون نرمافزار نمیتوانند به حیات خود ادامه دهند زیرا در اینصورت امکان تشخیص موعد پرداخت مشتریان و میزان بدهی آنها وجود ندارد. کار تولیدکنندگان نیز بدون نرمافزار مختل میشود: کار طراحی، تخصیص منابع، مدیریت جریان کار، فرستادن محصولات به خارج از کشور همگی وابسته به نرمافزار است. شرکتهایی که از نرمافزارهای بهتری استفاده میکنند، سودآوری بیشتری خواهند داشت.
پیشبینی درآمد: در ابتدا این نکته را متذکر میشویم که برای پیشبینی میزان درآمد حاصل از نرمافزار، ابتدا باید طول عمر نرمافزار محاسبه شود. در سال ۲۰۰۰ در کشور امریکا میزان درآمد حاصل از فروش نرمافزار به مشتریان جزء ۱۲۰ میلیارد دلار بود. شرکتها نیز ۱۲۸ میلیارد دلار صرف ارتقای نرمافزارهای داخلی خود کرده بودند.
از آنجا که ما در این مقاله به ارزیابی نرمافزار از نقطه نظر فروشنده میپردازیم، میدانیم، زمانیکه نسخۀ جدیدی از یک نرمافزار آماده شده و روانۀ بازار میشود فروش نرمافزار قبلی به شدت کاهش مییابد؛ چون هزینۀ کپی و بستهبندی نرمافزار بسیار ناچیز است، از لحاظ اقتصادی به صرفه نیست فروش نسخۀ قدیمی نرمافزار ادامه پیدا کند و این ویژگی اموال غیرمادی است؛ حتی در میان اموال غیرمادی نیز نرمافزارها در این خصوص منحصر به فرد هستند. اگر یک کتاب دو سال پیش نوشته و چاپ شده باشد، در حال حاضر حتی اگر به ۸۰% قیمت جدید فروخته شود باز هم مقرون به صرفه خواهد بود در حالیکه چنین فرضی برای فروشندگان نرمافزار هیچ مفهومی ندارد. حمایت از نسخههای قدیمی به منظور حفظ مشتریان موجود که تمایلی به آپدیت نرمافزار خود ندارند یا نمیتوانند، برای فروشنده ضرر خالص است. این عدم تطابق برای مشتری نیز مشکلساز است و نرمافزار کارایی لازم را برای آنها نیز نخواهد داشت. به علاوه اگر اشکالات موجود (bug) در نسخۀ جدید برطرف شده باشد، مطمئناً نسخۀ جدید بهتر خواهد بود. استفاده از نرمافزارهای متروک و از کارافتاده برای خریدار نیز هزینههایی را در پی دارد و پس از مدتی مجبور است مبلغی را صرف به روز کردن نرمافزار خود بکند. از آنجا که بسیاری از کدها و کارکردهای نرم افزار قبلی در نسخه جدید به کار گرفته میشود، لذا بخشهای اساسی و مهم نرمافزار بین ۱۰ تا ۱۵ سال عمر کرده و به تبع درآمدزا خواهد بود.
برای پیشبینی درآمد شرکتی که از یک نرمافزار استفاده میکند و به تبع آن ارزشگذاری نرمافزار، میتوان وضعیت شرکت را در دوران قبل از استفاده از نرمافزار و پس از نصب آن مقایسه و با توجه به تفاوت این دو دوره سود حاصل از نرمافزار را محاسبه کرد. قاعدتاً پس از نصب نرمافزار کارایی شرکت افزایش مییابد بدین صورت که میزان تولید محصول یا کیفیت ارائه خدمات یا مهارت نیروی کار افزایش مییابد یا هزینۀ تولید محصول کمتر میشود لذا ارزشگذاری با توجه به این موارد و پس از کسر هزینههای مربوط به نرمافزار صورت میگیرد.
امروزه به ندرت اتفاق میافتد یک شرکت مجموعهای از نرمافزارهای جدید را نصب کند معمولاً نسخههای موجود خود را ارتقا میدهد یا گاهی یک زیرسیستم اصلی [معمولاً سیستمهای بزگ و پیچیده را به قسمتهایی تقسیم میکنند که هر کدام را میتوان به عنوان سیستم کوچکتر به نامزیر سیستم در نظر گرفت مثلاً یک شرکت تجاری ممکن است دارای قسمتها، یا بخشهایی مانند بخش خرید، بخش فروش، بخش بازاریابی و غیره باشد که هر کدام از بخشها یا قسمتها یک زیر سیستم را در درون سیستم شرکت تشکیل میدهد] را تعویض میکند. حال برای محاسبۀ سود حاصل از این نرمافزارهای اضافه شده میتوان عملکرد شرکتی که نرمافزارهای خود را ارتقا داده با شرکتی که هنوز این کار را انجام نداده مقایسه کرد؛ هرچند یافتن دو موردی که قابل مقایسه باشند دشوار است.
در شرکتهای بزرگ نمیتوان درآمد قابل انتساب به نرمافزار را با قطعیت تعیین کرد چرا که مجموعهای از عوامل برای تولید درآمد به کار گرفته میشود: هزینههای معمول اجرایی، مخارج صرف شده برای ایجاد اموال فکری مثلاً نگهداری و ارتقای نرمافزار، تبلیغات محصولات جدید و شناساندن شرکت، کنترل کیفیت و غیره. راهحلی که در این موارد به ذهن میرسد آن است که مدیریت شرکت سود قابل انتساب به هر بخش را مشخص کند.
درآمد و سود ناخالص[1]: معمولاً تولید محصول هزینهبر بوده و همین عامل باعث کاهش درآمد کسب و کارهاست و این یکی از وجوه تمایز نرمافزار و اموال فکری با اموال مادی است. در هر دو مورد ساخت اولین واحد از یک محصول بیشترین هزینه را به خود اختصاص میدهد امّا در اموال مادی هر تولید متوالی دیگر نیز هزینهبر میباشد در حالیکه در نرمافزار و سایر اموال غیرمادی این هزینه بسیار ناچیز است و اگر توزیع نرمافزار از مجرای اینترنت صورت گیرد عملاً فروش آن هیچ هزینۀ مستقیم و افزایشیای نخواهد داشت. با توجه به توضیحات فوقالذکر باید گفت درآمد پس از کسر بهای تمام شدۀ کالای فروش رفته معادل سود ناخالص خواهد بود که هر دو شاخصهای مالی متداولی بوده در حالیکه چندان راهگشا نیستند و نمیتوانند مبنای تصمیمگیری برای سرمایهگذاری قرار گیرند؛ امّا اگر هزینههای تحقیق و توسعه ابتدایی، نگهداری، بهای تمام شدۀ کالای فروش رفته بین هر واحد محصول سرشکن شود، در این صورت میتوان بر اساس مابهالتفاوت حاصل تصمیمگیری کرد. البته این اقدامات مستلزم آن است که میزان فروش آینده پیشبینی شود. حال آنکه در اموال فکری هرینههای اولیه نادیده گرفته میشود و بر اساس ارزشگذاری اولیۀ نرمافزار میتوان مشخص کرد آیا سرمایهگذاری موفقیتآمیز بوده یا خیر؟
از آنجا که ما در این نوشتار به ارزشگذاری نرمافزار موجود میپردازیم، هزینههای تحقیق و توسعۀ ابتدایی و هزینۀ ناچیز تولید نادیده گرفته میشود لذا درآمد حاصل از فروش هر نرمافزار سود به حساب میآید؛ البته هزینههایی لازم است تا نرمافزار قابل فروش باقی بماند. بنابراین میتوان اینگونه نتیجه گرفت مخارجی که صرف امکانسنجی نرمافزار میشود هزینه بوده در حالیکه هزینههای صورت گرفته برای ارتقای نرمافزار نوعی سرمایهگذاری است.
تقویت نرمافزار: قبل از آنکه بتوانیم از میزان درآمد حاصل از نرمافزار به میزان ارزش آن پی ببریم، باید ببینیم در طول زمان چه اتفاقاتی برای نرمافزار رخ میدهد که میتواند درآمدزا باشد. اینجاست که بین نرمافزار و سایر اموال غیرمادی تفاوت اساسی وجود دارد. کتاب و موسیقی ضبط شده در طول حیات خود ثابت و بدون تغییر میمانند در حالیکه تعداد اندکی از نرمافزارها اینگونه هستند.
شیوههایی که در آنها اموال مادی و غیرمادی بهتدریج مستهلک میشوند بر این فرض استوارند که یک کالا در طول زمان به دلایل مختلف کم ارزش میشود از جمله به دلیل فرسوده شدن، منسوخ شدن و از رواج افتادن یا تغییر سلیقۀ مشتری. با این وجود اگر نرمافزار خوب نگهداری شود، از رده خارج نشده و کماکان باارزش باقی میماند. به طور معمول طول عمر یک نرمافزار اصلی (نه نسخههای جدید آن) بین ۱۰ تا ۱۵ سال است که احتمالاً به تدریج این مدت نیز افزایش مییابد تا زمانیکه نرمافزار جدیدی جایگزین آن شود. نسخۀ جدید معمولاً زمانی ارائه میشود که ایجاد یک سری تغییرات ضرورت یابد و در سوی دیگر کاربران تحمل کار کردن با نسخههای آپگرید شده را داشته باشند.
هزینۀ نگهداری نرمافزارهای یک شرکت حدود ۶۰% تا ۹۰% کل هزینههاست که در این میان نرمافزارهای نظامی کمترین سهم را دارند؛ شاید به این دلیل که کاربران نرمافزارهای نظامی نمیتوانند خیلی اعتراض کنند و بازخوردهای آنها نیز معمولاً نادیده گرفته میشود لذا نتیجه این خواهد بود که این نرمافزارها پس از مدتی باید کلاً تعویض شوند.
بهبود و ارتقای مستمر. انواع نگهداری از نرمافزار عبارتند از:
نگهداری اصلاحی[2]: تغییراتی که بر روی تولیدات نرم افزاری بعد از تحویل سیستم برای رفع خطا های کشف شده انجام می گیرد؛ شامل همه تغییراتی است که موجب حذف فعالیت های معیوب در نرم افزار میگردد. اگر این اصلاحات به درستی صورت نگیرد محصول در بازار پذیرفته نشده و چندان عمر نخواهد کرد. مقالات بسیاری در خصوص اهمیت نرمافزارِ باکیفیت نوشته شده، اینکه میتوان مکرراً از آن استفاده کرد و نرمافزار طول عمر بیشتری خواهد داشت. لکن در این مقالات تأکید بر کاهش هزینههاست تا کسب درآمد.
نگهداری تطبیقی: تغییراتی که روی تولیدات نرم افزاری بعد از تحویل، برای حفظ قابل استفاده بودن برنامه در محیطهای تغییر یافته یا در حال تغییر صورت میگیرد. شامل تغییرات مورد نیاز برای تطبیق سیستم با محیطی که سیستم باید در آن فعالیت داشته باشد. برای مثال تغییرات یک سیستم برای کار آن بر روی پلتفرم سخت افزار جدید، سیستم عامل جدید. مقررات دولتی نیز ممکن است ایجاد چنین تطابقاتی را ایجاب کند. مثلاً قوانین مالیاتی جدید بر نرمافزارهای مالی تأثیر میگذارد یا تکنولوژی جدید پزشکی بر نرمافزارهای مربوطه در این زمینه.
نگهداری تکاملی: تغییراتی که روی تولیدات نرم افزاری بعد از تحویل برای بهبود کارایی یا قابل تعمیر بودن صورت میگیرد. شامل تغییراتی است که از جانب درخواستهای کاربر سازماندهی میشود. برای مثال میتوان به مواردی چون اضافه کردن، حذف و اصلاح توابع، بازنویسی مستندات، بهبود کارایی یا بهبود سهولت استفاده اشاره کرد. حالت ایدهآل این است که عملیات تعمیر نباید قابلیت اطمینان و قابلیت تعمیر را کاهش دهد یا ساختار اجزای سیستم را به هم زند در غیر این صورت تغییرات آینده به تدریج مشکلتر و فاصله هزینه پیاده سازی آنها بیشتر و گرانتر خواهد شد .
نگهداری اصلاحی معمولاً ۱۰%، نگهداری تطبیقی ۱۵% تا ۵۰% و نگهداری تکاملی نیمی از هزینههای نگهداری را تشکیل میدهد. پرسنل بازاریابی معمولاً نتایج نگهداری تکاملی خود را در صورتیکه جدید و مبتکرانه باشد، بازتاب گسترده میدهند حتی اگر کارکرد اصلی نرمافزار تغییری نکرده باشد.
اگر یک سیستم خوب طراحی شده باشد، ارتقای آن راحتتر و سریعتر است امّا در عین حال هزینۀ بیشتری را باید صرف نگهداری آن نمود که ماحصل این نگهداری طول عمر بیشتر سیستم است. برعکس اگر طراحی نرمافزار ضعیف باشد امکان نگهداری مؤثر وجود نخواهد داشت و تبعاً عمر نرمافزار کوتاه خواهد بود.
دلایلی که باعث میشود عرضهکننده محصول خود را در بالاترین کیفیت ممکن نگهدارد، متعدد است از جمله اینکه با هر نسخۀ جدید، محصول بهتر شده و آسانتر به فروش میرسد. برای اینکه بتوان مشتریها را حفظ کرد، نگهداری مستمر یک ضرورت است. میدانیم که حفظ مشتری قدیمی آسانتر از به دست آوردن یک مشتری جدید است؛ بنابراین با نگهداری نرمافزار میتوان درآمد ثابتی را کسب نمود.
اطلاعات لازم برای انواع نگهداری از نرمافزار را چگونه میتوان کسب کرد؟
نگهداری اصلاحی با توجه به بازخورد کاربران و مشتریان انجام میگیرد. یک گروه متخصص گزارشات واصله در مورد خطاها را ثبت میکند. آنهایی که به دلیل سوءتفاهم یا عدم آشنایی کامل با نرمافزار بوده حذف میشود، آنهایی که همگی یک خطای خاص را گزارش میدهند ادغام میشوند، در صورت امکان کاربران را راهنمایی میکنند، اگر امکانپذیر باشد روش دیگری را برای اجتناب از مشکل تعبیه میکنند [مثلاً اگر کلید Tab بر روی یک صفحه کلید کار نمیکند، یک راه احتمالی، استفاده از Ctrl-l است که همان کد را منتقل میکند]. آنچه که باقی میماند برای کادر مهندسی ارسال میشود.
نگهداری تطبیقی[3]، اطلاعات لازم در این خصوص از مراجع تدوین استاندارد، فروشندگان سختافزار، فروشندگان نرمافزاری که محصولات آنها در تعامل با نرمافزار موضوع نگهداری است و از منابع دولتی به دست میآید. عرضهکنندگان بزرگ نرمافزار در سایر سازمانها و نزد سایر فروشندگان نمایندگانی دارند که از راهنماییهای آنها استفاده میکنند. تشخیص تطابقات لازم برای حفظ مشتریان نیاز به مهارت بالایی دارد.
نگهداری تکاملی[4]، همواره با اندک تغییری در نرمافزار میتوان کاربری جدیدی را به آن اضافه کرد. اطلاعات به دست آمده از نیروی فروش بهترین منبع در این خصوص است. توجه به بازخوردها پس از تحویل نرمافزار بسیار مهم است هر چند غالباً نادیده گرفته میشود. البته آپدیتهای تکاملی نباید کاربران را اذیت کند بدین معنی که کاربری نرمافزار آنقدر گسترده شود که کاربران سردرگم شوند. پس این نوع نگهداری باید با توجه به انتظارات کاربران انجام گیرد و نه برای متقاعد کردن برنامهنویس.
نوشته جیو واندرهولد استاد دانشگاه استانفورد-2007
[1] : Cost – of – goods sold [2] : Corrective Maintenance [3] : Adaptive Maintenance [4] : Corrective Maintenance