فرض کنید یک شرکت نرمافزاری با ۵ الی ۱۰ برنامهنویس وجود دارد که ۱- قصد کار کردن با یک تکنولوژی جدید مثل ASP.NET MVC یا NHibernate را دارد یا ۲- میخواهد از ابزاری مثل Git برای سورس کنترل استفاده کند یا ۳- قصد بهبود شبکه داخلی خودش را دارد و میخواهد مثلاً پهنای باند اینترنتی را به نحو مقتضی بین کامپیوترها تقسیم کند. یا این که ۴- جدیداً مشکلات حادی با MS SQL Server پیدا کرده و میخواهد مسائلی مثل حجم خیلی زیاد دیتابیس، collation و ایندکسگذاری را در آن حل کند یا ۵- شرکت در محیط مشتریهایش مشکلات زیادی با فونت و حروف عربی-فارسی دارد و میخواهد این مشکل را یک بار برای همیشه با اعمال استانداردهای مرتبط حل کند یا ۷- شرکت میخواهد مسائل مشترکی را مثل اتصال به دستگاه کارتخوان، پرینت بارکد، تولید دیسکت بیمه، اتصال به نرمافزارهای جانبی مثل اکسل، Word و…، پرینت روی چک بانکهای مختلف، پیادهسازی پروتکل ECE و غیره را که بارها و بارها در شرکتهای مختلف حل شدهاند را حل کند یا این که ۸- شرکت حس میکند تیم برنامهنویسیاش در مسائلی مثل documentation یا test ضعف دارد و به نحوی میخواهد این مشکلات را کاهش دهد یا این که ۹- شرکت مشکل خاصی ندارد ولی میخواهد برای چند سال آیندهش برنامهریزی کرده و سمت و سوی تکنولوژیهای موجود را بداند.
حال سوال این است: آیا این کار درستی است که شرکت از یک نفر از نیروهایش بخواهد مشکل را حل کند بدون آن که تجربه زیادی در آن داشته باشد؟ یا این که بهتر است که از یک نیروی خارج شرکتی که آن کار را قبلاً چندین بار دیگر هم انجام داده بخواهد این کار را بکند؟ اگر فرض کنیم پرداخت هزینه آن شخص بیرون شرکت توسط شرکت قابل تحمل باشد و اگر فرض کنیم آن شخص در کارش واقعاً تخصصی داشته باشد چطور؟ آیا این بار نمیتوان با اطمینان بیشتری گفت برونسپاری خدمات تخصصی به آن شخص کار درستی است؟
جواب دادن به این سوالات نیازمند به فکر کردن به مسائل خیلی زیادی است. علاوه بر این لازم است سوالات زیادی مطرح شده و به آنها پاسخ مناسب داده شود. طبق معمول نظرات دیگر همکاران و نظرات مدیران شرکتها هم میتواند خیلی کارساز باشد. جرقه نوشتن این نوشته از مطلب «شبکه مجازی متخصصین و قوانین واقعی مورد نیاز» وبلاگ بهساد زده شد. این نوشته ادامه دارد…
Comments
برون سپاری به زعم محتوی در عمل باید با دقت انجام شود.
به نظر بنده طبق تجربه برون سپاری مسائل روتین و تکراری که فقط وقت از نیروهای داخلی میگیرد بسیار خوب بوده و در اکثر موارد جواب خوبی میدهد. و سازمان را سبک بالتر برای انجام کارهای حرفه ای تر میکند ولی در حوزه تخصصی به نظر بسیار پیچیده و در برخی موارد غیر قابل انجام است.
به نظر بنده تا آنجا که امکان دارد امور تکراری و روزمره از وظایف کارکنان سازمان باید کسر و برون سپاری گردد و امور تخصصی با استفاده از نظر مشاوران زبده و کارآمد به نیروهای تخصصی آموزش داده شود.و اجرا توسط خود افراد سازمان انجام شود.
تاکیداً نظر مشاوران زبده بسیار حائز اهمیت است زیرا یک سطر نوشته یک مشاور برابر است با ساعتها کار تحقیقاتی یک کارشناس داخل سازمانی و کلاس تخحصصی .
سمت و سویی که یک مشاور متخصص کارازموده به سازمان ارائه میدهد بسیار مفید و عملیاتی است.
برون سپاری در امور تخصصی در حوزه سخت افزار نیز بخوبی عمل میکند ولی در حوزه نرم افزاری چندان چنگی به دل نمیزند زیرا تا تیم نرم افزاری به سازمان و خواسته واقف شوند بخش عمده ای از زمان و منابع از دست رفته است در صورتیکه نیروهای داخلی شناخت کافی نسبت به مسئله را دارند .
اگر بخواهم جمع بندی کنم باید بگویم که چرخ را نباید از اول اختراع کرد و تلاش در پیدا کردن کوتاه ترین راه ممکن باید کرد. حال این میتواند از طریق مشاور، برونشسپاری نیروهای داخلی با آموزش و یا ترکیبی از اینها باشد مهم خط مشی و اهداف سازمان است که باید لحاظ شود.
آقای امیرلو، ممنون از نظر.
سلام
اگر برون سپاری نباشد همه ما مهندسای فریلنسر و حتی شاغل در شرکتهای خصوصی، باید کاسه و کوزهمان را جمع کنیم.
ممنون از مقالتون. برون سپاری در عین مفید بودن اما مشکلات بزرگ هم میتونه درست کنه. تصور بفرمایید نیرو و یا شرکتی که کار رو میگیره توانایی انجام کار نداشته باشه! واقعا معزلی که ما از نزدیک دیدیم خودمون
Author
بله. درسته. وقتی یک نفر که تخصص کافی ندارد انجام پروژه ای را قبول می کند، آخر و عاقبت آن پروژه معلوم نیست چه می شود! البته با مکانیزم های نمره دهی می توان مشکلات را کاهش داد