صفحه اصلیچالش‌های توسعه نرم‌افزار

تولید، نقطه شروع فعالیت‌های اقتصادی و سنگ‌بنای یک اقتصاد پویا است.

ما در آوید از آغاز حرکت در حوزه مجازی‌سازی و رایانش‌ابری، مسیر تولید را انتخاب کردیم و به دلیل کم‌سابقه بودن این حرکت در ایران چالش‌های خاصی پیش‌رو داشتیم.

Software-production-challenges

تفسیر نادرست از تولید

ما با دو طیف تفسیر از تولید مواجه بوده و هستیم:

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

Software-production-challenges

این موضوع به دلیل تازگی جوانه تولید در کشور ماست. طرفداران هر دو نوع تفسیر چالش‌های خاصی را در مسیر تولیدکننده واقعی قرار می‌دهند:

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

o مایکروسافت سرویس ابری خود با نام Azure را بر مبنای لینوکس توسعه داده است.
o گوگل سیستم‌عامل معروف خود به نام Android را بر مبنای لینوکس توسعه داده است.
o شرکت VMWare از لینوکس به عنوان سیستم‌عامل پایه خود استفاده می‌کند.

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

یک فعالیت تولیدی نه می‌تواند صرفا یک ترجمه رابط کاربری و نه انجام صفر تا صد یک کار باشد! از نظر ما یک تعریف نسبتا جامع از تولید در حوزه نرم‌افزار را می‌توان این‌طور بیان کرد:

تجمیع و استفاده از اجزای گوناگون (کتابخانه‌ها، ابزارها، استانداردها و …) به منظور دستیابی به محصولی با ارزش‌افزوده و کارکرد مشخص.

Software-production-challenges

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

یک مثال

به جهت نزدیکی ذهن این مثال را در نظر بگیرید:
در کشور ما توسعه نرم‌افزارهای اتوماسیون اداری بسیار مرسوم است، این نرم‌افزارها نمونه بسیار خوبی برای بیان یک فرآیند تولید نرم‌افزار می‌باشند.
در این‌گونه نرم‌افزارها از اجزای گوناگونی استفاده می‌شود که به هیچ‌‌ عنوان توسط تولیدکننده توسعه نیافته‌اند:

• پایگاه داده (که معمولا از MySQL, Oracle و .. استفاده می‌شود)
• سیستم‌عامل پایه (که ویندوز یا لینوکس است)
• محیط توسعه و کامپایلر (که تماما از محصولات آماده استفاده می‌شود)
ارزش‌افزوده یک نرم‌افزار اتوماسیون (از منظر تولید)، توسعه یک Framework است که به خوبی اجزای گوناگون را در مسیر رسیدن به ارزش‌افزوده مورد نظر، مدیریت و به‌کار می‌گیرد.

اختراع دوباره چرخ

به یاد داریم که در روزهای ابتدایی ارائه PVM، با واژه «اختراع دوباره چرخ» مواجه شدیم. اشخاصی با نگاهی دلسوزانه و هدایت‌گرانه این سوال را می‌پرسیدند: «چرا چرخ را دوباره اختراع کرده‌اید؟»، به عبارتی با توجه به وجود محصولات خارجی چرا شما محصول وطنی تولید کرده‌اید؟!

سوالی به‌ظاهر موجه و البته تاثیرگذار!

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

• می‌توان چرخ را بارها و بارها ساخت و برای آن بازاریابی کرد.
• اگر ساخت مجدد چرخ کار اشتباهی بود، هرگز BMW متولد نمی‌شد چرا که قبلا بنز وجود داشت.
• اگر ساخت مجدد چرخ (نه اختراع آن) کار اشتباهی بود، هرگز برند «شیرینی سنتی» در یزد پا نمی‌گرفت چراکه قبل از آن «حاجی خلیفه» وجود داشت.

Software-production-challenges

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

نیروی انسانی

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

Software-production-challenges

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

ایران‌خودرو / سایپا

هر فعالی در عرصه تولید در ایران معمولا با این قیاس مواجه می‌شود:

«تولید ایران‌خودرو و سایپا را دیده‌ایم !!!»

Software-production-challenges

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

مدیریت غیر نرم‌افزاری

Software-production-challenges

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

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

آوید و تولید

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

به اشتراک بگذارید.

بیشتر بخوانیم

مقالات مرتبط

1401-8-25 05:43:43 +00:00
Go to Top