پروڈکشن میں نظام کی بندش (outage) اکثر ان پروجیکٹ فیصلوں کا نتیجہ ہوتی ہے جو سسٹم پر حقیقی بوجھ پڑنے سے پہلے تو مناسب معلوم ہوتے تھے۔ SLOs (سروس لیول کے اہداف) کا پورا نہ ہونا لانچ کے بعد سامنے آتا ہے کیونکہ انٹیگریشن (انضمام) میں تاخیر ہوئی، انحصار (dependencies) کو محض مفروضوں پر مبنی سمجھا گیا، اور کسی نے بھی ‘اینڈ ٹو اینڈ’ (شروع سے آخر تک) کارکردگی کی مکمل ذمہ داری نہیں لی۔
جب ذمہ داری (ownership) واضح نہ ہو تو عمل درآمد کا خطرہ بڑھ جاتا ہے۔ ایک ٹیم سروس کا v1 جاری کرتی ہے، دوسری ‘آن کال’ (on-call) کی ذمہ دار ہوتی ہے، اور تیسری اپ اسٹریم اسکیمہ (upstream schema) کو کنٹرول کرتی ہے؛ نتیجتاً، ایک معمولی تبدیلی جائزے (review) سے بچ کر نکل جاتی ہے اور ‘ری ٹرائز’ (دوبارہ کوششوں)، قطار (queue) میں اضافے، اور ‘کیسکیڈنگ لیٹنسی’ (ایک کے بعد دوسرے میں تاخیر کا سلسلہ) کا باعث بنتی ہے۔ پروجیکٹ نے فیچرز تو فراہم کر دیے، لیکن ڈیلیوری کا نظام ناکامی کے دائرہ کار (failure boundary) کو کنٹرول کرنے میں ناکام رہا۔
ڈیلیوری کا منصوبہ تب بہترین کام کرتا ہے جب وہ ایک چھوٹے آرکیٹیکچر ڈایاگرام کی طرح ہو۔ یہ پروڈکٹ کے ہدف کو تکنیکی دائرہ کار (scope) سے جوڑتا ہے، ذمہ داری تفویض کرتا ہے، اور بیرونی انحصار (dependencies) کو واضح کرتا ہے تاکہ انٹیگریشن اتنی جلدی ہو سکے کہ ضرورت پڑنے پر سمت تبدیل کی جا سکے۔
اس ڈایاگرام کا استعمال کرتے ہوئے یہ نشاندہی کریں کہ کہاں فیصلے کرنے کی ضرورت ہے اور کہاں ثبوت (evidence) فراہم کرنا ضروری ہے۔ یہ ثبوت عام طور پر ایک ‘چیک پوائنٹ’ ہوتا ہے، جیسے کہ لوڈ ٹیسٹ کا نتیجہ، کنٹریکٹ ٹیسٹ کا کامیاب ہونا، یا انحصار کی تیاری کی منظوری (sign-off) جس کے بغیر اگلا مرحلہ (promotion) ممکن نہ ہو۔
ڈایاگرام کا جائزہ لیں تاکہ یہ سمجھ سکیں کہ ہدف، دائرہ کار، ٹیم کی ذمہ داری، انحصار اور چیک پوائنٹس آپس میں کس طرح جڑے ہوئے ہیں۔
یہ خاکہ ڈیلیوری کے نظام کو نمایاں کرتا ہے اور دکھاتا ہے کہ کون سا جزو (component) اگلے جزو کے لیے آؤٹ پٹ تیار کرتا ہے۔ جب کسی انحصار والے نوڈ (dependency node) کا کوئی ذمہ دار نہ ہو یا انٹیگریشن (انضمام) سے پہلے کوئی چیک پوائنٹ موجود نہ ہو، تو خطرہ ایک معلوم مرحلے سے نکل کر رول آؤٹ (نفاذ) کے دوران دیر سے دریافت ہونے والے مسئلے کی شکل اختیار کر لیتا ہے۔
جب آپ ان عوامل کی نشاندہی کر لیں اور نظام پر پڑنے والے اثرات کا اندازہ لگا لیں، تو مختلف آپشنز کے درمیان توازن قائم کرنا (tradeoffs) آسان ہو جاتا ہے۔ اسکوپ (Scope) کام کی مقدار کو تبدیل کرتا ہے، وقت (Time) اس بات کا تعین کرتا ہے کہ آپ کتنی غیر یقینی صورتحال کو ختم کر سکتے ہیں، معیار (Quality) نقائص کے بچ نکلنے کی شرح (defect escape rate) کو متاثر کرتا ہے، خطرہ (Risk) اس بات کا تعین کرتا ہے کہ آپ کتنے تغیر (variability) کو قبول کرتے ہیں، اور تکنیکی قرض (Technical debt) اس بات کا تعین کرتا ہے کہ آپ مستقبل کے کام کی کتنی ادائیگی پہلے کر دیتے ہیں یا اسے مؤخر کرتے ہیں۔
ایک مفید اصول یہ ہے کہ کسی بھی عامل (lever) میں کی جانے والی تبدیلی کا اثر کم از کم ان نتائج میں سے کسی ایک میں ضرور ظاہر ہونا چاہیے:
جدول میں عوامل کی تبدیلیوں اور ان کے متوقع نتائج کا موازنہ کریں۔