فعالیتهای چتری فرآیند تولید نرم‌افزار

‏انجام درست فعالیت‌های چارچوبی تا حدود بسیار زیادی تحت کنترل انسان می‌باشد ولی برای تولید موفق یک پروژه‌ی نرم‌افزاری به تنهایی کافی نیستند. زیرا در وادی زندگی علاوه بر قوانین انسانی، قوانین طبیعی نیز وجود دارند، اگر فعالیت‌های چارچوبی درست بودند، اما اطلاعات موجود در هارد دیسک به دلیل عوامل طبیعی از بین رفتند، چه کار کنیم، اگر فعالیت‌های چارچوبی درست بودند، اما به دلیل ماهیت انسانی بودن یک انسان و عوامل طبیعی همچون مرگ و میر و زلزله، مدیران و همکاران خود را از دست دادیم، چه کار کنیم و واقعاً اگر همه‌ی موارد تحت کنترل انسان برای رسیدن به موفقیت درست بودند، عوامل طبیعی که خارج از کنترل انسان هستند را چه کار کنیم …

به قول حضرت حافظ

در بیابان‌گر به شوق کعبه خواهی زد قدم            سرزنشها‌گر کند خار مغیلان غم مخور

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

انواع فعالیتهای چتری

۱- کنترل و پیگیری پروژه‌‌ی نرم‌افزاری

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

۲- ‏مدیریت ریسک

گام اول مدیریت ریسک، شناسایی ریسک (تحلیل ریسک) است و گام دوم مقابله با ریسک، ‏برای مقابله با ریسک باید هزینه کرد. مثلاً ریسک از دست دادن اطلاعات را می‌توان با هزینه و خریداری یک سیستم پشتیبان‌گیری از اطلاعات مرتفع نمود یا ریسک از دست دادن مدیران را می‌توان با هزینه و استخدام یک نیروی انسانی پشتیبان در کنار مدیران دارای درجه ‏اهمیت بالا مرتفع نمود. در واقع در این فعالیت، ریسک‌های محتملی که ممکن است بر روی خروجی‌های پروژه و یا کیفیت محصول نهایی پروژه یا به عبارت دقیق‌­تر بر روی خصوصیات پروژه‌­های موفق نرم‌­افزاری (نیاز، زمان و هزینه) تأثیر ناگواری بگذارند شناسایی، مدیریت و در صورت امکان تقلیل می‌یابند. دقت ­کنید که احتمال وقوع ریسک، تابعی از زمان است، بنابراین مدیریت ریسک می‌بایست در سراسر چرخه‌ی حیات نرم‌افزار، حضوری فعال و پررنگ داشته باشد.

۳- تضمین کیفیت نرم‌افزار (SQA : Software Quality Assurance)

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

۴- بازبینی‌های فنی (FTR : Formal Technical Review)

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

۵- اندازه‌گیری

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

۶- مدیریت پیکربندی نرم‌افزار (Software Confiquration Management)

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

۷- مدیریت قابلیت استفاده مجدد

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

۸- تولید و پیش تولید محصولات کاری

‏شامل فعالیت‌های لازم برای تولید محصولات کاری مانند مدل‌ها، مستندات، فرم‌ها و لیست‌ها می‌شود.

ارسطو خلیلی‌فر

مولف کتاب مهندسی نرم افزار راهیان ارشد

0 پاسخ ها

دیدگاه خود را ثبت کنید

آیا می خواهید به بحث بپیوندید؟
در صورت تمایل از راهنمایی رایگان ما استفاده کنید!!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *