نظارت

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

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

طرح نظارت

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

پیمانکار در طی مدت انجام کار موظف به رعایت استانداردهای تدوین شده در طرح نظارت می باشد.

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

اهداف نظارت

اهداف عمده‌ای که در فرآیند نظارت بر پروژه های نرم‌افزاری باید مد نظر قرار گیرند را می‌توان به صورت زیر دسته‌بندی کرد:

قابلیت ردیابی (Trace ability)

در هر مرحله باید کنترل شود که آیا ورودی های آن مرحله، فرآیند درستی را برای تبدیل به خروجی طی نموده اند؟ و آیا خروجی های هر مرحله با ورودی های آن مرحله مطابقت دارند؟

درستی (Correctness)

آیا محصولات پروژه که بر مبنای ساختار تفکیک کار و در طرح مدیریت پروژه تهیه می گردند، با روال‌ها، استانداردها و روش‌های مورد نظر یکسان است؟

اعتبار (Validity)

آیا محصولات و فرآورده های پروژه، نیازهای کاربران را برآورده می‌سازند؟

کفایت (Sufficiency)

آیا محصولات و فرآورده های پروژه در راستای هدف از تهیه آنها، موارد تعیین شده را پوشش می‌دهند؟

سازگاری (Consistency)

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

یکنواختی (Uniformity)

آیا محصولات و فرآورده های پروژه، از نظر ظاهری با یکدیگر همسان می‌باشند؟

امکان‌پذیری (Feasibility)

آیا محصولات، فرآورده ها و طرح های پروژه، با توجه به واقعیات حاکم بر پروژه و محیط آن امکان اجرا را دارد؟

نگهداشت پذیری (Maintainability)

آیا محصولات و فرآورده های پروژه، به نحوی دیده شده اند که بتوان آنها را در دوره های معقول، نگهداری نمود؟

فعالیت های نظارت بر پروژه

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

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

1. ممیزی

2. بازبینی

ممیزی

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

  • آیا رویه تولید با استانداردهای مورد نظر مطابقت دارد؟

  • آیا رویه های تولید به درستی انجام می پذیرند؟

  • آیا محیط تولید با شرایط مورد توافق در قرارداد مطابقت دارد؟

  • آیا در فرآیند تولید از نیروهایی با کیفیت قابل‌قبول استفاده می‌شود؟

  • آیا در فرآیند تولید، طرح های مدیریتی مورد توافق در نظر گرفته می شوند؟

بازبینی

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

  • قبل از تشکیل جلسه

  • تعیین موضوع، اعضا، زمان و مکان برگزاری جلسه

  • دعوت از اعضای جلسه به همراه ارسال موضوع و دستور کار جلسه

  • در حین تشکیل جلسه

  • توجیه همه اعضا نسبت به موضوع و دستور کار جلسه

  • مدیریت زمان جلسه به گونه‌ای که فرصت طرح همه موضوعات باشد

  • ثبت مذاکرات و مصوبات جلسه به صورت رسمی

  • بعد از تشکیل جلسه

  • تهیه گزارش رسمی تشکیل جلسه

  • ارسال نتایج جلسه به افراد و گروه‌های ذینفع

اعتبارسنجی

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

فعالیت های اعتبارسنجی عبارتند از:

  • بازنگری مشترک

  • آزمون پذیرش

بازنگری مشترک

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

آزمون پذیرش

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


سلسه مراتب نظارت

سازمان انجام فعالیت نظارت

برای انجام فعالیت نظارت بر پروژه های سازمان ——– ، سازمانی به جهت نظارت بر پروژه‌های مذکور مورد نیاز است که در ادامه به بیان این ساختار می پردازیم.


مسئولیت ها و وظایف ناظر

  • حصول اطمینان از اینکه پیمانکار در طول مدت انجام پروژه کلیه کنترل های لازم کمی و کیفی را در چارچوب تفاهم برای تهیه محصولی با کیفیت مطلوب انجام می دهد.

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

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

  • حصول اطمینان از اینکه کارفرما به موقع از خطرات پروژه و نقاط ضعف پیمانکار مطلع می شود.

  • بررسی و ارزیابی طرح های مدیریتی ارائه شده از سوی پیمانکار پروژه

  • بررسی و ارزیابی و اعلام نظر در خصوص فرآورده های میانی و نهایی پروژه

  • بررسی و ارزیابی اصلاحات ناشی از بازنگری فرآورده‌ها و طرح‌ها و در صورت لزوم برگزاری جلسات لازم برای رفع مشکلات مورد مشاهده

  • مشارکت در طراحی سناریوهای آزمون با عوامل کارفرما و نظارت بر اجرای آن

  • نظارت بر انجام آزمون پذیرش کارفرما

  • تهیه گزارش‌های مرحله‌ای برای مدیر پروژه کارفرما اعم از گزارش پیشرفت کار، گزارش‌های ممیزی و …

  • کمک به پیمانکار در تهیه قالب مستنداتی که باید به کارفرما تحویل گردند.

  • مشارکت در ارزیابی نهایی سیستم‌های ساخته شده توسط پیمانکار از نظر میزان تحقق اهداف کارفرما

  • انجام هماهنگی های لازم بین کارفرما و پیمانکار

  • نظارت بر آموزش و بکارگیری موثر پرسنل پیمانکار پروژه

  • بررسی و اظهارنظر در مورد هر گونه پیشنهاد رسیده در مورد تغییر در قرارداد

  • ارائه گزارشهای مرحله‌ای به مدیر پروژه کارفرما درخصوص عملکرد و نارسایی های احتمالی حاصل از قصور وی در اجرای تعهداتش