تجربه من ۵:‌ رویکرد استارتاپی در انجام کارها

در قسمت قبلی باهم بررسی کردیم که انجام تیمی کارها چه لذتی داره و انجام برخی کارها واقعا بدون تیم غیرممکنه. در این مطلب میخوام به این بپردازم که چطور یک کار یا پروژه رو به شکل استارتاپی باید جلو ببریم تا راحت تر و سریع تر انجام بشه.

چیزی که شاید قبل از اینکه توی استارتاپ کار کنم اصلا نداشتم انجام کارها با وسواس بهترین و کامل بودن بود که طبق قاعده مشهور

Everything is a tradeoff!

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

کار استارتاپی یعنی چی؟

خیلی از اوقات اینکه ما یک کاری رو با مدیریت زمان انجام بدیم کمک کننده است اما نه زمانی که نیاز داریم تا اون کار رو خیلی سریع تر پیش ببریم. رویکرد استارتاپی در انجام کارها یک اصطلاحه که به معنی انجام بخش مهم و با اولویت بیشتر کارها برای به نتیجه رسوندن سریع اون کار هست. نمیخوام وارد جزئیات متودهای انجام پروژه و ... بشم ولی این رویکرد ها در صنعت نرم افزار از فلسفه توسعه اجایل به وجود اومدند.

فلسفه سرعت: چرا همه اینقدر عجله دارن

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

 

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

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

رجوع کنید به کارهای نیمه تمامی که توی ذهن مون رسوب کردن و دارن خاک می خورن. ایده هایی که به ذهنمون رسیده ولی هیچ وقت اون وسواس و کامل گرایی نزاشته که بریم سریع تستش کنیم.

چطور انجامش بدیم؟

راستش خیلی ساده است. خودم طبق اندک تجربه‌ای که دارم این کار رو میکنم؛ اول میایم شاخصه های کلیدی مثلا برای یک نرم افزار فیچر های اصلی رو درمیارم و بعد با اولویت بندی اون ها رو پیاده میکنم. سعی میکنم طوری اون ها رو انتخاب کنیم که در کوتاه ترین زمان ممکن یک استراکچر کلی از مجسمه مون(همون کار) رو ارائه بدیم.

واقعا اگه این طوری انجام نشه خیلی درگیری اهمال کاری و تنبلی میکنه آدم رو.

بیایم چندتا مثال بزنیم:

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

یک مثال واضح در این زمینه قسمت ۸۵ رادیو کارنکن: داستان کارزار هست. توی این قسمت حامد بیدی میگه که تا سال ها سایت اصلی کارزار رو با کد های خام و نه به صورت داینامیک مدیریت میکرده. چیزی که شاید خیلی ها از جمله من تازه فهمیدیم که استارتاپ یعنی چی؟

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

مثال سوم) وقتی که توی یک شرکتی داریم کار میکنیم و تسک های متعددی در طول روز داریم ولی چطور تسک رو به ددلاین برسونیم؟ صد در صد باید یک استراکچر کلی ازش بسازیم و بعد با پیش نمایش خیلی سریع اون رو در جلسات اسپرینت ارائه بدیم تا هم بازخورد بگیریم و هم بتونیم خیلی سریع انجامش بدیم.

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

امیدوارم از این مطلب لذت کافی رو ببرید و براتون مفید بوده باشه. اگه نقد یا نظری دارید حتما توی کامنت ها بهم بگید.

شاد و سلامت باشید.

Image placeholder

رضا دهقانی

داستان از یک hello world! ساده شروع شد، وقتی که برای اولین بار یک برنامه ساده به زبان QBasic رو به کمک کتاب برنامه نویسی به زبان کیوبیسیک نوشته (در حال تکمیل) اجرا کردم. اون لحظه احساس وصف نشدنی ای داشتم؛ فکر میکردم مثل کریستف کلمب به یک قاره ناشناخته پا گذاشتم! از اون جا بود که مسیر زندگی من عوض شد ولی برای شرایط من بدون هیچ استادی به جز گوگل بزرگوار خودآموزی اون قدرها هم ساده نبود... .

همیشه اول بودن جذابه! اولین نظر این پست رو تو بزار :)