فرهنگ دوآپس

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