چهارشنبه, ۲۷ تیر, ۱۴۰۳ / 17 July, 2024
مجله ویستا

در طراحی نرم افزار كیفیت را در اولویت قرار دهیم


در طراحی نرم افزار كیفیت را در اولویت قرار دهیم

امروزه نرم افزارها به حدی در زندگی روزمره انسان ها نفوذ كرده اند كه همه آن را بخشی ثابت و عادی از جریان زندگی خود می دانند

از سیستم‌‏های پیشرفته سرگرمی‌‏های خانگی گرفته تا سیستم‌‏های پیچیده مالی و تجاری كه معاملات چند میلیاردی را در سراسر جهان سازمان‌‏دهی می‌‏كنند، همگی با نرم‌‏افزار سر و كار دارند، به عبارت دیگر نرم‌‏افزار بخش جذایی ناپذیری از فعالیت‌‏های انسان مدرن است.

این میزان وابستگی انسان‌‏ها به محصولات نرم‌‏افزاری و استفاده این دستاورد بزرگ در دنیای الكترونیك تاثیر نارسایی‌‏های نرم‌‏افزاری را افزایش می‌‏دهد. امروزه تولید كنندگان و طراحان نرم‌‏افزار با طیف گسترده‌‏ای از مخاطبان روبرو هستند كه از آنها به عنوان كاربر یاد می‌‏شود. این كاربرها نمی‌‏توانند وجود نارسایی در محصولات نرم‌‏افزاری را تحمل كنند, در حالی كه شخصی كه دارای دانش تخصصی است و با ویژگی‌‏های نرم‌‏افزار آشنا است، نواقص و كاستی‌‏ها را پدیده‌‏ای عادی تلقی می‌‏كند. با وجود اینكه ریسك از دست دادن اعتماد مشتریان در نتیجه نارسایی‌‏های موجود در محصولات نرم‌‏افزاری در فضای كنونی فناوری افزایش یافته است، شركت‌‏هایی كه در حوزه طراحی نرم‌‏افزار فعالیت می‌‏كنند اساساً همان راه سنتی خود را می‌‏روند.

فرایند كنونی حاكم در طراحی نرم‌‏افزار به گونه‌‏ای نیست كه با تضمین كیفیت محصول در راستای كاهش نارسایی‌‏ها و بهبود بخشیدن تجربه كاربر از آن عمل كند. از سوی دیگر؛ فشار فزاینده بازاریابی و تلاش شركت‌‏ها برای عرضه سریع‌‏تر محصول، مهندسان را مجبور می‌‏كند زمان كمتری را صرف طراحی محصول یا ارتقای نسخه‌‏های جدید آن كنند كه این امر خود شرایط را بدتر می‌‏كند. عوامل مذكور باعث می‌‏شود مجموعه‌‏ای از نارسایی‌‏ها در طراحی نرم‌‏افزار به وجود بیاید؛ هزینه‌‏های پشتیبانی پس از فروش افزایش یابد و سابقه بدی كه كیفیت پایین‌‏ نرم‌‏افزار بر جا می‌‏گذارد تشدید شود. پژوهش‌‏های دانشگاهی نشان می‌‏دهد كه تنها در سال ۲۰۰۲ , صنعت فناوری رقم سرسام‌‏آوری معادل ۶۰ میلیارد دلار را صرف تشخیص و ترمیم نارسایی‌‏های موجود در محصولات نرم‌‏افزاری كرد. شمار زیادی از شركت‌‏ها در گزارش‌‏های خود گفته‌‏اند حدود ۵۰ درصد هزینه‌‏های طراحی نرم‌‏افزار را به تشخیص و ترمیم نارسایی‌‏های موجود در محصولات خود اختصاص می‌‏دهند.

بدیهی است كه وقت آن رسیده تغییراتی بنیادین در نحوه طراحی نرم‌‏افزارها ایجاد شود تا منابع با ارزش شركت‌‏ها صرف كار مجدد بر روی محصولاتی كه می‌‏توانست از اول با دقت بیشتری طراحی شود نگردد.

آزمایش؛ مرحله‌‏ای كه در طراحی نرم‌‏افزار نادیده گرفته شده است.

نتایج یك نظرسنجی از مدیران ارشد فناوری شركت‌‏های فروشنده نرم‌‏افزار و مدیران اطلاعات شركت‌‏های IT نشان می‌‏دهد بیشتر مدیران در این مورد اجماع دارند كه صنعت فناوری مساله تضمین كیفیت نرم‌‏افزار را نادیده گرفته و سرمایه‌‏گذاری در این زمینه كمتر از میزان بایسته است.

این پدیده غالباً به صورت‌‏های زیر نمود می‌‏كند:

- شركت‌‏ها در برنامه خود یك مرحله آزمایش رسمی را در پایان چرخه طراحی نرم‌‏افزار می‌‏گنجانند. بیشتر آزمایش‌‏هایی كه قبل از این مرحله انجام می شود غیر رسمی و موقتی است و در آنها بسیار به جنبه‌‏های مهندسی توجه می‌‏شود تا شرایط و نیازهای كاربر.

- بعضی از آزمایش‌‏ها تا اواخر چرخه مهندسی نرم‌‏افزار كاملاً نادیده گرفته می‌‏شوند، آزمایش‌‏هایی كه غالباً نادیده گرفته می‌‏شوند از نوع WHITE - BOX ( آزمایش انطباق عملكرد بازدهی نرم افزار با توجه به ساختار درونی و كد دهی آن) و تست عملكرد هستند. این نادیده گرفتن و اهمال در آزمایش‌‏های لازم باعث بروز نارسایی در نرم‌‏افزار و مشكلات عملكردی در مواقعی می‌‏شود كه به تصور مهندسان در مرحله طراحی توجه لازم به آن شده است.

- نبود برنامه‌‏ریزی رسمی برای آزمایش نرم‌‏افزار؛ مشخص نبودن و ناهماهنگی روش‌‏ها و ابزار آزمایش نظیر نرم‌‏افزارهای موجود, خدمات حرفه‌‏ای كارشناسان تست نرم‌‏افزار و چهارچوب‌‏های آزمایش.

- نبود معیارهای رسمی سنجش كیفیت كه باعث كاهش كارایی تصمیم‌‏گیری‌‏های مدیریتی می‌‏شود. تصور كنید شركت از یك طرف باید نرم‌‏افزار را به موقع در اختیار مشتری مهم خود قرار دهد و از طرف دیگر نیازمند سرمایه‌‏گذاری بیشتر بر روی آزمایش محصول خود است؛ حال آن كه اهداف كیفی مشخصی برای محصول خود ندارد. چنین شركتی تلاش می‌‏كند اعتبار خود را نزد مشتری از دست ندهد؛ اما عدم وجود معیارهای كیفی باعث می‌‏شود مدیران این شركت در تصمیم‌‏گیری‌‏های خود دچار ناتوانی و سرگردانی شوند. مهمترین پیامد اجرای یك پروژه طراحی نرم‌‏افزار كه از كاستی‌‏های فوق رنج می‌‏برد این است كه تیم مهندسی اهداف كیفی را نمی‌‏شناسد و در راستای آنها عمل نمی‌‏كند. این امر باعث می‌‏شود میزان سرمایه‌‏گذاری بر روی آزمایش محصول با اهداف كاربردی نرم‌‏افزار سازگار نباشد و ریسك توان نرم‌‏افزار در تامین نیازهای كاربر افزایش یابد.

الگوی برنامه‌‏ریزی كیفیت؛

سازمان‌‏هایی كه به كمك متخصصان تست نرم‌‏افزار فعالیت‌‏های خود را به بهترین وجه ممكن انجام می‌‏دهند برنامه‌‏های عمده طراحی نرم‌‏افزار را با صرف زمان برابر برای تعیین اهداف كیفی و كاربرد محصول خود آغاز می‌‏كنند. در این نوع برنامه‌‏ریزی در درجه اول مجموعه‌‏ای از معیارها مشخص می‌‏شود كه بخش‌‏های مهندسی, مدیریت محصول و مدیریت اجرایی می‌‏توانند از آنها برای نظارت بر پیشرفت كیفی نرم‌‏افزار در دست طراحی كمك بگیرند. این معیارها امكان كنترل نارسایی, اندازه‌‏گیری ریسك نارسایی‌‏ها, بسامد نارسایی‌‏ها, عملكرد و هزینه آزمایش را فراهم می‌‏كند. سپس, به عنوان بخشی از برنامه‌‏ریزی اولیه پروژه تیم مهندسی توجه خود را روی جنبه‌‏های اساسی هماهنگ كردن مدیریت آزمایش و كیفیت نظیر برنامه تست واحد, برنامه تست عملكرد, قابلیت اتوماسیون تست, برنامه تست پس‌‏رفت, فرایندهای نظارت بر آزمایش و گزارش‌‏دهی و فرایندهای مهندسی متمركز می‌‏كند تا نارسایی‌‏های شناسایی شده را برطرف كند. این برنامه‌‏ریزی و سازمان‌‏دهی فرایند آزمایش به مدیران و مهندسان این توان را می‌‏دهد كه در تعیین میزان سرمایه‌‏گذاری بر روی منابع آزمایش, نرم‌‏افزارهای لازم, خدمات حرفه‌‏ای كارشناسان آزمایش نرم‌‏افزار و زیرساخت با دانش و دقت بیشتری عمل كنند. یكی از جنبه‌‏های كیفیت نرم‌‏افزار كه غالباً نادیده گرفته می‌‏شود امكان ردیابی و پی‌‏گیری نرم‌‏افزار بعد از رسیدن به دست مشتری است. داشتن ارتباط مستقیم و پیوسته با مشتری می‌‏تواند به شركت در تشخیص و رفع سریع نواقص عملكردی محصول آن كمك كند. تیم‌‏های مهندسی كه بر روی كیفیت سرمایه‌‏گذاری می‌‏كنند باید بر روی سیستم‌‏های ردیابی محصول نیز سرمایه‌‏گذاری كافی انجام دهند. تا بتوانند با تحلیل و بررسی نواقص, عوامل اصلی تضعیف كننده و تقویت كننده كارایی نرم‌‏افزار را شناسایی كنند. ردیابی كارآمد به مهندسان اجازه می‌‏دهد با تشخیص به موقع از عوامل اصلی عملكرد خوب یا بد نرم‌‏افزار درس بگیرند. تیم مهندسی باید در تعیین سیستم مدیریت كیفیت چارچوب انعطاف‌‏پذیری را ایجاد كند تا با پیشرفت پروژه متناسب با شرایط در روش‌‏ها و معیارها تغییراتی ایجاد كند. سازمان‌‏هایی كه غالباً در اجرای پروژه‌‏های بزرگ نرم‌‏افزاری با كیفیت بالا موفق بوده‌‏اند آنهایی هستند كه برای درسی كه از نتایج پروژه

می‌‏گیرند اهمیت خاصی داده‌‏اند. در پایان هر پروژه حقایقی آشكار می شود كه می‌‏تواند در افزایش كارآیی پروژه‌‏های آینده شركت تاثیر به سزایی داشته باشد. تیم مدیریت اجرایی اصولاً تلاش می‌‏كند با مرور نتایج پروژه قوانینی را برای فعالیت موفق‌‏آمیزتر در پروژه‌‏های آینده استخراج كند.

نتیجه‌‏گیری؛

شركت‌‏هایی كه رویكرد كارآمدتر و آزموده‌‏تری به مدیریت كیفیت دارند دستاوردهای برتری خواهند داشت؛ به این معنی كه ثبات عملكرد سیستم آنها بالاتر و هزینه‌‏های پشتیبانی پس‌ از ‏فروش آنها پایین‌‏‌‏تر خواهد بود.و نهایتاً این كه هر موفقیتی هزینه خاص خود را دارد. سازمان‌‏هایی كه به دنبال تغییر اساسی در مدیریت كیفیت محصولات خود هستند باید راه درازی را طی كنند و در درجه اول سرمایه‌‏گذاری‌‏های لازم را انجام دهند. شركت‌‏هایی كه دست به چنین سرمایه‌‏گذاری‌‏های می‌‏زنند نه تنها هزینه پشتیبانی پس از فروش را كاهش می‌‏دهند؛ بلكه می‌‏توانند محصولات نرم‌‏افزاری جدید خود را در زمان كوتاه‌‏تری طراحی و عرضه كنند. بدیهی است كه كاهش زمان طراحی نرم‌‏افزار می‌‏تواند موفقیت شركت‌‏ها را در بازار رقابتی امروز تضمین كند.

منبع CNET