تولید نرم‌افزار و چالش‌های‌ آن

نویسنده : حمید مشرف (h_moshref@yahoo.com)
ناشر : همکاران سیستم
تاریخ انتشار : 16/07/1384
برخی بر این باوراند که تولید نرم‌افزار نوعی هنر است و همه با این نکته موافق هستند که "تولید نرم‌افزار کاری خلاق است" با این همه در کشور ما ساخت نرم‌افزار حتا در زمره‌ی کارهای تولیدی نیز به شمار نمی‌رود. مهم‌ترین ویژگی تولید نرم‌افزار که آن را از دیگر فعالیت‌های تولیدی یا خدماتی متمایز می‌کند، خلق و ایجاد دنیایی مجازی است که از طریق واسطه‌های مناسبی با دنیای واقعی مرتبط شده و بخشی از نیازهای ما را برطرف می‌سازد.

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

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

– تکمیل نکردن زیر ساخت‌های ضروری IT

– فراگیر نشدن فرهنگ استفاده از این فناوری در بخش وسیعی از حوزه‌ها

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

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

– ناتوانی‌های شرکت‌های تولید نرم‌افزار – دست اندر کاران تولید نرم‌افزار در کشور ما بیش‌تر شرکت‌های کوچک نرم‌افزاری با پشتوانه‌های مالی اندک هستند. شرکت‌هایی که هنوز بلوغ سازمانی کافی نیافته‌اند، قادر نیستند متناسب با متحول‌ترین عرصه‌ی تکنولوژیک رشد کنند.

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

مدیر پروژه و چالش‌های پیش رو

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

* کارفرمایان (مشتریان)

* اعضای تیم یا کارکنان بخش‌های نرم‌افزار

* مدیران شرکت‌های نرم‌افزاری

1- کارفرمایان و مشتریان

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

– بخش‌هایIT همچنان در اغلب سازمان‌ها و مراکز صنعتی، خدماتی و بازرگانی سازمان ضعیفی دارند و از دانش و فناوری روز، در عرصه‌ای که تکامل و تحول در آن، ساعت به ساعت رخ می‌نماید، به دور هستند.

– کاربران، مدیران و دی‌نفعان یک سیستم نرم‌افزاری دید روشنی از نرم‌افزار و قابلیت‌های آن ندارند.

– نرم‌افزار هنوز به عنوان کالایی ارزشمند شناخته نشده و کارفرمایان و مشتریان نرم‌افزار اگر چه حاضر هستند بهای بالایی را برای یک سخت‌افزار، برای مثال یک مانیتور، بپردازند، در صرف هزینه برای نرم‌افزار به شدت خوددار اند.

– در مزایای خرید، تولید و استفاده از نرم‌افزار تردید دارند.

– دید روشنی از نیازهای خود و قابلیت مکانیزاسیون آن‌ها ندارند.

– دید روشنی از حجم تلاش لازم برای تولید یک نرم‌افزار ندارند.

– به ویژه در موازنه طرف‌های قرارداد ساخت و تولید نرم‌افزار، خود را طرف قدرتمند محسوب می‌کنند. حاصل چنین موازنه‌ای قراردادهایی غیر واقع‌ بینانه و یک طرفه است.

– به فرهنگ و دانش لازم برای استفاده از خدمات مکانیزه و الزامات، محدودیت‌ها و توانایی‌های آن کم بها می‌دهند .

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

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

اجرا شده توسط: همیار وردپرس