• پيش از آنكه به چگونگي اجراي پروژه تدوين طرح جامع نظام مهندسي نرمافزار بپردازيم، لطفا توضيحي در مورد سوابق اين طرح بيان كنيد:
پيشينه بحث نظام مهندسي نرمافزار به حدود 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 سال به انجام رساند.