آشنایی با جزییات نماتن
نشریه برنامه - پروژه تدوین طرح جامع نظام مهندسی نرمافزار (نماتن) یکی از طرحهای پایهای برای ساماندهی وضعیت نرمافزار کشور بوده از سوی دبیرخانه شورای عالی انفورماتیک در حال اجراست. برای آشنایی بیشتر با این پروژه و دستاوردهای آن، مصاحبهای با مهندس رضا کرمی مدیرعامل شرکت مهندسی نرمافزاری گلستان و مجری این پروژه انجام شده است که در پی میآید:
• پیش از آنکه به چگونگی اجرای پروژه تدوین طرح جامع نظام مهندسی نرمافزار بپردازیم، لطفا توضیحی در مورد سوابق این طرح بیان کنید:
پیشینه بحث نظام مهندسی نرمافزار به حدود 20 سال قبل (تقریبا از اوایل تشکیل شورای عالی انفورماتیک ) بر میگردد. در آن زمان با توجه به پروژههای جدیدی که در زمینه نرمافزار در دستگاههای دولتی تعریف میشد و قراردادهایی که این دستگاهها ناگزیر بودند با شرکتهای انفورماتیکی منعقد کنند، بحث تعیین قراردادهایی تیپ نرمافزاری با الگوبرداری از قراردادهای پیمانکاری و مشاورهای در سایر حوزههای مهندسی که از قبل وجود داشت، مطرح شد. تا آنجایی که من اطلاع دارم و سوابق هفت مورد از فعالیتهایی را که قبلا در این زمینه انجام شده است، ارائه کردهایم.
• این اقدامات با چه هدفی انجام شدهاند؟
همانطور که گفتم یکی از اهداف اصلی، تعریف پیماننامه تیپ برای قراردادهای نرمافزاری بوده است. اما اهداف دیگری هم دنبال شده است. ایده اصلی این بوده که مثل سایر رشتههای مهندسی (ساختمان، تا سیسات و... ) که دارای استانداردهای مشخصی در ارجاع و اجرای کار بودهاند، برای مهندس نرمافزار استانداردهایی تهیه شود. با این هدف کلی، مواردی از قبیل تعریف، طبقهبندی و ضوابط رتبهبندی پیمانکاران و مشاوران، ضوابط ارجای کار، طبقهبندی کارهای نرمافزاری، روشهای تحویلگیری نتایج پروژهها و ضوابط دوره تضمین، مسایل حقوقی خاص، موارد مربوط به حق تالیف (مالکیت معنوی) و سایر موارد مشابه همیشه در دستور کار بوده است.
• با توجه به پیشینه طولانی این بحث، به نظر شما چرا هیچ یک از این اقدامات به نتیجه ملموسی منجر نشده است؟
عوامل مختلف را میتوان ذکر کرد. یک دسته عوامل بر میگردد به احساس نیاز دستگاههای اجرایی و نظارتی که باید اثر خودش را در میزان حمایت و پیگیری دولت در الزام به رعایت این ضوابط نشان میداد. به نظر من این احساس نیاز تا چند سال اخیر به حدی نبوده است که آن تعهد جدی به پیگیری نتایج را ایجاب کند. عامل دوم نبود یک طرح جامع برای پیگیری کار بوده است، به این معنی که هر یک از پروژهها و اقدامات از زاویه خاصی که ناشی از یک احساس نیاز مقطعی بوده، طرح میشده و به همین دلیل نتایج آنها قابل جمع نبوده است. به اصطلاح نتایج این اقدامات پراکنده، موجب همافزایی نشده، هر چند تکتک اینها اقدامات و زحمات بسیار ارزشمندی هم بوده است.
• بحث نماتن از کی مطرح شد؟
پس از آغاز طرح تکفا و افزایش یکباره حجم پروژههای نرمافزاری در دستگاههای دولتی که احساس نیاز به تدوین استانداردهای حاکم بر پروژههای نرمافزاری را تشدید کرد، کمیته نرمافزار انجمن شرکتهای انفورماتیک در اواسط سال 1381 پیشنویس پیشنهادی را برای اجرای پروژه نظام مهندسی و استانداردهای تولید و توسعه نرمافزار (نما تن) تهیه کرد که در آن کل این نظام باید در سه فاز متوالی تدوین شود: فاز اول - تعریف و ارجاع پروژه، فاز دوم - استاندارد تولید و توسعه نرمافزار و نحوه نظارت برآن و فاز سوم: تشریح طرح توصیف روششناسی همراه با مثال. در سال 1382 قرارداد اجرای فاز 1 پروژه نماتن بین دبیرخانه شورای عالی انفور ماتیک کشور و انجمن شرکتهای انفورماتیک ایران منعقد شد. نتایج این پروژه که استانداردهای لازم برای مرحله تعریف وارجاع کار در پروژههای نرمافزاری را شامل میشد، پس از بررسیها و اصلاحات لازم توسط کمیته نرمافزار انجمن و دبیرخانه شورای عالی انفورماتیک، در آذرماه 1383 منتشر شد. همچنین برای نخستین بار این استانداردها، به صورت پیوست بخشنامه رسمی رییس وقت سازمان مدیریت و برنامهریزی کشور، برای اجرا به تمام دستگاههای اجرایی کشور ابلاغ شد. پیوستهای این بخش نامه شامل 6 استاندارد زیر بود :
- مشاورههای پروژههای نرمافزاری
- تهیه درخواست برای ارائه پیشنهاد (RFP)
- نظارت بر پروژههای نرمافزاری
- پیشنهاد(Proposal )
- برگزاری مسابقه و ارزیابی پیشنهاد
- پیماننامه نرمافزاری
نتایج این پروژه (به ویژه استانداردهای RFP و proposal ) پس از ابلاغ به صورت جزیی توسط دستگاههای اجرایی مورد استفاده قرار گیرد.
• موضوع فاز 2 نماتن چه بوده است؟
به دنبال انتشار نتایج فاز 1 در سال 1383 دبیرخانه شورای عالی انفورماتیک کشور تدوین فاز 2 نماتن را به شرکت مهندسی نرمافزاری گلستان محول کرد. این پروژه که با نظارت کمیته نرمافزار انجمن شرکتهای انفورماتیک به انجام رسید، در آبان ماه سال 1383 منجر به تهیه و ارائه استانداردهای اجرای پروژههای نرمافزاری شد. گزارش نهایی پروژه شامل اجرای پروژههای نرمافزاری شد. گزارش نهایی پروژه شامل اجزای زیر بود:
- در آمدی بر استانداردهای تولید و توسعه نرمافزار
- استاندارد سند توصیف روش شناسی (MDD )
- استاندارد طرح مدیریت پروژه(PMP )
- استاندارد طرح تضمین کیفیت (GAP)
- استاندارد طرح مدیریت پیکربندی (CMP)
- استاندارد طرح تصدیق و صحهگزاری (VV)
- استاندارد طرح آزمون نرمافزار
- استاندارد طرح انتقال و تحویل نرمافزار
- استاندارد طرح ضمانت نرمافزار
- استاندارد طرح نظارت
- واژهنامه
نتایج فاز 2 نماتن هم اخیرا از سوی ریس سازمان مدیریت و برنامهریزی کشور برای اجرا به همه دستگاههای اجرایی ابلاغ و در قالب نشریهای از سوی دبیرخانه شورای عالی انفورتیک منتشر شده است.
• با توحه به اجرای این دو فاز، چه نیازی به تدوین طرح جامع نظام مهندسی نرمافزار وجود داشت؟
همانطور که عرض کردم، برای ساماندهی مهندسی نرمافزار در کشور، نیاز به ضوابط ومقررات متعددی است، که بخشی از این ضوابط در دو فاز 1 و 2 نماتن تدوین شد.
اما بخشهای مهمی مانند ضوابط شناسایی، تشخیص صلاحیت و رتبهبندی شرکتها، ضوابط ارزیابی نتایج پروژهها، ضوابط بهکارگیری نیروی انسانی، طبقهبندی کارهای نرمافزاری ضوابط مالکیت معنوی به ویژه در مورد بستههای نرمافزاری و موارد متعدد دیگر به صورت نظاممند و در ارتباط با بقیه اجزا هنوز تدوین نشده است. ضمن آنکه علاوه بر تدوین ضوابط دو فعالیت عمده به صورت مستمر باید صورت گیرد: اول اطلاعرسانی و ترویج استفاده از این ضوابط و دوم بازنگری و اصلاح مستمر آنها، به عنوان مثال هر چند بیش از دو سال از ابلاغ استانداردهای ارجاع کار (نماتن 1) میگذرد، هنوز آگاهی کافی از نحوه استفاده درست از این ضوابط در بین دستگاههای دولتی وجود ندارد و به همین د لیل کاربرد این استانداردها هنوز چندان که باید و شاید عمومی نشده است و در بعضی از موارد هم به درستی مورد استفاده قرار نمیگیرد. نکته مهمتری که وجود داشت این بود که به دلیل نبود یک طرح جامع، هیچ وقت اقدامات بعدی مشخص نبود و نمیشد. برای انجام این اقدامات برنامهریزی درستی کرد. بنابراین نیاز به یک طرح جامع احساس میشد که اجزای نظام مهندسی نرمافزار را تعین کند، ارتباط این اجزا را روشن کند و با تعین اولویتها، برنامه اجرایی تهیه اجزای نظام را مشخص میکند.
• پروژه تدوین طرح جامع نظام مهندسی نرمافزار چه زمانی شروع شد و چه اهدافی را دنبال میکند؟
با توجه به دلایلی که ذکر کردم، از همان مقطع پایانی فاز 2، تدوین طرح جامع نظام مهندسی نرمافزار در دستور کار دبیرخانه شورا قرار گرفت. ابتدا قرار بود این طرح همراه با چند فعالیت دیگر مثل بازنگری نتایج فاز یک و فعالیت اطلاعرسانی در قالب فاز یک 3 نماتن تعریف شود، اما به دلیل محدودیت بودجه، صرفا تدوین طرح جامع (که بخش اولویت دار کار هم بود) تقریبا از آبان ماه سال 1384 شروع شد. اهداف پروژه هم تعین دامنه، اجزا ساختار اجرایی و برنامه اجرایی تهیه و نگهداری نظام مهندسی نرمافزار بوده است.
• وضعیت فعلی پروژه چیست؟
اولین نسخه گزارش نهایی اواخر سال گذشته ارائه شد. از ابتدای سال هم این گزارش در کار گروهی که به همین منظور در کمیسیمن نرمافزار سازمان نظام صنفی رایانهای تشکیل شده، مورد بررسی کارشناسی و اصلاح قرار گرفته و تا کنون 14 جلسه این کارگروه تشکیل شده است، پیشبینی میشود گزارش طی یکی، دو جلسه دیگر نهایی و برای انتشار به دبیرخانه شورای عالی انفورماتیک کشور ارائه شود.
• برای تعریف محدوده و اجزای نظام مهندسی چه مسیری طی شده است؟
یکی از مشکلات اصلی برای تدوین طرح جامع نظام مهندسی نرمافزار دقیقا به ابهام در تعریف محدوده این نظام برمیگردد، به این معنی که هر یک از ذینفعان آن تصوری از نظام دارند که طور عمده ناظر به حفظ منافع خودشان است و جمع این دیدگاهها مختلف و رسیدن به یک تصویر مشترک در مورد هر نظام اجتماعی معمولا دشوار است. برای دقت در این محدودهها ما چند مسیر مطا لعاتی را دنبال کردیم. ابتدا سوابق تمام مطا لعاتی را که در دو دهه گذشته در کشور در ارتباط با این موضوع انجام گرفته بود، جمعآوری و مرور کردیم، سپس در دو محدوده نمونههای داخلی وخارجی، مطالعاتی با هدف الگوبرداری انجام گرفت. در محدوده نمونههای داخلی همه نظامهای مهندسی وحرفهای از قبیل نظام مهندسی سا ختمان، نظام پزشکی، نظام مهندسی معدن و......همچنین نظام فنی - اجرایی کشور را بررسی کردیم و نکات مهم این نظامها را درآوردیم. در مورد نمونههای خارجی بعضی از ا نجمنهای حرفهای مهم، همچنین نظامهای کارفرمایی عمده در سطح جهان را مطالعه کردیم که نتایج این مطالعات در گزارش آمده است. بخش مهمی از کار هم تحلیل ذینفعان نظام و نیازهای این ذینفعان بود که برای این کار از نتایج مطالعات قبلی و منابع دیگر استفاده کردیم. مجموع این مطالعات ما را به جمعبندی در مورد تعریف این محدوده و (اجزای معماری) نظام مهندسی نرمافزار رسا ند.
• در مورد تعریفی که از نظام مهندسی نرم افزا ر دارید، توضیح دهید.
آنچه از مطا لعات الگوبرداری داخلی و خارجی نتیجه میشود، این است که برای نظامهای مهندسی اساسا سه وجه یا جنبه میتواند مطرح باشد: وجه صنفی که ناظر به تامین حقوق فردی وجمعی شاغلان صنعت نرمافزار است و مهمترین کارکرد آن دفاع مستقیم از این حقوق صنفی است. وجه حرفهای که ناظر به تقویت و توسعه ظرفیتهای علمی و فنی شاغلان است و موضوعاتی از قبیل منشور اخلاقی، اشاعه و اشتراک دانش مهندسی ومقررات ناظر بر رفتار حرفهای را شامل می شود. وجه ارتباط که در این زمینه مدنظر است نظمبخشی روابطی است که در جریان مبادله اقتصادی محصولات وخدمات نرمافزار، میان تامینکنندگان و مصرفکنندگان در جریان مبادله ا قتصادی بوده و طبیعی است که برای پوشش این وجه، تامین عناصر معینی از وجوه بالا نیز ضروری خواهد بود. با نگاهی به نهادها، نظامها و تشکلهای موجود در کشور متوجه میشویم که هم اکنون وجه صنفی نظام مهندسی نرما فزار به طور عمده توسط سازمان نظام صنفی رایانهای کشور پوشش داده میشود که البته دامنه شمول آن وسیعتر از نرمافزار بوده و سایر رشتههای فناوری اطلاعات و ارتباطات را نیز شامل میشود. بنابراین آنچه در تعریف نظام مهندسی نرمافزار باید بر آن تا کید کرد، وجوه حرفهای و ارتباطی آن است. با این نگاه نظام مهندسی نرمافزار به شکل زیر تعریف شده است: نظام مهندسی نرمافزار، مجموعهای است از استانداردها، قوانین، مقررات، دستورالعملها، راهنماها و نهادی اجرایی و نظارتی که برای نظمبخشی به صنعت نرمافزار کشور از منظر مبادله و خدمات نرمافزاری در جامعه، با هدف حفظ منافع مشروع همه ذینفعان این صنعت، ایجاد فضای مشارکت و رقابت و توسعه همه جانبه و پایدار صنعت نرمافزار کشور تدوین واجرا میشوند.
نکته مهمی که در این تعریف باید به آن توجه کرد این است که نظام به صنعت نرمافزار به طور عمده از منظر مبادله محصولات و خدمات نرمافزاری نگاه میکند و سایر اجزایی که برای توسعه سایر نظامها و سازوکارهای مناسب تامین میشود.
• با این تعریف نظام مهندسی نرمافزار از چه اجزایی تشکیل میشود؟
در معماری که برای نظام طراحی شده است، 9 مولفه اصلی برای آن در نظر گرفته شده که هر کدام از این مولفهها به اجزای ریزتری هم تقسیم میشود. مولفههای اصلی نظام عبارتند از: تدوین معیارها، شناسایی، ارجاع کار، کنترل ظرفیت، ارزیابی، داوری، اطلاعرسانی، اخلاق حرفهای و مدیریت نظام. برای هر کدام از این مولفهها هم کارکردهای مشخصی تعین شده است.
• این اجزا چطور باید تدوین شود؟
با توجه به گستردگی و تنوع اجزای نظام مهندسی نرمافزار، نباید انتظار داشت که همه این اجزا به یکباره و خیلی سریع فراهم شوند. تا کنون در فازهای 1و2 به طور عمده ضوابط ارجاع و انجام کار تدوین شده است که البته آن هم نیاز به تکمیل دارد. ما در برنامه اجرایی نظام در مجمع 7 فاز اجرایی برای نظام پیشنهاد کردهایم که اگر مشکل اجرایی خاصی پیش نیاید، همه این فازها را میتوان ظرف 5/2 تا 3 سال به انجام رساند.
- ۸۵/۰۶/۲۹