مدیریت دانش پروژههای نرمافزاری برونسپاری شده
شرکت مایکروسافت که از برترین شرکتهای حوزه نرمافزار در آمریکا و جهان به شمار میرود در خصوص مدیریت دانش در حوزهی توسعه و نگهداری نرمافزار اقداماتی را صورت داده که تحول این حوزه با بهروزرسانیهای جدید نرمافزار TFVC به نسخه AzureDevOps 2020 بوده است. در ادامه این مطلب به معرفی بیشتر این ابزار میپردازیم.
فرآیند توسعه نرمافزار که از اواسط قرن 19 شروعشده، همواره با مشکلات عدیدهای از قبیل تغییر نیازمندیهای مشتری، مدیریت زمانبندی پروژه، هزینههای پروژه، نیروی انسانی و غیره مواجه بوده و این مشکلات آغازی بر ارائه راهحلهای متناسب با خود بودند که در حوزه ابزارهایی توسعه و پیادهسازی شدهاند. بهطور مثال در سالهای اخیر و در خصوص تغییر نیازمندیهای مشتری و مدیریت زمانبندی راهکارهای چابک ارائهشده است.
برونسپاری به واگذاری انجام فرایندها یا فعالیتهای داخلی یک کسبوکار به یک تأمینکننده خارجی تحت قرارداد مشخص اطلاق میشود. به بیان دیگر هنگامیکه یک سازمان برخی از فعالیتها یا فرایندهای کسبوکار خود را به عرضهکنندهای در بیرون از شرکت یا سازمان خود بسپارد این عمل را برونسپاری مینامند. در بسیاری موارد در برونسپاری، حق تصمیمگیری و عوامل تولید هم به سازمان دیگر واگذار میشود. بهعنوانمثال خدمات مربوط به پروژههای نرمافزاری و فناوری اطلاعات، شبکه و ارتباطات از راه دور، امنیت و غیره را ازجمله مواردی هستندکه توسط بسیاری از سازمانها برونسپاری میشوند. دلایل برونسپاری غالباً عبارتاند از:
فرایند برونسپاری علاوه بر مزایایی که دارد در برخی مواقع با چالشهایی نیز همراه است. بهعنوانمثال مشکلات مرتبط باکیفیت و امنیت خدمات برونسپاری شده و یا از دست دادن کنترل مدیریتی ازجمله این موارد است؛ اما در بیشتر موارد ذکرشده نامی از مشکلات ناشی از عدم مدیریت دستاوردهای دانشی قید نشده است. جالب است بدانید که در بیشتر پروژههایی که شرکتهای کوچک و بزرگ برونسپاری میکنند، خروجیها و نتایج پروژه بهصورت سی دی سورس در اختیار مشتری قرار میگیرد. شاید با نگاه سادهانگارانه بگوییم که این کار مشکلی ندارد، اما آیا واقعاً مشکلی در این خصوص وجود ندارد؟
بهطورکلی توسعه نرمافزار شامل 5 مرحله نیازمندی، تحلیل، توسعه، تست و نگهداری است. مبحثی که شاید در شرکتهای نرمافزاری کشور ما در بیشتر مواقع وجود نداشته و یا نهایتاً ناقص پیادهسازی میشود. در این فرایند پنج مرحلهای، مستندسازی درسآموخته ها اهمیت بسیار زیادی دارد و اما در دو مرحله تست و نگهداری، مدیریت دانش نمود بیشتری پیدا میکند و کمک شایانی به تیم توسعه و مشتری نهایی میکند. بهطور مثال درصورتیکه شما از نحوه مطرحشدن نیازمندی و تحلیلهای قبلی سوابقی در دست نداشته باشید دیگر علت توسعه و یا فرایند تست را از دست میدهید و در مرحله نگهداری با مشکلات عدیدهای روبرو خواهید بود.
مدیریت تجربیاتی که در طول فرآیند توسعه نرم به دست میآید تا چند دهه اخیر چندان موردتوجه واقع نمیشد تا اینکه شرکتها به اهمیت این موضوع پی بردند و نرمافزارهایی جهت مدیریت سورس کد نظیر Git و TFVC تهیه و مورداستفاده قرار گرفت. در چند سال اخیر نیز نرمافزار AzureDevOps برای فرایند توسعه نرمافزار معرفیشده است که بیشتر در حوزههای مدیریتی به سازمان کمک میکند. همانطور که در قبل نیز ذکر شد دلیل اصلی استفاده از این ابزارها، مدیریت نیازمندیهای مشتری، زمانبندی پروژه، هزینههای پروژه، نیروی انسانی و غیره بود که کمک بسیار زیادی به سازمانها میکند.
شاید برای شما هم اتفاق افتاده است! نرمافزاری را که شرکت شما توسعه و به فروش میرساند را شرکت دیگر خریداری میکند؛ مثل خرید ۷.۵ میلیاردی گیتهاب توسط مایکروسافت. فرض کنید پروژه نرمافزاری با رویکرد برونسپاری به شرکت شما سپرده شده و در مدت مقرر آن را انجام دادهاید. احتمالاً تنها کاری که لازم است پس از طی شدن مراحل مالی وحقوقی انجام شود، رایت یک سی دی و تحویل سورس به مشتری باشد، اما این همان مشکل و ایراد اساسی است که تبعات آن در نظر گرفته نشده است. شاید بتوان گفت که شرکت خریدار نرمافزار تنها مبلغی بابت خرید سورس کد به شما پرداخت کرده است و هزینه توسعه و به دست آوردن دانش تیم شما را در آینده پرداخت خواهد کرد. به سناریوهای زیر توجه نمایید:
به لیست بالا دهها سؤال دیگر نیز میتوان افزود و اینها تنها مشکلات کوچکی هستند که با رایت یک سی دی به وجود آمدهاند.
بهطورکلی شرکتها، مخصوصاً شرکتهای نرمافزار تمرکز بسیار زیادی بر مدیریت منابع انسانی و کاهش هزینههای پروژهها و مدیریت دستاوردهای آن دارند. بر این اساس تمایل دارند تا ابزارهایی که به تحقق این اهداف کمک میکنند را به کار بگیرند. یکی از این ابزار AzureDevOps است که بر پایهی ساختارهای مدیریت پروژههای نرمافزار بهصورت چابک بنیان نهاده شده است. این ابزار مشکلاتی که مشتریان با آن دستوپنجه نرم میکنند را تا حدود بسیار زیادی برطرف کرده است. مواردی از قبیل صرفهجویی در هزینهها، بهبود کیفیت، مدیریت دانش فرآیند توسعه نرمافزار ازجمله ویژگیهای این نرم افزار است.
شرکتهای بسیاری با استفاده از این ساختار و یا نرمافزارهای مشابه، خروجیهای موردنیاز مشتریان را با سرعت بسیار زیاد ارائه میکنند. بهعنوانمثال میتوانید با جستجوی ساده در گوگل مدتزمان خروجیهای شرکتهایی نظر آمازون، فیس بوک، ماکروسافت در مواجهه با نیازهای مشتریان و پیشرفت در حوزههای جدید را بررسی نمایید. ابزارAzure DevOps در سال 2005 ارائه شد و جدیدترین نسخه آن در سال جاری ارائه شده است، شما میتوانید از این ابزار به دو صورت سرویس آنلاین و نسخه نصب شده بر روی سرور داخلی استفاده کنید. این ابزار امکان ارتباط با سایر ابزارهای این حوزه نظیر مثل گیت لب و اطلسیان را نیز تا حدودی داراست. شما در این نرمافزار از شروع فرآیند توسعه تا تحویل اتوماتیک در محیط مشتری، اطلاعات تاریخچهها (wiki) و زمانبندی و توسعه کارها (Board & Repository) و تحویل (Pipeline) را مدیریت میکنید.
حال به مثالی که مطرحشده بازگردیم. با فرض اینکه شرکت شما از ابزارهایی نظیر این نرمافزار استفادهکند، تنها کاری که لازم است قبل از تحویل پروژه به مشتری صورت پذیرد، گرفتن نسخه پشتیانی از سرورAzure و رایت همان سیدی است، با این تفاوت که کپی تمامی کارها، باگها و اطلاعات موردنیاز را نیز به مشتری تحویل میدهید.
برای مطالعه مطالب تخصصی مدیریت دانش گروه مشاوره مدیریت داش دانا را دنبال کنید.
ما را در شبکههای اجتماعی لینکدین، تلگرام و اینستاگرام دنبال کنید.
#مدیریت_دانش #پویا منادی #گروه_مشاوره_مدیریت_دانش_دانا #مشاوره_مدیریت_دانش #مشاور_مدیریت_دانش # شرکت_مشاور_مدیریت_دانش #شرکت_مشاوره_مدیریت_دانش #پیاده_سازی_مدیریت_دانش #استقرار_مدیریت_دانش #آموزش_مدیریت_دانش # موفقیت در پیاده سازی مدیریت دانش # نرم افزار مدیریت دانش# گروه مشاور مدیریت دانش # اپلیکیشن مدیریت دانش #مدیریت دانش پروژههای نرمافزاری برونسپاری شده