راهنمای تقویت مهارت حل مسئله — ویژه برنامه نویسان و توسعه دهندگان
صرفنظر از هر نوع سِمت شغلی، افراد باید به منظور پیشبرد مسئولیتهای خود، از «مهارتهای نرمی» (Soft Skills) برخوردار باشند و مهارت حل مسئله یکی از مهمترین مهارتهای نرم و توسعه فردی محسوب میشود. کسب این مهارت ذاتی نیست و برای تقویت مهارت حل مسئله، باید تلاش بسیاری کرد. افراد، در محل کار خود روزانه با چالشهای جدید و پیچیدهای مواجه میشوند و داشتن توانمندی برای یافتن دلیل رخداد این چالشها و سپس پیدا کردن راهحل مناسب برای آنها، امری حیاتی به حساب میآید.
در میان شغلهای دنیای امروز، برنامه نویسی و توسعه نرمافزار جزء حرفههایی محسوب میشوند که بیشترین نیاز به تقویت مهارت حل مسئله در آنها احساس میشود و بخشی از اصلیترین سوالات استخدامی علاقهمندان این مشاغل، مربوط به سنجش توانمندی آنها برای یافتن راهحلهای مسائل مختلف است. افرادی که به دنبال تقویت مهارت حل مسئله خود هستند، با مطالعه مقاله حاضر میتوانند به نکات مهمی دست پیدا کرده و از آنها در موقعیتهای پیچیده و چالشبرانگیز شغلی خود استفاده کنند.
مهارت حل مسئله چیست ؟
افراد با داشتن مهارت حل مسئله قادر هستند مشکلات و چالشهای موجود در مسیر زندگی یا شغلی خود را تشخیص دهند و پس از درک کامل آنها، به دنبال یافتن مناسبترین راهحل باشند. به عبارتی، تمامی کارفرمایان به دنبال استخدام کارجویانی هستند که برای انجام مسئولیتهای محول شده به آنها، متکی به خود باشند و با داشتن و تقویت مهارت حل مسئله، مشکلات پیش روی خود را حل کنند.
مهارت حل مسئله جزء مهارتهای نرم بهشمار میرود، زیرا این مهارت، نوعی توانمندی شخصی محسوب میشود و برخلاف «مهارتهای سخت» (Hard Skills)، نمیتوان آن را از طریق آموزش و تحصیلات دانشگاهی فراگرفت. به منظور دستیابی و تقویت مهارت حل مسئله، افراد باید با مسائل و چالشهای مختلف روبهرو شوند و از تجربیات همکاران باتجربه استفاده و برای حل مسائل و پیادهسازی راهحلهای پیشنهادی، با آنها مشورت کنند.
در محل کار ممکن است افراد با چالشها و مشکلات مختلفی مواجه شوند که برخی از دلایل وجود این مشکلات میتوانند موارد ذکر شده در ذیل باشند:
- مدیریت ضعیف
- عدم مسئولیتپذیری اعضای تیم
- کمبود یا عدم وجود فرصتهای پیشرفت شغلی برای اعضای تیم
- عدم شفافسازی فرآیندها یا رویههای سازمان
- کمبود منابع مالی و غیرمالی
- عدم آموزش صحیح افراد تیم
- وجود فضای پرتنش و استرسزا در محل کار
- عملکرد ضعیف برخی از افراد تیم
- عدم برنامهریزی برای پیشبرد اهداف تیم و سازمان
- انتظارات بیش از حد کارفرمایان و مدیران از کارمندان
- ارائه خدمات ضعیف به مشتریان
- فرسودگی شغلی
علاوهبر مشکلات ذکر شده فوق، افراد در حین انجام حرفه تخصصی خود، ممکن است با مسائل جدیدی روبهرو شوند که هیچ تجربه کاری یا پژوهشی پیرامون آن مسئله نداشته باشند. برنامه نویسان و توسعه دهندگان جزء آن دسته از افرادی هستند که برای پیشبرد مسئولیتهای خود باید از فناوریهای مختلف و نوین بسیاری استفاده کنند و دانش تخصصی خود را بهروز نگه دارند. راهحلهای سنتی و قدیمی پاسخگوی نیاز این افراد نیست و آنها به دنبال روشهایی برای حل مسائل خود هستند که در سریعترین زمان، بهترین نتیجه را داشته باشند.
برنامه نویسی، آخرین گام در حل مسئله محسوب میشود. به عبارتی، ایدهها و راهحلهای مربوط به مسئله را میتوان با نوشتن کد پیادهسازی کرد و نتایج را مورد بررسی قرار داد. افراد برنامه نویس و توسعه دهنده نرمافزار در هنگام مواجه شدن با مسائل برنامه نویسی، در ابتدا لازم است به انواع راهحلهای مسئله بیندیشند یا پژوهشی پیرامون راهحلهای مرتبط با مسئله انجام دهند و درنهایت با در نظر داشتن مزایا و معایب راهحلها، به اجرایی کردن یکی از آنها بپردازند و نتایج حاصل شده را بررسی کنند.
به عبارتی، لازمه کسب موفقیت در چنین مشاغلی، طی کردن گامهای مختلف حل مسئله است تا بتوان با توجه به امکانات مختلف مالی و غیرمالی، با مسائل متنوع به بهترین نحو روبهرو شد. در ادامه، به گامهای تقویت مهارت حل مسئله اشاره و به شرح آنها پرداخته شده است.
گام های تقویت مهارت حل مسئله چیست ؟
بسیاری از افراد زمانی که در حین کار با مسئلهای روبهرو میشوند، سریع به دنبال راهحل سادهای هستند تا مانع را از مسیر خود کنار بزنند. چنین اقدامی نه تنها در بیشتر مواقع نتایج مثبتی را به همراه ندارد، بلکه ممکن است باعث بروز مشکلات پیچیدهتر و جبرانناپذیری در درازمدت شود. افراد پیش از آنکه به اجرایی کردن اولین و سادهترین راهحل ذهنی خود بپردازند، باید مراحل مختلفی را طی کنند تا مسئله به شکل اساسی و ریشهای حل شود. در ادامه، گامهای تقویت مهارت حل مسئله فهرست شدهاند:
- توضیح شفاف مسئله
- پیدا کردن دلیل رخداد مسئله
- بصریسازی مسئله
- تحلیل پیامدهای بروز مسئله
- همفکری و مشورت کردن درباره راهحلهای مسئله
- ارزیابی راهحلهای پیشنهادی برای حل مسئله
- انتخاب بهترین راهحل برای حل مسئله
- برنامهریزی برای پیادهسازی راهحل مسئله
- پیادهسازی راهحل انتخابی
- بررسی میزان پیشرفت در راستای حل مسئله
- ارزیابی نتایج حاصل شده از بهکارگیری راهحل برای رفع مسئله
در هنگام برخورد با چالشها و مشکلات مختلف میتوان با بهکارگیری هر یک از مراحل ذکر شده فوق، به تقویت مهارت حل مسئله کمک بزرگی کرد و به مرور زمان و با کسب تجربه بیشتر، میتوان تسلط و مهارت بیشتری بدست آورد و نسبت به رفع مشکلات جدید اقدام کرد. در ادامه، به توضیح هر یک از گامهای تقویت مهارت حل مسئله پرداخته میشود.
توضیح شفاف مسئله
اولین گام برای حل مسئله، توضیح مسئله به صورت شفاف است. به بیان ساده، یک مسئله، چالشی است که باید به آن توجه کرد و با ارائه راهحلی مناسب، به رفع یا تصحیح آن پرداخت تا در نهایت، نتیجهای قابل قبول حاصل شود.
به منظور حل مسئله، سریع نباید به سراغ راهحلهای اولیهای رفت که در وهله اول به ذهن خطور میکنند. بدون درک کامل و عمیق مسئله، ممکن است راهحلهای پیشنهادی اولیه موثر واقع نشوند و در پی پیادهسازی آنها، زمان و هزینه زیادی از دست برود. به قول «آلبرت اینتشین» (Albert Einstein):
«اگر برای حل مسئله، یک ساعت زمان داشته باشم، 55 دقیقه از زمان خود را به فکر کردن درباره مسئله اختصاص میدهم و در 5 دقیقه باقی مانده، راهحلی برای آن پیشنهاد میکنم».
در حوزه برنامه نویسی، اگر برنامه نویس تصمیم دارد تابعی را بنویسد که وظیفه خاصی را انجام دهد، باید به انواع ورودیهای این تابع و خروجیهای مورد انتظار آن بیندیشد و تمامی حالات را برای رسیدن به یک تابع با عملکرد صحیح در نظر بگیرد.
یافتن دلیل رخداد مسئله
یکی دیگر از گامهای تقویت مهارت حل مسئله، پیدا کردن دلایل رخداد مسئله است که باید پس از توضیح شفاف و درک عمیق مسئله، به آن پرداخته شود. در این مرحله، باید با افراد مرتبط و متخصص مشورت و از تجربیات و دانش آنها در یافتن علت بروز مشکل استفاده کرد.
به عنوان مثال، شرایطی را میتوان در نظر گرفت که در آن سطلی در زیر لوله آبی قرار گرفته است که آن لوله نشتی دارد. این سطل، بعد از گذشت زمان، از آب پر شده و آب درون سطل، از آن لبریز میشود. اولین راهحلی که به ذهن خطور میکند، این است که میتوان از سطل آب بزرگتری برای رفع این مسئله استفاده کرد. اما بعد از گذر زمان، باز هم مسئله سرریز شدن آب از درون سطل اتفاق میافتد و استفاده از سطل بزرگتر، دلیل اصلی رخداد این مسئله را رفع نمیکند.
به عبارتی، باید به خاطر داشت که مهارت حل مسئله، به معنای ارائه راهحل موقت برای رفع مسئله نیست و باید به دنبال راهی بود که ریشه مشکل اساساً حل شود. به منظور پیدا کردن منشاء ایجاد مسئله، میتوان پرسشهایی را مطرح کرد و به وضوح به هر یک از آنها پاسخ داد. لیستی از این پرسشها در ادامه فهرست شدهاند:
- مشکل یا مانع ایجاد شده چه زمانی و تحت چه شرایطی پیش آمده است؟
- چرا چنین مشکل یا مانعی رخ داده است؟
- چطور چنین مشکل یا مانعی اتفاق افتاده است؟
- دلیل/دلایل اصلی رخداد این مشکل یا مانع چیست؟
- در پی رخداد این مشکل یا مانع، چه اطلاعاتی از دست رفتهاند؟
- به چه نحوی میتوان اطلاعات بیشتری درباره این مشکل یا مانع کسب کرد؟
- چه راهحلی میتواند مانع رخداد مجدد این مشکل یا مانع شود؟
- چه مشکلات یا موانع مشابهی احتمال دارد که در آینده رخ بدهد؟
- چه راهحلهایی در گذشته برای رفع چنین مشکل یا مانعی اتخاذ شده است؟
در حوزه برنامه نویسی و توسعه نرمافزار، میتوان با بررسی و تحلیل خروجیهای برنامه به مشکلات برنامه پیبرد. به عبارتی، میتوان ورودیهای مختلفی به برنامه داد و نتایج حاصل شده از برنامه را بررسی کرد و دلیل رخداد خطاها و «باگهای» (Bugs) برنامه را پیدا کرد.
معرفی فیلم های آموزش مهارت های نرم (توسعه فردی)
تم آف برای آن دسته از علاقهمندانی که در پی تقویت مهارتهای نرم خود هستند، مجموعه دورههای آموزشی پیرامون توسعه فردی فراهم کرده است تا افراد با بهرهگیری از این دورهها بتوانند در مسیر شغلی و زندگی خود با موفقیت بیشتری پیش بروند. دورههای آموزشی توسعه فردی شامل استراتژیها و چارچوبهای رشد فردی، تعیین هدف و بهبود مهارتهای نرم است.
همچنین، افراد علاقهمند به این دورهها میتوانند با شرکت در آنها به مهارتهای مورد نیاز مشاغل با رتبههای بالاتر دست پیدا کنند و با فراگیری مهارتهایی نظیر مهارت حل مسئله، مهارت سخنوری و فنون مذاکره، به عنوان مدیری مدبر در سازمانها مشغول به کار شوند. در تصویر فوق تنها برخی از دورههای مجموعه آموزش توسعه فردی تم آف مشاهده میشوند.
- برای شروع یادگیری مهارت های نرم و دسترسی به فیلمهای آموزش توسعه فردی تم آف + اینجا کلیک کنید.
بصری سازی مسئله
یکی دیگر از مراحل مهم برای تقویت مهارت حل مسئله، ارائه تصویر روشنی از مشکل یا مانع مربوطه است. البته نمیتوان برای تمامی مشکلات و موانع، بصریسازی انجام داد. با این حال، در برخی شرایط میتوان نمودار سادهای از روال کار یا وضعیت فعلی ترسیم کرد تا به درک وضعیت پیچیده موجود، کمک کند. از ابزارهای مختلفی نظیر Powerpoint یا تخته وایتبُرد یا یک تکه کاغذ میتوان برای این کار استفاده کرد.
«بصریسازی مسئله» (Visualization)، به تفکر پیرامون مسئله و تجزیه و تحلیل شفاف آن کمک شایانی میکند و میتوان از جنبههای مختلف به مسئله پیش آمده نگاه کرد و آن را مورد بررسی قرار داد. به قول «استیو جابز» (Steve Jobs):
«اگر مسئله را بهدرستی و بهوضوح تعریف کنید، سریعاً به راهحل آن دست پیدا خواهید کرد».
همچنین، از بصریسازی میتوان برای شفافسازی گامهای حل مسئله استفاده کرد.
در حوزه برنامه نویسی و توسعه نرمافزار، از بصریسازی راهحلها به منظور سازماندهی مسئولیتها و ساختاردهی کدنویسی استفاده میشود تا به سایر افراد در درک قطعهکدهای نوشته شده کمک کند. یکی از ابزارهای بصریسازی در برنامه نویسی، استفاده از «فلوچارت» (Flowchart) است که با آن میتوان مراحل اجرای الگوریتم و پردازش برنامه را به تصویر کشید. همچنین، با استفاده از این ابزار میتوان برنامههای پیچیده را در قالب نمودار و به شکل ساده به افراد نشان داد و در صورت وجود خطا در هر گام از برنامه، برای رفع سریع آن اقدام کرد.
تحلیل پیامدها و اثرات رخ دادن مسئله
به منظور تقویت مهارت حل مسئله، باید زمانی را به بررسی و تحلیل پیامدهای مشکل یا مانع ایجاد شده اختصاص داد و مشخص کرد که تبعات آن تا چه حد فراگیر شده است. برای تحقق این هدف، میتوان با افراد مختلف و باتجربه مشورت کرد و درباره پاسخ پرسشهای پیرامون مسئله که در ادامه فهرست شدهاند، با آنها صحبت کرد:
- میزان فراگیر بودن تبعات مسئله پیش آمده در چه حد است؟
- رخ دادن چنین مشکل یا مانعی به چه نحوی برای افراد یا شرایط حاضر تبعات دارد؟
- مدت زمانی که این مشکل پابرچاست، حدوداً چقدر است؟
- آیا پیش از این نیز چنین مشکل یا مانعی اتفاق افتاده است؟
- در صورتی که این مشکل یا مانع حل نشود، چه اتفاقات دیگری خواهد افتاد؟
در حوزه برنامه نویسی و توسعه نرمافزار باید بررسی کرد که خطاهای موجود در برنامه چه تاثیراتی بر عملکرد برنامه و نتایج حاصل شده از برنامه دارند و آیا میتوان از آنها چشمپوشی کرد یا وجود این خطاها، ارزش نتایج حاصل شده را از بین میبرند.
هم فکری درباره راه حل های ممکن
به منظور تقویت مهارت حل مسئله باید با سایر اعضای تیم مشورت کرد و بدون هیچ گونه انتقاد یا پیشداوری، به تمامی ایدهها و راهحلهای جدید اعضای تیم گوش سپرد. به عبارتی، پس از تشکیل دادن جلسات «بارش فکری» (BrainStorming) برای اعضای تیم به منظور توضیح شفاف مشکل یا مانع موجود، باید به اعضای گروه زمانی را برای فکر کردن پیرامون مسئله و پیدا کردن راهحلی مناسب برای آن اختصاص داد. سپس، باید از اعضای تیم دعوت شود تا پیشنهادات خود را برای سایر اعضای تیم ارائه دهند تا افراد تیم با جنبههای مختلف مسئله آشنا شوند.
افرادی که مهارت بالایی در حل مسئله دارند و از مهارت «تفکر انتقادی» (Critical Thinking) بهرهمند هستند، به این امر واقفاند که راهحل درست و نادرستی در این مرحله از کار وجود ندارد. تنها هدف این گام، تمرکز روی پیشنهادات و راهحلهای ساده و خلاقانه است که شباهتی به رویکردهای سنتی و روشهای پیشین نداشته باشند زیرا این رویکردها دیگر پاسخگوی نیازها و مسائل پیچیدهتر و جدیدتر نیستند.
ارزیابی راه حل های پیشنهادی
پس از شنیدن پیشنهادات و ایدههای همتیمیها، نوبت به ارزیابی راهحلهای آنها میرسد. به عبارتی، قدم بعدی در تقویت مهارت حل مسئله، یادگیری مهارت برای ارزیابی پیشنهادات مختلف است تا در نهایت موثرترین روش برای رفع مشکل یا مانع موجود انتخاب شود. این احتمال نیز وجود دارد که بتوان چندین پیشنهاد ارائه شده را با یکدیگر ادغام کرد و در آخر با ترکیب آنها به رفع مشکل پرداخت. به منظور ارزیابی ایدهها و راهحلهای پیشنهادی افراد، لازم است مزایا و معایب آنها را مشخص شوند. همچنین، در این مرحله، باید موارد زیر را به وضوح معین کرد:
- شرایط ایدهآل پس از رفع مشکل یا مانع چیست؟
- پس از اعمال راهحلها، چه زمانی میتوان به شرایط ایدهآل دست پیدا کرد؟
- به چه نحوی میتوان راهحلها را اجرایی کرد و نتایج حاصل شده از آنها را سنجید؟
در حوزه برنامه نویسی، میتوان از جنبههای مختلف مالی و غیرمالی، روشها، ابزارها و مدلهای پیشنهادی حل مسئله را برای پیادهسازی بررسی کرد و با در نظر داشتن بازه زمانی مشخص شده و بودجه و امکانات سازمان، مناسبترین روش را برای حل مسئله انتخاب کرد.
انتخاب بهترین راه حل برای حل مسئله
پس از شنیدن تمامی ایدههای افراد و تجزیه و تحلیل آنها، نوبت به انتخاب بهترین راهحلهای پیشنهادی میرسد. این گام یکی از مهمترین و دشوارترین مرحلهها محسوب میشود که افراد به منظور تقویت مهارت حل مسئله باید به آن توجه ویژهای داشته باشند زیرا تصمیمگیری اشتباه میتواند باعث خسارتهای جبرانناپذیری شود.
به منظور تصمیمگیری در خصوص انتخاب بهترین ایدهها، میتوان نظرات تمامی افراد را در خصوص راهحلهای پیشنهادی، مدنظر قرار داد. این احتمال وجود دارد که تمامی اعضای تیم موافق با پیشنهادات ارائه شده برای حل مشکل نباشند. در این شرایط میتوان با افراد باتجربه در خصوص راهحلها مشورت کرد یا با رایگیری، ایدهای را به منظور اجرایی شدن انتخاب کرد که بیشتر افراد به آن رای موافق دادهاند.
خاطرنشان میشود به منظور انتخاب بهترین راهحل، باید هزینههای مالی و زمانی نیز مدنظر قرار داده شوند. همچنین، باید به جنبههای پیادهسازی روش پیشنهادی فکر کرد و تمامی ریسکهای احتمالی آن را پذیرفت و برای هر یک از آنها راهحل مناسبی مشخص کرد تا افراد برای مقابله با آنها آمادگی ذهنی داشته باشند.
برنامه ریزی برای اجرایی کردن راه حل انتخابی
گام بعدی برای تقویت مهارت حل مسئله، برنامهریزی در خصوص نحوه پیادهسازی و اجرای راهحل انتخابی است. بدین منظور، باید راهحل منتخب را به مراحل کوچکتر تقسیم کرد تا بتوان مدیریت پیادهسازی هر بخش را به طور کامل انجام داد.
تعداد مراحل برنامهریزی شده به منظور اجرایی کردن راهحل، به میزان پیچیدگی مسئله بستگی دارد. به عبارتی، هرچقدر پیچیدگی و دشواری مسئله بیشتر باشد، باید گامهای بیشتری را برای رفع مشکل یا مانع در نظر گرفت. به منظور برنامهریزی برای پیادهسازی گامهای راهحل منتخب، باید پاسخ پرسشهای فهرست شده زیر را مشخص کرد:
- اقدامات لازم برای حل مشکل کدامند؟
- چه افرادی مسئول انجام اقدامات مشخص شده برای رفع مشکل یا مانع هستند؟
- چه مدت زمانی برای انجام هر یک از اقدامات مشخص شده مورد نیاز است؟
- در چه زمانی باید نتایج اقدامات در قالب گزارش ارائه شوند؟
- زمان تحویل نهایی کار چه وقت است؟
افراد فعال در حوزه برنامه نویسی و توسعه نرمافزار نیز میتوانند برنامه را به بخشهای کوچکتر تقسیم کرده و هر یک از بخشها را در قالب تابع یا کلاس کدنویسی کرده و در نهایت خروجی آنها را به یکدیگر ارتباط دهند. در این حالت، یافتن خطاهای برنامه سادهتر شده و با حفظ مدیریت زمان در پروژه، دقت و کارایی برنامه بالاتر میرود زیرا میتوان از توابع نوشته شده به دفعات مختلف در برنامه فعلی یا سایر پروژههای برنامه نویسی استفاده کرد و در زمان تحلیل خطا، بر روی عملکرد یک تابع یا کلاس خاص تمرکز داشت.
پیاده سازی راه حل منتخب
پس از برنامهریزی مراحل حل مسئله و مشخص کردن مسئولیتهای هر یک از اعضای تیم، نوبت به مرحله پیادهسازی راهحل میرسد. اجرایی کردن راهحل بالقوه، گام دیگری از مسیر تقویت مهارت حل مسئله است که در این مرحله باید چندین مورد را بهطور مداوم بررسی کرد که این موارد در ادامه فهرست شدهاند:
- تشکیل دادن جلسات مختلف به منظور به اشتراکگذاری نتایج حاصل از پیشبرد کار
- فراهم کردن دورههای آموزشی مورد نیاز افراد به منظور کسب مهارت مورد نیاز برای پیشبرد حل مسئله
- مهیا کردن منابع مورد نیاز برای حل مسئله
- پاسخ به پرسشهای افراد تیم و شفافسازی ابهامات مسئله
- تهیه گزارشات دورهای به منظور مشخص کردن میزان پیشرفت در راستای حل مسئله
در حوزه برنامه نویسی، میتوان گام دیگری را نیز به موارد فوق اضافه کرد که این گام، نوشتن «شبه کد» (Pseudo Code) برنامه است. به عبارتی، با استفاده از شبه کد میتوان الگوریتم برنامه را به زبان ساده و مرحله به مرحله مشخص و در نهایت آن را به قطعه کد برنامه نویسی تبدیل کرد.
بررسی میزان پیشرفت در راستای حل مسئله
افرادی که هدفشان، تقویت مهارت حل مسئله است، در هنگام پیادهسازی راهحلها، باید میزان پیشرفت کار را بررسی و از بازخوردهای افراد مختلف در راستای بهبود نتیجه استفاده کنند. در ایدهآلترین شرایط، چنانچه راهحل انتخابی بهترین روش برای حل مسئله باشد، با اجرایی کردن مراحل آن راهحل، افراد شاهد کاهش اثرات مشکل یا مانع خواهند بود. در این راستا مطالعه کتاب مهارت حل مسئله نیز اثربخشی زیادی دارد. در ادامه، فهرستی از پرسشهایی ارائه شده است که با بررسی پاسخ آنها میتوان به میزان موثر بودن راهحل منتخب پی برد:
- چه میزان از کار تا رسیدن به نتیجه ایدهآل باقی مانده است؟
- آیا پیادهسازیها و انجام مسئولیتها مطابق با زمانبندیهای از قبل تعیین شده پیش میروند؟
- آیا بودجه تعیین شده برای ادامه کار کفایت میکند؟
- آیا با اجرایی کردن راهحلهای منتخب، اهداف مشخص شده از قبل تحقق پیدا کردهاند؟
- به منظور پیشبرد وظایف در راستای حل مسئله، چه چالشهایی همچنان پیشروی افراد باقی است؟
- چه تغییراتی لازم است در برنامهریزیها و راهحلهای پیشنهادی اعمال شوند؟
ارزیابی نتایج حاصل از اجرایی کردن راه حل های منتخب
یکی دیگر از وظایفی که باید در راستای تقویت مهارت حل مسئله انجام داد، ارزیابی نتایج حاصل از اجرایی شدن راهحلهای منتخب است. میتوان به منظور بررسی میزان موثر بودن روش انتخابی برای رفع مشکل، چندین سوال را به شرح زیر مطرح کرد:
- آیا راهحل منتخب در بازه زمانی تعیین شده از قبل بهطور کامل پیادهسازی شده است و نیاز به زمان بیشتری برای اتمام کار وجود ندارد؟
- آیا برای به اتمام رساندن مراحل اجرایی راهحلهای منتخب، به بودجه بیشتری نسبت به هزینههای از قبل برآورد شده نیاز است؟
- آیا مشکل یا مانع بهطور کامل رفع شده است؟
- آیا کار باقیماندهای وجود دارد که نیاز به زمان بیشتری برای اتمام آن باشد؟
در نهایت، باید گزارش کلی از نتایج حاصل شده تهیه شود که تمامی جزئیات مربوط به انجام کار را دربرگیرد. درصورتیکه پس از اتمام پیادهسازیها، مشکل بهطور کامل رفع نشده باشد، باید به تجزیه و تحلیل خطاهای رفع نشده و مشکلات جدید حاصل از اجرایی شدن راهحل منتخب پرداخت تا به اشتباهات پی ببریم و بتوان از تکرار آنها در آینده جلوگیری کرد.
در شرایطی که راهحل انتخابی با شکست مواجه میشود، باید واقعبین بود که برخی از روشها ممکن است راهحل مناسبی برای رفع تمامی مشکلات نباشند. برخی راهحلها در بعضی مسائل تنها بخشی از مشکلات را رفع میکنند و ممکن است مشکلات جدیدی را نیز به وجود آورند. با اینکه در چنین شرایطی، بخشی از هزینههای مالی و غیرمالی صرف اجرایی شدن راهحل منتخب شده است، با این حال، باید مجدداً به عقب برگشت و راهحل دیگری را برای رفع مشکل حاضر انتخاب و نتایج حاصل شده از آن را بررسی کرد.
در حوزه توسعه نرمافزار و برنامه نویسی نیز پس از اتمام پیادهسازی گامهای مرحله انتخابی، باید با استفاده از ورودیها و دادههای مختلف، عملکرد برنامه را مورد سنجش قرار داد و چنانچه تبادل دادهای بین توابع مختلف برنامه وجود دارد، ارتباط صحیح بین توابع و و نحوه تبادل داده بین آنها بررسی شوند تا اگر خطایی در این بین وجود دارد، سریعاً رفع شود.
چه اشتباهاتی در حل مسئله وجود دارد ؟
افراد روزانه با چالشها و مشکلات مختلفی در طی فعالیتهای شغلی خود مواجه میشوند. یکی از مهمترین و حیاتیترین مهارتهای نرم، مهارت حل مسئله است که افراد به منظور پیشبرد مسئولیتهای خود به نحو احسنت، باید این مهارت را تقویت کنند. انتخاب راهحل نادرست در شرایط بحرانی، ممکن است وضعیت را تا حد زیادی پیچیدهتر و دشوارتر کند. اشتباهات رایجی که ممکن است افراد برای حل مسئله به آنها دچار شوند، در ادامه فهرست شدهاند:
- افراد ممکن است در هنگام مواجهه با مشکل، آن را نادیده بگیرند یا از پذیرفتن آن امتناع کنند.
- افراد ممکن است به منظور حل مشکل صرفاً به دنبال راهحلهای ساده باشند. راهحلهای ساده همیشه پاسخگوی رفع مشکلات و موانع نیستند.
- به دلیل هزینههای مالی و غیرمالی، ممکن است افراد مشکلات را به صورت ریشهای حل نکنند و صرفاً به صورت سطحی به رفع چالشها بپردازند. این امر ممکن است تا مدت زمان کوتاهی پاسخگو باشد، اما در درازمدت اثرات این مشکلات خود را در نتایج کار نشان خواهند داد.
- بسیاری از افراد پیش از آنکه مسئله را بهطور کامل و عمیق درک کنند، سریعاً به دنبال راهحل برای رفع آن هستند. این امر باعث میشود مشکلات موجود بهطور کامل رفع نشده و در حین یافتن راهحل برای آنها، به همه جوانب مسئله توجه کافی نشود. همچنین، عدم درک عمیق مسئله ممکن است باعث شود افراد به دنبال راهحلهای غیرمرتبط با مسئله اصلی باشند.
- برخی از افراد به دلایل مختلفی نظیر کمبود اعتمادبهنفس یا نداشتن مطالعات کافی بهمنظور یافتن ایدهها و راهحلهای مرتبط با مسئله، در جلسات بارش فکری مشارکتی ندارند.
- افرادی وجود دارند که به دنبال راهحلهای سنتی و قدیمی هستند و از پذیرش روشهای نوین و کاربردی امتناع میکنند.
- برخی افراد ممکن است در حین بروز مشکل، به دنبال پیدا کردن مقصر باشند و به جای رفع مشکل، شرایط پرتنشی را برای اعضای تیم به وجود آوردند و با مقصر جلوه دادن سایر افراد یا سایر عوامل، از یافتن راهحل مسئله در اسرع زمان سر باز بزنند که همین امر ممکن است عواقب جبرانناپذیری را در پی داشته باشد.
- افرادی هستند که به جای گوش دادن به ایدهها و پیشنهادات سایر اعضای تیم و مشورت کردن با افراد باتجربه، تصمیم به حل مسئله میگیرند. به اشتراکگذاری عقاید و ایدههای افراد مختلف، بستری را فراهم میکند تا افراد از جنبههای مختلف به مسئله نگاه کنند و برای انتخاب بهترین راهحل، تمامی ریسکها و نقاط ضعف و قوت آن را مدنظر قرار دهند.
- برخی افراد در هنگام مواجه شدن با مشکل، از خود انتظار دارند که تمامی مشکلات را بهتنهایی و متکی به خود رفع کنند. این افراد ممکن است از برخورد منفی سایر اعضای تیم بهخصوص کارفرمایان هراس داشته باشند یا بر این عقیده باشند که راهحل آنها در مقایسه با ایدههای سایر افراد تیم، بهترین کارایی را دارد.
- مراحل اجرایی راهحل منتخب ممکن است برای اعضای تیم بهطور شفاف شرح داده نشود و افراد برای پیادهسازی راهحل با چالش و ابهام مواجه شوند. این اتفاق ممکن است زمانی رخ بدهد که مدیران و سرپرستهای تیم چنین فرضی داشته باشند که نیازی به توضیح بیشتر برای پیادهسازی گامهای راهحل به اعضای تیم وجود ندارد و آنها باید خودشان نحوه اجرایی کردن راهحل منتخب را بدانند.
- ترس از ریسکها و گرفتن تصمیمات اشتباه و انتخاب کردن راهحل نامناسب، باعث میشود مشکلات و موانع برای همیشه باقی بمانند.
- برخی افراد با اجرایی کردن یک راهحل و عدم گرفتن نتیجه مثبت از آن راهحل، به تلاش برای رفع مشکل ادامه نمیدهند و هدف خود را نیمهکاره رها میکنند.
- برخی از افراد ممکن است خود را با شرایط جدید وفق ندهند و از پذیرش وضعیت جدید و پیادهسازی راهحلهای نوین خودداری کنند.
- عدم برنامهریزی برای پیشبرد اهداف و عدم تهیه گزارش از نتایج کارهای انجام شده، افراد را در شرایط ابهام قرار میدهد.
برای تقویت مهارت حل مسئله چه مهارت های دیگری لازم است؟
افراد در هر یک از گامهای لازم برای حل مسئله، باید از سایر مهارتها نیز استفاده کنند تا در نهایت هدف نهایی خود، یعنی حل مسئله، را تحقق بخشند. سایر مهارتهای مورد نیاز افراد برای تقویت مهارت حل مسئله در ادامه فهرست شدهاند:
- «مهارت در انجام پژوهش» (Research Skill)
- «مهارت ارتباطی» (Communication Skill)
- «مهارت در تصمیمگیری» (Decision Making Skill)
- «مهارت ریسکپذیری» (Risk Taking Skill)
- «مهارت اولویتبندی» (Prioritization Skill)
- «مهارت انعطافپذیری» (Flexibility Skill)
در ادامه، به توضیح هر یک از مهارتهای ذکر شده فوق پرداخته میشود.
تقویت مهارت حل مسئله با انجام پژوهش
مهارت انجام پژوهش بدین معناست که با مطالعه منابع مختلف علمی، بتوان برای مسئله خود راهحلی پیدا کرد. انجام پژوهش در خصوص یک مسئله میتواند شامل مراحل مختلفی نظیر جمعآوری اطلاعات، تحلیل دادهها و تفسیر آنها و سپس یافتن روشهای موجود برای حل مسئله باشد.
بهمنظور یافتن راهحل برای مسئله میتوان از منابع آنلاین استفاده کرد. روزانه پژوهشهای بسیاری در حوزههای مختلف در سراسر دنیا انجام میشود که نتایج حاصل از این پژوهشها در قالب مقالات علمی یا سایتهای آموزشی در معرض علاقهمندان به این حوزهها قرار میگیرند که به بسیاری از آنها میتوان بهصورت رایگان دسترسی داشت.
این احتمال وجود دارد افراد در پی حل مسئلهای باشند که راهحل مناسب آن توسط افراد دیگر در سایر سازمانها یا مراکز تحقیقاتی ارائه و در قالب گزارشی بهصورت آنلاین در دسترس عموم قرار گرفته شده باشد. همچنین، ممکن است سایر همکاران نیز در گذشته با مشکل مشابهی مواجه شده باشند که مشورت با آنها میتواند راهگشای مشکل شود. بهعلاوه، این احتمال وجود دارد که مسئله فعلی سازمان، موضوع جدیدی باشد که راهحل مستقیمی برای رفع آن ارائه نشده باشد. در چنین شرایطی میتوان با انجام پژوهشها و پیدا کردن مشکلات مشابه یا مرتبط با مسئله خود، به نزدیکترین ایده دست یافت و با اعمال تغییرات جزئی، راهحل پیشنهادی را با مسئله خود منطبق کرد.
تاثیر مهارت ارتباطی در تقویت مهارت حل مسئله
یکی از مهارتهای مرتبط با مهارت حل مسئله، مهارت ارتباط گرفتن با سایر اعضای تیم است. در زمان بروز مشکل یا مانع، باید بتوان با استفاده از مهارت ارتباطی، مسئله را برای سایر افراد تیم شرح داد و در جلسات بهاشتراکگذاری ایدهها و بارش فکری، به بیان راهحلها و پیشنهادات پرداخت.
همچنین، برای برنامهریزی، تشریح و تخصیص مسئولیتها به سایر همتیمیها، باید بتوان از ارتباط شفاف و بدون ابهام استفاده کرد و نتایج راهحلها را با جزئیات برای آنها بهطور واضح شرح داد. مهارت ارتباطی شامل چندین مهارت میشوند که در ادامه فهرست شدهاند:
- «مهارت ارتباطی کلامی» (Oral Communication Skill)
- «مهارت ارتباطی نوشتاری» (Written Communication Skill)
- «مهارت ارائه» (Presentation Skill)
- «مهارت گوش دادن فعال» (Active Listening Skill)
- «مهارت ارتباطی غیرکلامی» (Nonverbal Communication Skill)
- «مهارت در ارائه بازخورد» (Feedback Skill)
- «احترام گذاشتن در برقراری ارتباط» (Respect in Communications)
- «مهارت داشتن اعتمادبهنفس» (Confidence Skill)
- «داشتن بیان شفاف در ارتباط» (Clarity in Communication)
- «داشتن صداقت در ارتباط» (Honesty in Communication)
- «مهارت سخنرانی عمومی» (Public Speaking)
تاثیر مهارت تصمیم گیری در تقویت مهارت حل مسئله
افراد برای حل مسئله باید قادر باشند از میان تمامی ایدهها و روشهای پیشنهادی، بهترین راهحل را انتخاب کنند. تصمیمگیری درباره بهترین راهحل نیازمند بررسی اطلاعات و دادههای موجود است. همچنین، باید افراد با سایر اعضای تیم و به خصوص افراد باتجربه درباره حل مسئله مشورت داشته باشند تا بتوانند با توجه به جنبههای مختلف مسئله و نقاط ضعف و قوت راهحلها در مورد پذیرش یا عدم پذیرش راهحلهای پیشنهادی تصمیمگیری کنند. به منظور اتخاذ تصمیم درباره راهحلهای پیشنهادی برای رفع مسئله باید موارد زیر را در نظر داشت:
- شناسایی عوامل مهم و اساسی موثر در نتایج راهحل انتخابی
- بررسی نقاط قوت و ضعف راهحلها و اولویتبندی ایدههای پیشنهادی برای رفع مشکل
- پیشبینی نتایج راهحل منتخب و ریسکهای احتمالی آن
تاثیر مهارت ریسک پذیری در تقویت مهارت حل مسئله
افراد موفق معمولاً ریسکپذیر هستند و به جای تکرار روشهای قدیمی و سنتی، از روشهای نوین برای حل مسئله استفاده میکنند. با اینکه طی کردن مسیرهای جدید، ممکن است خسارتهای مالی و غیرمالی را به همراه داشته باشد، با این حال، افراد با بهرهگیری از ایدههای جدید، با فرصتها و تجربیات جدید مواجه میشوند و با اجرایی کردن روشهای نوین میتوانند مهارتهای خود را بهروزرسانی کنند.
مدیریت ریسک چیست ؟ — فرآیندها و روش های انجام به زبان ساده
تاثیر مهارت اولویت بندی در تقویت مهارت حل مسئله
به منظور پیادهسازی یک پروژه، نیاز است تا آن را به بخشهای کوچکتری تقسیم کرد و پیشبرد آن را مرحله به مرحله انجام داد. یکی از مهارتهای موثر در تقویت مهارت حل مسئله، مهارت اولویتبندی گامهای پیادهسازی پروژه است. اولویتبندی به این معناست که بر اساس میزان اهمیت، چه کاری باید زودتر انجام شود؟ اولویتبندی کارها باعث میشود زمانبندی انجام کار و تحویل کار بهطور موثرتری انجام شود.
تاثیر مهارت انعطاف پذیری در تقویت مهارت حل مسئله
مهارت انعطافپذیری بدین معناست که افراد بتوانند خود را با تغییرات ایجاد شده در محیط کار و شرایط کاری بهسرعت تطبیق دهند تا بتوانند راحتتر با مسائل و چالشهای غیرمنتظره مواجه شوند. عوامل مختلفی نظیر پیشرفت و توسعه سریع در حوزه فناوری و تغییرات مداوم در بازار جهانی و رویکردهای سیاسی و اقتصادی، عملکرد سازمانها و شرکتها را دستخوش تغییرات پیشبینی نشده میکند.
همین امر، باعث میشود افراد در حین کار با شرایط جدیدی روبهرو شوند و مسئولیتهای جدیدی را به منظور پیشبرد کار و حل مسائل مختلف برعهده بگیرند. بدینترتیب، مهارت انعطافپذیری با شرایط مختلف، یکی دیگر از مهارتهای مرتبط با مهارت حل مسئله است که تمامی افراد به منظور پیشبرد اهداف خود باید این مهارت را نیز در خود تقویت کنند.
جمعبندی
مهارت حل مسئله جزء مهارتهای نرم محسوب میشود که افراد تنها با کسب تجربه و انجام تمرین زیاد میتوانند این مهارت را در خود تقویت کنند. در مقاله حاضر با عنوان «راهنمای تقویت مهارت حل مسئله — ویژه برنامه نویسان و توسعه دهندگان» سعی بر این بود تا به اشتباهات افراد در هنگام مواجه شدن با مشکلات و موانع در حرفه خود پرداخته شود و گامهای حل مسئله شرح داده شوند تا افراد بتوانند از این نکات در زندگی روزمره و محل کار خود در راستای حل مسائل استفاده کنند.