دو در یک جعبه (اگر می توانید) و همه در اسناد (همیشه).
در زمینه فناوری اطلاعات، "دو در یک جعبه" به دو سرور یا مؤلفه ای اشاره دارد که برای کار با هم طراحی شده اند تا افزونگی و قابلیت اطمینان را افزایش دهند. این راهاندازی میتواند تضمین کند که اگر یکی از مؤلفهها از کار بیفتد، دیگری عملیات آن را بر عهده میگیرد و در نتیجه تداوم سرویس را حفظ میکند. هدف از داشتن "دو در یک جعبه" ارائه دسترسی بالا و بازیابی بلایا است. این همچنین در مورد نقش های انسانی در یک سازمان صدق می کند. با این حال، به ندرت اجرا می شود.
بیایید به یک مثال مربوط به Analytics نگاه کنیم. همه ما به احتمال زیاد فردی را در شرکت یا سازمان خود به نام می شناسیم که فرد مورد علاقه برای Analytics است. آنها کسانی هستند که گزارش ها یا داشبوردهایی به نام خود دارند - گزارش مایک یا داشبورد جین. مطمئناً، افراد دیگری نیز وجود دارند که تجزیه و تحلیل می دانند، اما اینها قهرمانان واقعی هستند که به نظر می رسد می دانند چگونه سخت ترین کارها را انجام دهند و در ضرب الاجل ها بیش از حد به نتیجه برسند. مسئله این است که این افراد به تنهایی ایستاده اند. در بسیاری از موارد تحت فشار، آنها با کسی کار نمی کنند زیرا ممکن است سرعت آنها را کاهش دهد و مشکل از اینجا شروع می شود. ما هرگز فکر نمی کنیم که این شخص را از دست بدهیم. من از معمولی «بگذریم اتوبوس ضربه می خورند» یا استفاده از مثالی که از فرصت های فعلی بازار کار استفاده می کند و چیز مثبتی مانند «آنها در قرعه کشی بردند!» استفاده می کنم، خودداری می کنم، زیرا همه ما باید سهم خود را برای مثبت بودن انجام دهیم. این روزها.
داستان
صبح دوشنبه فرا می رسد و کارشناس تحلیل و قهرمان MJ ما استعفای خود را ارائه کرده است. MJ در قرعه کشی برنده شد و قبلاً کشور را بدون مراقبت در جهان ترک کرده است. تیم و افرادی که MJ را می شناسند هیجان زده و حسادت می کنند، اما کار باید انجام شود. اکنون زمانی است که ارزش و واقعیت کاری که ام جی انجام می داد درک می شود. MJ مسئول انتشار نهایی و اعتبار سنجی تجزیه و تحلیل ها بود. به نظر می رسید آنها همیشه قادر به بهبود کارایی یا ایجاد آن تغییر دشوار قبل از ارائه تجزیه و تحلیل به همه هستند. هیچ کس واقعاً اهمیت نمی داد که چگونه انجام می شود و از این واقعیت که این اتفاق افتاده بود مطمئن بود، و MJ یک ستاره راک فردی آنالیتیکس بود بنابراین سطحی از خودمختاری اعطا شد. اکنون که تیم شروع به برداشتن قطعات، درخواستها، مسائل روزانه، درخواستهای اصلاح میکند، از دست میدهند و شروع به تقلا میکنند. گزارش ها / داشبوردها در حالت های ناشناخته یافت می شوند. برخی از دارایی ها در آخر هفته به روز نشدند، و ما نمی دانیم چرا. مردم میپرسند چه اتفاقی میافتد و چه زمانی همه چیز درست میشود، ویرایشهایی که MJ گفت انجام شده نشان داده نمیشوند و ما نمیدانیم چرا. تیم بد به نظر می رسد. این یک فاجعه است و اکنون همه ما از MJ متنفریم.
درس ها
چند برداشت آسان و واضح وجود دارد.
- هرگز اجازه ندهید فردی به تنهایی کار کند. خوب به نظر می رسد، اما در تیم های چابک کوچکتر، ما زمان یا افرادی برای انجام این کار نداریم. مردم می آیند و می روند، وظایف زیاد است، بنابراین به نام بهره وری تقسیم و تسخیر است.
- همه باید دانش خود را به اشتراک بگذارند. همچنین خوب به نظر می رسد، اما آیا ما با فرد یا افراد مناسب به اشتراک می گذاریم؟ به خاطر داشته باشید که بسیاری از برندگان قرعه کشی همکاران هستند. انجام جلسات اشتراک دانش نیز زمان زیادی را از کارها می گیرد و بیشتر افراد فقط در زمان مورد نیاز بر روی مهارت ها و دانش سرمایه گذاری می کنند.
بنابراین، چه راه حل های واقعی وجود دارد که همه می توانند آنها را اجرا کنند و پشت سر بگذارند؟
بیایید با Configuration Management شروع کنیم. ما از این به عنوان اصطلاح چتر برای چندین موضوع مشابه استفاده خواهیم کرد.
- مدیریت تغییر: فرآیند برنامه ریزی، پیاده سازی و کنترل تغییرات سیستم های نرم افزاری به صورت ساختاریافته و سیستماتیک. هدف این فرآیند تضمین این است که تغییرات به شیوه ای کنترل شده و کارآمد (با قابلیت بازگرداندن)، با حداقل اختلال در سیستم موجود و حداکثر سود برای سازمان انجام می شود.
- مدیریت پروژه: برنامه ریزی، سازماندهی و کنترل پروژه های توسعه نرم افزار برای اطمینان از تکمیل به موقع، در حد بودجه و استانداردهای کیفی مطلوب. این شامل هماهنگی منابع، فعالیت ها و وظایف در طول چرخه عمر توسعه نرم افزار برای دستیابی به اهداف پروژه و ارائه محصول نرم افزار در برنامه است.
- یکپارچه سازی مداوم و تحویل مداوم (CI/CD): فرآیند خودکارسازی ساختمان، آزمایش و استقرار نرم افزار. ادغام مداوم مستلزم ادغام منظم تغییرات کد در یک مخزن مشترک و اجرای آزمایشهای خودکار برای شناسایی خطاها در مراحل اولیه توسعه است. تحویل / استقرار مداوم شامل انتشار خودکار تغییرات کد آزمایش شده و تأیید شده در تولید است که امکان انتشار سریع و مکرر ویژگیها و بهبودهای جدید را فراهم میکند.
- کنترل نسخه: فرآیند مدیریت تغییرات در کد منبع و سایر مصنوعات نرم افزار در طول زمان با استفاده از ابزارهای نرم افزاری تخصصی. این به توسعه دهندگان اجازه می دهد تا در یک پایگاه کد با یکدیگر همکاری کنند، تاریخچه کاملی از تغییرات را حفظ کنند و ویژگی های جدید را بدون تأثیر بر پایه کد اصلی آزمایش کنند.
همه موارد فوق به شیوه های خوب توسعه نرم افزار اشاره دارد. تجزیه و تحلیلهایی که کسبوکار را هدایت میکنند و راهاندازی میکنند، ارزش کمتری ندارند، زیرا برای تصمیمگیری ماموریتی حیاتی دارند. همه داراییهای تحلیلی (شغلهای ETL، تعاریف معنایی، تعاریف معیارها، گزارشها، داشبورد، داستانها و غیره) فقط تکههای کد با رابط بصری برای طراحی هستند و تغییرات به ظاهر جزئی میتوانند عملیات را خراب کنند.
استفاده از مدیریت پیکربندی به ما کمک می کند تا در حالت خوب کار کنیم. داراییها نسخهبندی شدهاند تا بتوانیم ببینیم در طول عمر آنها چه اتفاقی افتاده است، میدانیم که چه کسی روی چه چیزی کار میکند همراه با پیشرفت انجام شده و جدول زمانی، و میدانیم که تولید ادامه خواهد داشت. آنچه تحت هیچ فرآیند خالصی قرار نمی گیرد، انتقال دانش و درک این موضوع است که چرا چیزها به این شکل هستند.
هر سیستم، پایگاه داده و ابزار تجزیه و تحلیل ویژگی های خاص خود را دارد. چیزهایی که باعث می شود آنها سریع یا آهسته پیش بروند، مواردی که باعث می شود رفتار خاصی داشته باشند یا نتیجه دلخواه را ایجاد کنند. اینها میتوانند تنظیماتی در سطح سیستم یا جهانی یا چیزهایی در طراحی دارایی باشند که باعث میشوند آنطور که باید اجرا شوند. مشکل این است که بیشتر این چیزها در طول زمان آموخته می شوند و همیشه جایی برای مستندسازی آنها وجود ندارد. حتی زمانی که به سمت سیستمهای ابری حرکت میکنیم، جایی که دیگر کنترلی بر نحوه اجرای برنامه نداریم و به تأمینکننده برای سریعترین سرعت ممکن تکیه میکنیم، تغییر تعاریف در داراییهای ما ادامه مییابد تا دقیقاً همان چیزی را که به دنبال آن هستیم باز کند. این دانش همان چیزی است که باید با در دسترس قرار دادن آن در اختیار دیگران قرار گیرد و به اشتراک گذاشته شود. این دانش باید به عنوان بخشی از مستندات دارایی ها مورد نیاز باشد و بخشی جدایی ناپذیر از کنترل نسخه و بررسی CI/CD و فرآیند تأیید باشد و در برخی موارد حتی به عنوان بخشی از چک لیست قبل از انتشار کارهایی که باید انجام شود و انجام نمی شود. انجام دادن.
هیچ پاسخ جادویی یا هوش مصنوعی برای پوشاندن میانبرها در فرآیندهای تحلیلی ما یا کمبود آن وجود ندارد. صرف نظر از اندازه تیمی که دادهها و تجزیه و تحلیلها را در جریان نگه میدارد، سرمایهگذاری در یک سیستم برای ردیابی تغییرات، نسخهبندی همه داراییها و کمک به مستندسازی فرآیند توسعه و جذب دانش ضروری است. سرمایهگذاری در فرآیندها و زمان قبلی باعث صرفهجویی در زمان تلفشده بعداً برای حفظ وضعیت سالم تجزیه و تحلیل ما میشود. همه چیز اتفاق می افتد و بهترین کار این است که یک بیمه نامه برای MJ و سایر برندگان قرعه کشی داشته باشید.