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