جمعه, ۱۴ اردیبهشت, ۱۴۰۳ / 3 May, 2024
مجله ویستا

خلاقیت در دنیای مجازی


خلاقیت در دنیای مجازی
برخی بر این باورند که تولید نرم افزار نوعی هنر است و همه با این نکته موافق هستند که «تولید نرم افزار کاری خلاق است». با این همه در کشور ما ساخت نرم افزار حتی در زمره کارهای تولیدی نیز به شمار نمی رود. مهم ترین ویژگی تولید نرم افزار که آن را از دیگر فعالیت های تولیدی یا خدماتی متمایز می کند، خلق و ایجاد دنیایی مجازی است که از طریق واسطه های مناسبی با دنیای واقعی مرتبط شده و بخشی از نیازهای ما را برطرف می سازد. گسترده شدن استفاده از فناوری اطلاعات تقریباً در تمامی عرصه های زندگی و حیات انسان، اهمیت و نقش تولید کنندگان محصولات نرم افزاری را به شدت افزایش داده است. در این جا لفظ تولیدکنندگان به مجموعه افرادی اطلاق می شود که در طول چرخه حیات یک سیستم نرم افزاری در ساخت، توسعه و نگه داری آن مشارکت دارند. کشور ما هنوز دوران اولیه بلو غ خود را در عرصهIT تجربه می کند، دوره ای سرشار از مسائل و چالش های گوناگون. چالش هایی که برخی از آنها به سیاست های کلان کشور مرتبط و برخی دیگر زائیده ویژگی های خاص نرم افزار و دست اندرکاران تولید و توسعه آن است. این چالش ها به اشکال مختلف در مقابل تمامی دست اندرکاران این حوزه و به ویژه مدیر یک پروژه نرم افزاری عرض اندام می کنند. عوامل زیر را می توان سرچشمه بخش بزرگی از مشکلات این حوزه به شمار آورد:
- تکمیل نکردن زیر ساخت های ضروری IT.
- فراگیر نشدن فرهنگ استفاده از این فناوری در بخش وسیعی از حوزه ها.
- ارزان بودن نرم افزار بر خلاف هزینه تولید بالای آن و رعایت نکردن حقوق تولید کنندگان محصولات نرم افزار به شکلی که بسیاری از نرم افزارها (چه نرم افزارهای تولید داخل و چه تولید خارج) به راحتی و با قیمتی بسیار اندک در دسترس همگان است.
- نبود سرمایه گذاری مناسب برای پژوهش و تحقیق در حوزه نرم افزار. اگرچه مساعدت هایی در اختیار بخش های مختلف خصوصی و دولتی در چارچوب طرح های مختلف قرار گرفته است، عمده این سرمایه ها اغلب به سمت بخش های سخت افزاری سرازیر شده و در عمل سرمایه گذاری در عرصه تولید و به تناسب آن تحقیق و پژوهش کاربردی حوزه نرم افزار که در زمره سودآورترین عرصه های اقتصادی در دنیا شناخته می شود، بسیار اندک است.
- ناتوانی های شرکت های تولید نرم افزار. دست اندرکاران تولید نرم افزار در کشور ما بیش تر شرکت های کوچک نرم افزاری با پشتوانه های مالی اندک هستند. شرکت هایی که هنوز بلوغ سازمانی کافی نیافته اند، قادر نیستند متناسب با متحول ترین عرصه تکنولوژیک رشد کنند.
- قراردادهای ناپخته.
اکثریت مشتریان مهم حوزه نرم افزار را سازمان های دولتی و نیمه دولتی تشکیل می دهند. قراردادهای تولید نرم افزار، قراردادهایی ناپخته و یک طرفه هستند و مجریان چنین پروژه هایی، با وجود آگاهی نسبت به ضعف های آن بیشتر اوقات به دلایل اقتصادی مجبور به پذیرش آنها هستند.
در چنین فضایی مدیران پروژه های نرم افزاری با چالش ها، مسائل و مشکلات بسیاری روبه رو هستند که بخش عمده آن به ارتباط با سه گروه اصلی زیر بازمی گردد:
۱) کارفرمایان (مشتریان)،
۲) اعضای تیم یا کارکنان بخش های نرم افزار
۳) مدیران شرکت های نرم افزاری.
● کارفرمایان و مشتریان
گروه اصلی و ذی نفع مرتبط با یک محصول نرم افزاری را مشتریان یا کاربران آن تشکیل می دهند. کسانی که در حقیقت تامین کننده منابع مالی لازم برای تولید آن به شمار می روند. شاید به جرات بتوان گفت که بیشترین چالش ها در تقابل با این گروه، که عمده ترین تامین کننده منابع مالی بخش های تولید نرم افزار هم هستند نمایان می شود. در عرصه ارتباط مدیران پروژه با این گروه مسائلی وجود دارد که ریشه آن را می توان در میان موارد زیر جست وجو کرد:
- بخش هایIT همچنان در اغلب سازمان ها و مراکز صنعتی، خدماتی و بازرگانی سازمان ضعیفی دارند و از دانش و فناوری روز در عرصه ای که تکامل و تحول در آن، ساعت به ساعت رخ می نماید، به دور هستند. کاربران، مدیران و ذی نفعان یک سیستم نرم افزاری دید روشنی از نرم افزار و قابلیت های آن ندارند.
- نرم افزار هنوز به عنوان کالایی ارزشمند شناخته نشده و کارفرمایان و مشتریان نرم افزار اگرچه حاضر هستند بهای بالایی را برای یک سخت افزار، برای مثال یک مانیتور، بپردازند، در صرف هزینه برای نرم افزار به شدت خوددار ند. در مزایای خرید، تولید و استفاده از نرم افزار تردید دارند و دید روشنی از نیازهای خود و قابلیت مکانیزاسیون آنها ندارند. دید روشنی از حجم تلاش لازم برای تولید یک نرم افزار ندارند به همین علت در موازنه طرف های قرارداد ساخت و تولید نرم افزار، خود را طرف قدرتمند محسوب می کنند. حاصل چنین موازنه ای قراردادهایی غیر واقع بینانه و یک طرفه است. - به فرهنگ و دانش لازم برای استفاده از خدمات مکانیزه و الزامات، محدودیت ها و توانایی های آن کم بها می دهند.
- از فناوری تولید نرم افزار، روش های تولید و توسعه، کیفیت در نرم افزار و به طور کلی مباحث تکنیکی و مدیریتی این حوزه کم تر آگاه هستند. هر مدیر پروژه بسته به ویژگی های سازمان کارفرما یا مشتریان خود، می تواند اقلام جدیدی به فهرست بالا اضافه کند. ارائه راه حل هایی برای حل مسائل بالا در حوصله این گفتار نیست. نگارنده امیدوار است بسیاری از این مسائل به یمن الزامات تکنولوژیک و در گذر زمان حل شود.
● کارکنان بخش نرم افزار
گروه دومی که مدیر یک پروژه با آنها روبه رو است، اعضای بخش های تولید نرم افزار و کمی دقیق تر اعضای تیم های نرم افزاری است. افرادی با تخصص ها و ویژگی های گوناگون که به منظور تولید و ارائه یک محصول نرم افزاری سازمان یافته اند. سازمان دادن و هدایت چنین تیمی به منظور تولید محصولی باکیفیت در چارچوب زمان و هزینه پیش بینی شده کار ساده ای نیست. بخشی از مشکل همان طور که پیش از این نیز اشاره شد به ماهیت نرم افزار مرتبط است. برخی از ویژگی های خاص نرم افزار که آن را از دیگر محصولات تکنولوژیک متمایز می کند، عبارت است از:
- محصول نرم افزاری به طور کامل انتزاعی است.
- تولید آن به خلاقیت نیاز دارد.
- گرایش به سمت پیچیدگی دارد.
- برآورد زمان و هزینه تولید آن بحث انگیز و مشکل است.اولین مشکل یک مدیر پروژه ،
ـ فراهم آوردن نیروی انسانی مناسب برای تیم است؛
ـ مهندسان نرم افزاری که توانایی های آنها به تخصص های نرم افزاری صرف محدود نشده
ـ از مهارت های فردی دیگری چون برقراری ارتباط، توانایی، انگیزه و روحیه خودآموزی و تحقیق برخوردار باشند.
از آنجا که فناوری تولید نرم افزار به سرعت رو به تکامل است، یک مدیر باتجربه بر آن است که دانش مجموعه تیم یا شرکت خود را افزایش داده و بستری فراهم کند تا مجموعه تحت سرپرستی اش از آموزش کافی برخوردار باشند. در چنین حالتی کیفیت و کمیت دانش و توانایی اعضای تیم مضاعف می شود. اگرچه چنین آموزش هایی هزینه دارد با این همه سرمایه گذاری ارزشمندی محسوب می شود. به نظر آموزش حین کار باید به عنوان یک اصل در شرکت ها و بخش های تولید نرم افزار پذیرفته شود. هدف اصلی این آموزش باید بر افزایش کارایی اعضای تیم های نرم افزاری متمرکز باشد. به راحتی می توان ثابت کرد که هزینه ای که صرف آموزش تیم می شود به سرعت با افزایش کارایی اعضای تیم و رشد کیفیت نرم افزارهای تولیدی جبران می شود.
● تولید نرم افزار
برآورد تلاش های لازم برای تولید یک نرم افزار و برآورد زمان پروژه های نرم افزاری، یکی از بحث انگیز ترین مسائل مدیریت در پروژه های نرم افزاری است. بسیاری از پروژه های نرم افزاری تنها به دلیل خروج از برآوردهای زمانی خود شکست خورده اند. بنابراین به وضوح باید گفت که برآورد واقعی هزینه اجرای یک پروژه نرم افزاری یکی از بنیانی ترین قدم های موفقیت یک پروژه نرم افزاری است. وقتی که پروژه ای می رود تا از زمان خود خارج شود، از مهندسان نرم افزار خواسته می شود (و یا انتظار می رود) تا ساعات بیشتری را کار کنند تا پروژه بر مسیر پیش بینی شده منطبق شود. نکته اینجا است که فشار کاری بر تیم نمی تواند لزوماً نتایج قابل انتظار را برآورده سازد.به هر حال کار نرم افزاری یک کار خدماتی و تولیدی محسوب نمی شود بلکه این کار خلاقیتی در دنیایی مجازی است. یک سیستم نرم افزاری، موجودی مجازی است که خلق می شود، رشد می کند و در نهایت از میان می رود. برای این که خلاقیت در اعضای تیم وجود داشته و تقویت شود، ایجاد و تقویت انگیزه های آنان بسیار مهم است
نویسنده : حمید مشرف
منبع : مرکز توسعه و تبادل دانش فناوری اطلاعات