دل به دریا زدن همیشه کار درستی نیست
تو دنیای طرح و پروژه، به خصوص برای تولید نرمافزار، چند سالیه مد شده که بعضیا دل به دریا زدن رو تشویق میکنن، به معنی برنامهریزی و طراحی اولیه نکردن و شروع کار با این حساب که در حین انجام کار میشه به تدریج تطبیق پیدا کرد. دل به دریا زدن گاهی میتونه مفید باشه، ولی در حالت کلی انتخاب بسیار بدیه و ممکنه فاجعه به بار بیاره.
سوال اینه که چه موقع باید دل به دریا زد و چه موقع نباید.
حد مناسب برنامهریزی
اینکه مسئله رو بود یا نبود برنامهریزی و طراحی اولیه بدونیم، سطحی و نادرسته. ما همیشه نیاز به برنامهریزی و طراحی اولیه داریم و شرایط فقط تعیین میکنن که حد مناسبش چیه. حتی تو شرایط بحرانی که با هر ثانیه تاخیر ممکنه جون چند نفر از بین بره هم کمی فکر میکنیم که بهترین کار چیه و بعد عمل میکنیم.
اگه برنامهریزی و طراحی اولیه کمتر از حد مناسبش باشه، فرصتهایی رو از دست میدیم و اشتباههایی میکنیم که ممکنه پر هزینه باشن یا حتی جبرانناپذیر. زیاد از حد بودن برنامهریزی و طراحی اولیه هم کار خوبی نیست چون ممکنه هزینه و مدتزمان رو زیاد و انعطافپذیری رو کم کنه.
حد مناسب برنامهریزی و طراحی اولیه به خیلی چیزها برمیگرده؛ مثلا، اینکه راهی که در پیش داریم چقدر بازگشتپذیره. اگه میخوایم وارد مسیری بشیم که بازگشت نداره، باید حسابشدهتر کار رو شروع کنیم. چند نمونه:
- اگه ساعتها دارین فکر میکنین که اگه کاناپه خونه رو نود درجه بچرخونین خوب میشه یا نه، بهتره که بیشتر از این وقت صرفش نکنین، بلکه کاناپه رو بچرخونین و چند روزی ازش تو حالت جدید استفاده کنین تا ببینین خوشتون میاد یا نه. اگه خوشتون نیاد، برمیگردونینش به جای اولش، بدون اینکه به مشکلی بر بخورین.
- اگه ماههاس دارین به این فکر میکنین که رنگ دیواری رو تو خونه عوض کنین، میشه بیشتر از این فکر نکنین و برین یه قوطی رنگ بگیرین و رنگش کنین. یه مدت که گذشت، اگه خوشتون نیاد میتونین برگردونینش به رنگ قبلی. تو این فرآیند یه مقدار زمان از دست میدین برای نقاشی دیوار و کمی هم هزینه میکنین برای خرید رنگ، در نتیجه بیشتر از مثال قبل باید بهش فکر کرد، ولی باز هم نه خیلی زیاد.
- اگه دارین فکر میکنین یه دیوار رو تو خونه یه متر جابجا کنین، یعنی دیوار قبلی رو خراب کنین و دیواری تو محل جدید بسازین، اصولا ماجرا بازگشتپذیره، ولی هزینه و دردسرش خیلی زیاده. به همین خاطر خیلی بیشتر از مثالهای قبل باید بهش فکر کرد.
- اگه مدتهاست دارین فکر میکنین که مدیریت پروژه یا برنامهریزی و کنترل پروژه رو دوست ندارین و ترجیح میدین به جاش، مثلا، برنامهنویس بشین، شاید بهتر باشه به جای اینکه همین الان استعفا بدین، سعی کنین فشار کارتون رو تا جایی که میشه کم کنین و در کنارش به طور آزاد پروژههای برنامهنویسی بگیرین. مدتی اینطوری کار کنین تا ببینین واقعا ترجیحش میدین یا نه و اگه همه چیز مثبت بود، اون موقع دنبال شغل برنامهنویسی بگردین و بعد از پیدا کردنش از کار قبلی استعفا بدین. تو این مورد بهتره دست به عصا راه رفت، چون هزینه پا گذاشتن تو این مسیر خیلی زیاده.
- اگه تو کار از کسی خیلی عصبانی شدین، اون ایمیل طولانی که براش نوشتین رو بلافاصله نفرستین. بذارین بمونه و سه چهار روز دیگه بیاین بخونینش: اگه هنوز هم به نظرتون مناسب بود، اون موقع بفرستینش.
روش
جاهایی که آدمها به این فکر میکنن که دل به دریا بزنن یا نزنن، چه فردی و چه سازمانی، معمولا موضوع یه طرحه و نه یه پروژه، هرچند که ممکنه به اشتباه اون رو پروژه در نظر بگیرن.
روشی که P4.express برای برنامهریزی و طراحی اولیه طرح داره اینطوریه:
- هیچ طرحی نباید اجرا بشه مگر اینکه حداقل یه سناریوی واقعبینانه داشته باشه.
- ترجیحا، میخوایم بیشتر از یه سناریو داشته باشیم که اگه لازم شد بتونیم وسط کار مسیر رو عوض کنیم.
- تو P4.express، «سناریو» به چیزی گفته میشه که این دو عنصر رو تو خودش جا میده:
- راه حلی جامع: هر چیزی که بتونه روی نتیجه نهایی اثر بذاره و به طور واقعبینانه بتونیم کنترلش کنیم باید تو راه حل گنجونده بشه تا اون رو «جامع» کنه. این راه حل هم شامل دستیابی به نتیجه دلخواه میشه و هم پایدارسازی اون نتیجه.
- پیشفرضهامون و واکنشی که فکر میکنیم محیط به اون راه حل نشون میده: اینکه یه راهحل واقعا در عمل کار میکنه یا نه برمیگرده به تعاملش با محیط و این تعامل پیچیدس و پیشبینیش خیلی مشکل. از این رو باید اون تصوری که از این تعامل داریم رو همراه با راهحل مستند کنیم و دربارهش هشیار باشیم.
- راهحلها تو P4.express طراحی نمیشن، بلکه ایدهپردازی میشن. ایدهپردازی کلان و خلاقانهس. پروژههایی که تو هر طرح اجرا میشن، هرکدوم بخشی از راهحل رو به تفصیل طراحی میکنن.
برگردیم به مثال تغییر شغل که یه کم پیش زده بودم. مثالها پیشفرض زیاد دارن؛ مثلا اگه شرایط کاریتون انقدر بد باشه که به سرعت در حال از بین بردن سلامت روانیتون باشه، نباید اون اندازهای که تو مثال گفته شده بود صبر کنین و شاید بهتر باشه بلافاصله استعفا بدین. تو این حالت، واکنش بلافاصلهس، ولی الزاما به معنی دل به دریا زدن نیست، چون ممکنه پشتش یه سناریو باشه. اینکه بدونیم ادامه دادن مسیر سلامت روانی رو از بین میبره به طور خودکار به این معنی نیست که باید استعفا بدیم، بلکه باید بتونیم حداقل یه سناریو بسازیم که توش با بلافاصله استعفا دادن و چیزهای دیگهای که در ادامهش میاد به نتیجه بهتری برسیم. مثلا، اگه همه سناریوها این باشن که با استعفا دادن هم سلامت روانیمون رو از دست میدیم و هم درآمدمون رو، کار بهتر اینه که همون کار رو ادامه بدیم که حداقل درآمدمون رو از دست نداده باشیم، تا وقتی که بتونیم گزینههای بهتری پیدا کنیم.
یه سناریوی دیگه برای همون مثال:
من به اندازه کافی پسانداز دارم که بتونم تا یه سال بدون درآمد زندگی کنم. برای همین بلافاصله استعفا میدم و شروع میکنم به جستجوی کار جدید. اینطوری تو روزمرگی گم نمیشم و خودم رو مجبور میکنم که این تغییر مثبت رو تو زندگیم بدم. همه تمرکزم میشه پیدا کردن کار جدید و بعد از پیدا کردنش هم میشه تمرکز روی خوب کار کردن و موفق بودن.
تو فاصلهای که دنبال کار جدید هستم، تو لینکدین و جاهای دیگه تو بحثهای مربوط به برنامهنویسی مشارکت میکنم که هم چیزهای بیشتری یاد بگیرم و هم شاید ارتباطهای خوبی شکل بدم.
اگه تا ۹ ماه به این ترتیب پیش برم و نتونم کار برنامهنویسی پیدا کنم، برمیگردم به شغل قبلیم. فکر میکنم تو ۳ ماه باقیموندهش بتونم کار جدیدی تو حوزه برنامهریزی و کنترل پروژه پیدا کنم، چون این سالها شبکه خیلی بزرگی ساختم و تجربه کاریم هم بد نبوده.
در نهایت، اگه تو ۳ ماه نتونم کار پیدا کنم، که البته خیلی بعیده، میتونم از فلانی پول قرض کنم و تا ۳ ماه دیگه با اون پول زندگی کنم تا کار جدید پیدا بشه. دیگه واقعا بعیده که بعد از ۶ ماه جستجو هم نتونم کار پیدا کنم!
فرد تو این سناریو بلافاصله استعفا میده، در حالی که هیچ کار جایگزینی نداره و فقط رویایی داره برای تغییر شغل. این چیزیه که به نظر خیلیا ممکنه دل به دریا زدن بیاد، ولی با اون چیزی که معمولا بهش میگیم دل به دریا زدن، که توش برنامهریزی اولیهای وجود نداره و همه چیز رو به دست سرنوشت میسپریم، فرق داره، چون طرف یه سناریوی کامل داره. تو این مثال حداقلهای طرح از نظر P4.express وجود دارن، ولی شاید بشه بهترش هم کرد؛ مثلا، مهمترین چیزی که میتونه بهترش کنه اینه که بیشتر از یه سناریو براش تهیه کنیم.
ریشهیابی
ایده دل به دریا زدن تو بستر طرح و پروژه، به معنی چشمپوشی از برنامهریزی اولیه و شروع بلافاصله کار به این امید که مسیر درست در زمان اجرا پیدا میشه، عمدتا بین افراطیهای دنیای چابک شکل گرفته؛ کسایی که اعتقاد دارن هر نوع برنامهریزی و طراحی اولیه بده.
این ایده حتی تو دنیای چابک هم درست نیست؛ مثلا، DSDM، که یکی از روشهای چابک قدیمیه، به وضوح توضیح میده که «برنامهریزی اولیه زیاد از حد» و «نبود برنامهریزی اولیه» هردو خطرناکن و پروژه چابک نیاز به «حدی کافی از برنامهریزی اولیه» داره.
در عمل، ایدههایی عجیب، مثل دل به دریا زدن، عمدتا تو فضای ایدئولوژیک و فرقهای اسکرام به وجود اومد که با تبلیغ ایده دشمن خارجی سعی میکردن بخش بزرگتری از بازار رو چنگ بیارن و باعث شده بود که هر هنجاری که تو دنیای مدیریت پروژه وجود داره رو زیر سوال ببرن، از جمله برنامهریزی و طراحی اولیه. البته بگذریم که اسکرام خودش هم برنامهریزی اولیه داره.
چابکی خیلی وقته که تازگیش رو از دست داده و کسایی که دنبال تب و تاب هست الان همه توجهشون رفته به هوش مصنوعی و در نتیجه تب و تاب چابکی از بین رفته. با این حال، اون زمانی که تب و تابش هنوز وجود داشت، این حس کلی به وجود اومده بود که هر ایدهای که تو دنیای چابک به وجود اومده «باحاله» و ایدههای مخالفش حوصله سربر و ناکارآمد. اون حس بعد از مرگ تب و تاب چابکی کامل از بین نرفته و هنوز کسای زیادی هستن که ادعاهای رایج چابک رو بازگویی میکنن چون به نظرشون «باحال» میان، بدون اینکه فکر کنن واقعا چه معنیای میدن. این در حالیه که هر آدمی تجربههای زیادی داره که بهش نشون میدن دل به دریا زدن در حالت کلیش کار خوبی نیست.
درخواستم اینه که کلیشههایی که اطرافتون هست رو به طور خودکار تکرار نکنین، حتی اگه خیلی به نظر «باحال» میان. در اونها دقیق بشین و تحلیلشون کنین و فقط در صورتی تبلیغشون کنین که واقعا مطمئن باشین توصیههای خوبی هستن.