در کامنتهاي پستي که چند وقت پيش به صورت مهمان از من در وبلاگ دوست خوبم امير مهراني منتشر شد، گفتگوهاي بسيار جالبي در مورد وضعيت صنعت آيتي در ايران در گرفت. من آنجا به چند نکته در مورد صنعت نرمافزار ايران اشاره کردم که بعد از ديدن اين خبر عجيب به نظرم رسيد شايد بد نباشد در قالب يک پست مستقل درباره آنها بنويسم. خبر کوتاه و جالب است: قرار است استفاده از نرمافزارهاي توليد خارج در دستگاههاي دولتي ممنوع شود!
شايد بديهيترين و خندهدارترين اشکال اين تصميم طبق معمول “کارشناسي!” اين باشد که در صورت اجراي آن، احتمالا از اين به بعد بايد استفاده از هر گونه نرمافزار توليد بلاد کفر از ويندوز و آفيس مايکروسافت گرفته تا نرمافزارهاي تخصصي مثل اتوکد ممنوع شود! (خوب يک دفعه قانون کپيرايت را هم قبول کنيد ديگه! شما که نميخواهيد از نرمافزارهاي “آنها” استفاده کنيد!)
اما بياييد فرض را بر اين بگذاريم که منظور استاد، نرمافزارهاي سازماني و شرکتي بوده است. خوب بازار نرمافزار ما در اين حوزه چگونه است و چه ظرفيتها و توانمنديهايي داريم؟ ابتدا به چند نمونه زير توجه کنيد:
الف ـ ۴-۵ سالی است که طرحهای جامع فناوری اطلاعات و معماری سازمانی در ایران مد شده. اما بهعنوان کسی که ۴ سال است دارم در این حوزه فعالیت میکنم به جرأت میگویم هیچ وقت خروجیهای این پروژهها به درد کارفرما نخورده است! چرا؟ به دو دلیل: ۱- مشاورین ما از وضعیت واقعی و توان موجود در بازار فناوری اطلاعات خبر نداشتهاند و راهحلهایشان فاصله زیاد با تکنولوژی موجود در دسترس داشته است.۲- فعالان بخش نرمافزار ایران به تولید نرمافزار براساس نیازهای مشتری اهمیتی نمیدهند!
ب ـ ۴ سال است که قرار است نرمافزار جامع سازمان مالیاتی از شرکت بول فرانسه خریداری شود. اتحادیه تولیدکنندگان نرمافزار با دستور مستقیم رئیسجمهور جلوی این کار را گرفتند. اما اگر از شرایط عجیب و غریب مناقصهای که توسط سازمان مالیاتی برگزار شد بگذریم، حقیقتا اگر اين حضرات ميتوانستند اين کار را انجام دهند، تا الان ازشان خبري ميشد. لازم نبود که نرمافزاري در حد بول توليد کنند؛ اگر ميتوانستند لااقل بايد يک پروتوتايپ از نرمافزار جامع مالياتي کشور درست ميکردند! (فکر ميکنم هفته پيش بود که خبر نهايي شدن قرارداد سازمان مالياتي با شرکت بول منتشر شد.)
ج ـ همین اواخر شرکت ما در طرح پیادهسازی سیستمهای BPMS در سازمانی ناظر بود. پیمانکار محترم که یک شرکت معروف نرمافزاری است بدون شناخت از فرایندهای موجود سازمان، میخواست سیستماش را بدون هیچ تغییری در سازمان پیاده کند و انتظار هم داشتند سازمان قبول کند که کارشان درست است! حالا اينکه BPMS اصلا ابزاري است که به جاي سيستمهاي غيرمنعطفي مثل ERP آمده و قرار است سازمان با استفاده از آن بتواند هر فرايند دانش ـ محور را به صورت الکترونيکي مدلسازي و اجرا کند هم لابد مهم نيست!
د ـ شرکتي را ديدم که مدعي ارايه سيستم مديريت دانش به سازمان بود؛ اما اصلا نميدانست که سيستمهاي نرمافزاري مديريت دانش هدفشان و کاربردشان چيست و سيستم مديريت دانششان هر چيزي بود الا مديريت دانش! (در واقع يک سيستم ساده گردش مستندات را داشتند به کارفرماهاي بدبختشان قالب ميکردند!)
از اين مثالها تا بخواهيد در بازار نرمافزار ايران پيدا مي شود. در عمل ما دهها شرکت نرمافزاری داریم که تمام تمرکزشان بر تولید نرمافزارهای اداری، دفتری و حسابداری است. دهها شرکت دیگر داریم که دارند مثلا پورتال و نرمافزارهای سازمانی تولید میکنند و میفروشند. اما از همين بين هم اگر بررسی دقيقي کنید، ميبينيد چیزی بین ۶۰ تا ۷۰ درصدشان نرمافزارهای اوپن سورسی هستند که صرفا فارسیسازی شدهاند (و متأسفانه اغلبشان هم اينقدر صداقت ندارند که به اين موضوع اعتراف کنند و مدعي توليد يک نرمافزار از ابتدا هستند.)
فاجعه اينجا است که شرکتهای ایرانی تمرکزشان را بر روی تولید پکیجهای نرمافزاری گذاشتهاند و میخواهند هر قفلی را با یک کلید ـ نرمافزارشان ـ باز کنند. سفارشیسازی با متناسب با نیازهای سازمان و اینها را باور نکنید! تا جایی که من دیدهام بسیاری از این شرکتها علیرغم داشتن عناوین پرطمطراق تحلیلگر سیستم و … از تهیه یک مستند ساده براساس اصول مهندسی نرمافزار عاجزند (کافي است به سازمانهاي متعددي دولتي و حتي غيردولتي که با هزينههاي کلان، نرمافزاري را به صورت سفارشي يا پکيج خريداري کردهاند مراجعه کنيد تا اين موضوع را در عمل مشاهده کنيد. در بسياري از موارد شرکت فروشنده که ممکن است شرکتي معروف يا ناشناخته باشد حتي يک راهنماي کاربري ساده هم براي سيستماش در اختيار کارفرماي بنده خدا نگذاشته است؛ چه برسد به مستندات تحليل و طراحي سيستم که بهويژه در مورد نرمافزارهاي سفارشي بايد حتما به کارفرما تحويل داده شوند.) اينجا هم درست همان آفت تضمين کيفيت و ايزو خودنمايي ميکند: وجود تحليلگر و استفاده از متدولوژيها براي اين است که اگر کسي مدعي شد، يک کتابچه قطور مستندات تحليل و طراحي را به او نشان بدهيم! يعني صرف وجود مستندات کفايت ميکند و کاربرد عملي آنها مهم نيست!
حالا بگذریم از اینکه هیچ شرکتی در ایران به تولید نرمافزاری غیر از نرمافزارهای حسابداری و دفتری و انواع و اقسام پکیجهای به درد نخور اصلا فکر نمیکند!
برگرديم به سراغ خبر. متن خبر به شکلي است که به نظر ميرسد ممنوعيت شامل هر گونه نرمافزاري که کدنويسياش در خارج از کشور انجام شده ميشود. بنابراين نرمافزارهاي اوپنسورس فارسي شده هم از اين به بعد ممنوع هستند! اگر از اينکه من نميدانم MIS توليد شده در خارج از کشور يعني چه و اينکه اساسا وزارت صنايع و معادن چرا در حوزه نرمافزار دخالت ميکند هم بگذريم؛ چند نکته به نظر من بايد در اين ماجرا مورد توجه قرار گيرد:
1. بدنه کارشناسي صنعت نرمافزار آدمهاي ضعيفي نيستند و ما کدنويسهاي بسيار خوبي داريم. اما اشکال کار در اين است که اولا: فرايند مهندسي نرمافزار در کشور ما خيلي جدي گرفته نميشود و ثانيا: همه فعالان اين صنعت، در حال کپي پيست کردن ايدههاي نخنما و تکراري ديگران هستند (آخر ما چند نرمافزار حسابداري و اتوماسيون ميخواهيم؟ چرا کسي روي نوشتن يک واژهپرداز فارسي خوب مثل زرنگار سرمايهگذاري نميکند؟)
2. اصولا ارتباط خوبي ميان مشاوران مديريت آيتي و شرکتهاي کدنويس ما وجود ندارد. در واقع اينجا باز ميخواهم بر نکتهاي که در مورد کيس اينفوسيس براي من جالب بود تأکيد کنم: اينفوسيس نياز کارفرما را از شناخت و تحليل مسئله تا ارايه Solution نرمافزاري پوشش ميدهد. ما چنين شرکتي در ايران نداريم. اين مشکل را در مثال طرحهاي جامع فناوري اطلاعات که بالا زدم ميبينيم: RFPهاي ما مشاوران آيتي، براي يک شرکت کدنويس اجرايي نيست و از سوي ديگر، خود شرکتهاي کدنويس هم تمايلي به نوشتن نرمافزار براساس سفارش مشتري ندارند. حالا ممکن است گفته شود که شرکتهاي بزرگ غربي ـ مثل SAP و اوراکل ـ هم همينجوري هستند؛ اما انصافا آيا راهحلهاي ارايه شده توسط شرکتهاي نرمافزاري ايراني بلوغ محصولات اين شرکتهاي معظم را دارند؟ فرق است بين راهحلي که در هزاران شرکت سراسر دنيا طراحي و آزمايش شده و بهبود يافته و براي دهها شکل مختلف کسب و کار، فرايندها و گردش اطلاعاتي استاندارد را شناسايي و در راه حل خود منظور کرده است با راهحلهايي که اغلب براساس مطالعه چند کتاب مثلا حسابداري يا منابع انساني يا حداکثر مطالعه چند شرکت محدود يا بهرهگيري از نظرات چند مشاور تهيه شدهاند. اصلا حتي اگر انعطافپذيري اولي را هم در نظر نگيريم، شرکتهاي داخلي اصرار دارند که راهحلهاي خود را به زور به خورد کارفرماي بدبخت بدهند و انتظار دارند کارفرما خودش را با محصول آنها وفق بدهد و نه برعکس! (اين مشکل سر دراز دارد: چند وقت پيش اعلام شد که قرار است براي BPMS توسط دولت! استاندارد تهيه شود. حالا براساس کدام تجربه و دانش ميخواهند اين کار را انجام بدهند، خودشان ميدانند!)
3. و چند علامت سؤال بزرگ در اين زمينه: چرا تفکر “اختراع دوباره چرخ” اينقدر در ذهن مسئولين دولتي ما وجود دارد؟ چرا بايد بودجه و زمان محدودمان را صرف ساختن دوباره نرمافزارهايي کنيم که بقيه ساختهاند؟ (راستي سيستم عامل ملي به کجا رسيد؟) بحث مزيت نسبي کشور چطور؟ ما در توليد چه نرمافزارهايي توانمند هستيم و سراغ کدام حوزهها نبايد برويم؟ آيا کساني که اين تصميم را گرفتهاند، قابليت پنهان و عجيب و غريبي در صنعت نرمافزار ايران کشف کردهاند که ما خبر نداريم؟ و چندين سؤال بيجواب ديگر!
از آنجايي که زور ما به دولت نميرسد و بنده هم اساس کدنويس نيستم، فکر ميکنم فعلا بهتر است به همان ايده اينفوسيس بچسبم و براي کاهش شکاف بين کار مشاوران آيتي و مهندسان آيتي تلاش کنم. اگر توهم نزده باشم، اين يکي از دستم بر ميآيد!
2 پاسخ به “توانمنديهاي پنهان (؟) صنعت نرمافزار ايران”
زرگر جان از توضيحات شما متشکرم. من اصلا قصد توهين به بچههاي نرمافزار يا اظهارنظر غيرکارشناسي نداشتم. کاملا از ديد بيزينسي مسئله را تحليل کردم؛ در حالي که جواب شما فنيه. هيچ جاي نوشته من راجع به کيفيت آدمها يا کيفيت نرمافزارها چيزي نميتوني پيدا کني. من حرفم روشن هست:
1.صنعت نرمافزار ايران در حوزه نرمافزارهاي سازماني (که خودت استادي ميدوني منظورم چي) راه اشتباهي را داره ميره. اگر من گفتم چرا شونصد تا نرمافزار حسابداري داريم؛ منظورم اين نبود که چرا همه دارند نرمافزار حسابداري توليد ميکنند. منظورم اين بود که حالا که همه دارند اين کار را ميکنند محض رضاي خدا لااقل بيان يک خلاقيتي توي اين نرمافزارها به خرج بدهند. برو چهار تا مجله مديريتي را ورق بزن؛ آگهي نرمافزارهاي مختلف حسابداري، انبارداري يا مالي را ببين. خداوکيلي اگر فرقي بين اينها از ديد يک مدير پيدا کردي حرفت را قبول ميکنم.
2. آمار 60 تا 70 درصدي باز هم در مورد نرمافزارهاي سازمانيه. برو يک ERP پيدا کن که طرف خودش نوشته باشه. اگر مستقيما هم کپي پيست نکرده باشه، مطمئن باش يک جاهايياش کپي پيسته. بالاخره درسته رشته بنده کامپيوتر نيست؛ ولي اين چيزها فهميدناش اصلا مشکل نيست.
3. جايي که من از پروتوتايپ اسم بردم کمي مسامحه در حرفم وجود داشته. قبول دارم. ولي بهتره وقتي از ماجراي نرمافزار جامع مالياتي خبر نداري ديگران را به بياطلاعي متهم نکني. اين حضرات قرار شده بوده که به جاي شرکت بول نرمافزار را به صورت کنسرسيوم توليد کنند؛ ولي حتي از ساختن يک نمونه خيلي خيلي کوچکاش هم عاجز بودند.
4. اشکال همه ما اينه که مسئلهها را از زاويه ديد حوزه تخصصي خودمان تحليل ميکنيم. بنده هيچ ادعايي در زمينه مهندسي نرمافزار و يا مشاور آيتي بودن ندارم. ادعاي صاحبنظري هم ندارم. فقط نظرم را گفتم. شما دوستان نرمافزاري هم بايد قبول کنيد که ضعفهاي زيادي داريد و دولت و مشتري و در و تخته بخشي از مشکل هستند.
5. باز هم تشکر از نظر شما و تأکيد مجدد بر نظر خودم (اين يک بار را اجازه بده “سلطون” بازي دربيارم!!!)
سلام شهاب، به نظر من برخي از برداشتهاي كه داري اشتباهه و اين بخاطر اينه كه توي تيمهاي نرمافزاري نبودي و اساسا نميدوني اونجا چه خبره و البته توي تيمهاي اي تي هم نبودي و در واقع حاسب سيستم تابحال تيم آي تي قوي نداشته كه ببيني افراد آي تي قوي چه جوري فكر ميكتند.
تا جايي كه حال دارم برخي نكات رو بيان ميكنم
در مورد الف) با اين موافقم كه خروجيهاي معماري سازماني بهدرد نخورده اما علتش اين نيست كه گفتي بلكه علت واقعي اش اينه كه افرادي كه مجريان اين طرحها اصولا كار رو بلد نبودند و نميدونستند بايد چه چيزي بدند، راه دور نريم به شركت حاسب نگاه كن چند تا متخصص آي تي ميبيني؟ چند تا متخصص نرمافزار ميبيني؟ شناخت نيازهاي بازار كاري سختي نيست و اغلب ميدونيم مشتري دنبال چيه، ما از راهحلهاي روز هم استفاده ميكنيم، اما مشكل كليدي اينه كه وقتي ما متخصص نيستيم نميتونيم كتي متناسب با سازمان بدوزيم. در اغلب پروژه ها از روش كپي و پيست استفاده شده و نه توليد و توسعه گزارش. در مورد فعالان بخش نرمافزار من ميگم اتفاقا دقيقا برعكس ما به نيازهاي مشتري بسيار هم اهميت ميديم و توي محصولاتمون در نظر ميگيريم اما واقعا براي شركتهاي نرمافزاري صرف نميكنه كه سفارشي سازي بالايي داشته باشند و گرنه اگه مشتري پول به اندازه كافي براي توسعه نرمافزار از ابتدا بده، براش سفارشي ميسازيم مثل ماشين عروس 🙂
ب) اين موضوع كه مطرح كردي كاملا نشون ميده كه از دنياي توسعه نرمافزار كمتر خبر داري و بيشتر داري از بيرون اونو نگاه ميكني، توسعه پروتوتايپ شايد بيش از 50 درصد توسعه يك نرمافزار كار ميبره. يعني بايد فازهاي شناخت و طراحي انجام بشه تا شما بتونيد به پروتوتايپ برسي و نميشه نرمافزار يك هفتهاي و يا يك ماهه يك پروتوتايپ برسي. هر چند منكر اين نيستم كه اين افراد اين كاره نيستند
ج) جمله آخر برام مفهوم نيست
اين آمار 60 تا 70 درصد نرمافزار اوپن سورس هستند كه فارسي شدهاند از كجا اومده؟ شايد بشه در مورد پورتالها اين طور حرف زد، اما نميشه در مورد همه نرمافزارها صحبت كرد، اين به نظر من يك توهينه به بچههايي نرمافزاري و اونهايي كه واقعا نرمافزار توليد ميكنند و كد مينويسند و از تو بعيد به نظر ميرسه چنين حرفي بزني. ممكنه طرف از كامپوننتهاي آماده استفاده كنه، اما واقعا نرمافزار مينويسه، شايد تو با اونها برخورد نكردي، با افرادي كه 15 ساعت يا بيشتر فقط توي يك محيط برنامهنويسي هستند و برنامه مينويسند. بسياري از نرمافزارها طراحي و پيادهسازي ميشند، ميشه شركتهاي بزرگ نرمافزاري رو مثال زد كه كم هم نيستند و واقعا دارند كد مينويسند و نرمافزار توليد ميكنند، نرمافزار رو پشتيباني ميكنند، بروز رساني ميكنند
اين كه شما راجع به يك فاجعه در مورد پكيجسازي صحبت ميكني بخاطر اينكه اصول مهندسي نرمافزار رو نميدوني، در واقع component-based development بهعنوان يكي از روشهاي توسعه نرمافزار مطرحه كه بعد از شيگرايي پا به عرصه متدولوژيهاي توسعه نرمافزار گذاشته و توسعهدهندگان رو ترغيب به توسعه پكيجهاي با استفاده مجدد بالا ميكنه، اگه سازمان پول سفارشيسازي رو بده، مطمئن باش براش سفارشيسازي ميشه، اما اغلب سازمانها اين كار رو نميكنند و ميخوان نرمافزاري كه ميخرن همه كار رو براشون انجام بده
كار تحليلگر سيستم توليد محتويات و مستندات نيست، چيزي كه تحليلگر توليد ميكنه بهدرد مشتري نميخوره و فقط بدرد تيم داخلي ميخوره، علت اينكه مستندات توليد نميشه نه بخاطر ضعف تيم هاست و اينكه ما ايزو نميدونيم يا تضمين كيفيت نداريم، كه البته ايزو هم بدرد ما نميخوره چون تيمها طبق متدولوژي مستند توليد ميكنند، بلكه بيشتر به خاطر اينه كه به شركتهاي نرمافزاري ثابت شده كه در دنياي نرمافزار ايران بايد مشتري وابسته بهت باشه و اگه وابسته نباشه پول نگهداشت رو بهت نميده، براي همين هيچ مستندي توليد نميشه و بهش داده نميشه تا مشتري همش زنگ بزنه و بپرسه
چه كسي گفته شركتهاي ايراني فقط به نرمافزارهاي حسابداري و پكيجهاي بهدرد نخور فكر ميكنند؟ چه آماري به شما نشون داده كه نرمافزارها بدرد نخور هستند؟ چقدر شما از فعاليت شركتهاي نرمافزاري مطلع هستيد؟ تعداد زيادي شركت نرمافزار وجود دارند كه در حوزه تخصصي فعاليت ميكنند و شما اسمي از اونها نشنيديد كه حتي برخي از اونها با نمونه هاي خارجي رقابت ميكنند و حرف براي گفتن دارند
در مورد 1) من خيلي دوست دارم بدونم كسي كه ميگه فرايند مهندسي نرمافزار در كشور ما خيلي جدي گرفته نمي شه، توي چندتا پروژه نرمافزار بوده و اساسا منظورش از فرايند مهندسي نرمافزار چيه؟ آيا منظور متدولوژي توسعه نرمافزاره يا چيز ديگهاي مد نظره؟ كپي و پيست ايده يعني چه؟ هر كسي يك جوري نرمافزار مينويسه و بودن هزاران نوع نرمافزار حسابداري به معني يكي بودن همه اونها نيست همانطور كه وقتي در حوزه ارزيابي معماري سازماني پاياننامه تعريف ميشه، لزوما همه مشابهت ندارند. اين نشون ميده كه ذائقه مشتريان به اين سمت و بازار مقصد وجود داره و همين درخواست مشتريانه كه سبب ميشه ما به سمت توليد نرمافزار شبيه ساز پرواز نريم.
در مورد 2) بله قبول دارم، مطمئنا كه وقتي يك سري مهندس غير فناوري اطلاعات يا نرمافزار كنار هم ميشينند و ادعاي خدا بودن توي حوزه فناوري اطلاعات بكنند RFP هاي بهتري نخواهيم داشت. شما RFP هاي اجرايي بده، ببين افراد مينويسند يا نمينويسند، تابحال چند تا RFP اجرايي داده شده كه ملت نتونستند براش نرمافزار بنويسند؟ مسلما اغلب شركتهاي نرمافزاري بلوغ شركتهاي خارجي بزرگ رو ندارند و نميشه يك شبه و يك ساله و بدون برنامهريزي كلان و مناسب اين موضوع رو حل كرد
به نظر من از همين جاست كه كشور ما بي قانون شده و هر كسي جاي كس ديگهايه. مشاور اي تي بايد خصوصيات، پشتوانهها و دانش خاص خودش رو داشته باشه و در واقع چه لزومي داره كه ما خودمون رو چيزي بناميم كه نيستيم. اينكه شما در يك شركت مشاوره كه در حوزه اي تي هم كار ميكنه هستي، دليل نميشه شما مشاور اي تي باشي 🙂
درسته شركتهاي نرمافزار ما اونقدر توانمند نيستند اما اين علت رو نبايد درون شركتها جستجو كنيد و اون ها رو ناتوان بناميد. همانطور كه بسياري از شركتها در حوزههاي مختلف فناوري كشور هم داراي مشكل هستند و البته اغلب مشكلات از درون شركتها نيست و به بحث دولت و كلان مربوط ميشه
به نظر من اين پست حاوي نظرات غيردقيق و بدون پشتوانه است و به دور از شان كسيه كه ميخواد بعدا ادعاي صاحب نظري بكنه 🙂