جب ہم نے KeepFlow شروع کیا تو ہمیں وہی انتخاب درپیش تھا جو ہر تکنیکی ٹیم کو ابتدا میں درپیش ہوتا ہے: گاہکوں کے لیے سافٹ ویئر بناؤ، یا ایسا سافٹ ویئر بناؤ جس کے مالک ہم خود ہوں۔ ایجنسی کا راستہ زیادہ محفوظ ہے۔ گاہک ڈیلیوری پر ادائیگی کرتے ہیں، آمدنی قابلِ پیش گوئی ہوتی ہے، اور جب کوئی پروجیکٹ روانہ ہو جاتا ہے تو وہ کسی اور کا مسئلہ بن جاتا ہے۔ ہم نے جان بوجھ کر مشکل تر راستہ چنا۔ KeepFlow جو بھی پروڈکٹ بناتا ہے، ہم اُس کے سرے سے سرے تک مالک ہوتے ہیں — ہم اسے بناتے ہیں، ہم اسے چلاتے ہیں، اور جب تک یہ موجود رہے ہم اس کے ہر فیصلے کے ساتھ جیتے ہیں۔
یہ کوئی برانڈنگ کا بیان نہیں۔ یہ اس بات کو بدل دیتا ہے کہ انجینئرنگ دراصل کیسے کام کرتی ہے، اُن طریقوں سے جنہیں پوری طرح سراہنے میں ہمیں کچھ وقت لگا۔ یہ وہ ہے جو ملکیت آپ کے بنانے کے انداز کے ساتھ کرتی ہے۔
جب رشتہ ڈیلیوری پر ختم نہیں ہوتا
گاہک کے کام کی امتیازی خصوصیت یہ ہے کہ اس کا ایک اختتام ہوتا ہے۔ آپ کسی پروجیکٹ کا دائرہ طے کرتے ہیں، اسے بناتے ہیں، اسے سونپ دیتے ہیں، اور رشتہ بند ہو جاتا ہے۔ اُس سافٹ ویئر کے ساتھ بعد میں جو بھی ہو — وہ بگز جو اصل بوجھ تلے ابھرتے ہیں، کارکردگی کی کھائیاں، وہ سکیورٹی پیچ جو کبھی لگایا ہی نہیں جاتا — اب وہ کسی اور کا ہے۔ آپ اگلے کنٹریکٹ کی طرف بڑھ چکے۔
اپنی پروڈکٹس کا مالک ہونا اختتام کو ہٹا دیتا ہے۔ کوئی سونپنا نہیں، کوئی ایسا لمحہ نہیں جہاں کوڈ آپ کا مسئلہ رہنا چھوڑ دے۔ یہ بوجھ لگتا ہے، اور کچھ دن ہوتا بھی ہے۔ مگر یہ سافٹ ویئر میں شارٹ کٹ کا سب سے بڑا واحد سرچشمہ بھی ہٹا دیتا ہے: یہ علم کہ نتائج بھگتنے والے آپ نہیں ہوں گے۔ جب کوئی خروج ہی نہ ہو تو کنارہ کاٹنا وقت بچانا نہیں — یہ خود کو سود پر ایک مسئلہ اُدھار دینا ہے، اور اسے واپس چکانے والے آپ ہی ہیں۔
ہر بگ آپ کا بگ ہے
سب سے فوری اثر جواب دہی پر پڑتا ہے، اور یہ تجریدی نہیں۔ KeepFlow پروڈکٹ کا ہر بگ ہمارا بگ ہے۔ کارکردگی کا ہر بگاڑ ہمارے اپنے اعداد میں نمودار ہوتا ہے۔ ہر جھنجھلایا ہوا صارف اُس کام پر ایک براہِ راست فیصلہ ہے جو ہم نے کیا۔ ٹکٹ سونپنے کو کوئی نہیں۔
یہ اُس دیوار کو ڈھا دیتا ہے جسے قائم رکھنے پر بیشتر سافٹ ویئر ادارے بے تحاشا توانائی خرچ کرتے ہیں — وہ دیوار جو سافٹ ویئر لکھنے والوں اور اسے چلانے والوں کے درمیان ہوتی ہے۔ KeepFlow میں یہ ایک ہی لوگ ہیں۔ جس انجینئر نے کوئی خصوصیت بنائی وہی اسے پروڈکشن میں دیکھتا ہے، تب جواب دیتا ہے جب رات تین بجے یہ پیج کرتی ہے، اور پڑھتا ہے کہ صارفین اس کے بارے میں کیا کہتے ہیں۔
یہ بندوبست ڈیزائن کے اعتبار سے تکلیف دہ ہے، اور یہی مقصود ہے۔ جب کوڈ روانہ کرنے والا شخص وہی ہو جسے وہ کوڈ جگاتا ہو، تو معیار کے گرد ترغیبات ایسی چیز نہیں رہتیں جنہیں آپ کو کسی طریقۂ کار سے نافذ کرنا پڑے۔ کوئی نہیں چاہتا کہ رات تین بجے اپنے ہی شارٹ کٹ کی خرابی ڈھونڈے۔ پہلی بار ہی درست بنانے کا دباؤ کام کی ساخت سے آتا ہے، کسی پالیسی دستاویز سے نہیں۔
عمر بھر کے لیے تعمیر، ڈیڈ لائن کے لیے نہیں
گاہک کے پروجیکٹ ڈیڈ لائنوں کے گرد منظم ہوتے ہیں۔ اپنی پروڈکٹس عمروں کے گرد منظم ہوتی ہیں، اور یہ فرق اُن تکنیکی فیصلوں تک پہنچ جاتا ہے جو سطح پر ایک جیسے لگتے ہیں مگر اُلٹ نکلتے ہیں۔
جب آپ کوئی ایسی چیز بنا رہے ہوں جسے آپ برسوں چلائیں گے، تو تقریباً ہر انتخاب کا حساب اُلٹ جاتا ہے:
- آپ شروع ہی سے آبزرویبیلٹی میں سرمایہ کاری کرتے ہیں، کیونکہ رات دو بجے ڈیش بورڈز کو تکنے والے آپ ہی ہوں گے، اور جس نظام کے اندر آپ دیکھ نہ سکیں وہ ایسا نظام ہے جسے آپ چلا نہیں سکتے۔
- آپ وہ ٹیسٹ لکھتے ہیں جنہیں ڈیڈ لائن تلے چھوڑ دینے کا لالچ ہوتا ہے، کیونکہ دو سال بعد اس کوڈ میں تبدیلیاں کرنے والے آپ ہی ہوں گے، بہت بعد میں جب آپ بھول چکے ہوں گے کہ یہ کیسے کام کرتا ہے۔
- آپ سنسنی خیز نئے فریم ورک کے بجائے بورنگ، آزمودہ ٹیکنالوجی چنتے ہیں، کیونکہ آپ اس فیصلے کو بہت لمبے عرصے تک برقرار رکھنے کے لیے دستخط کر رہے ہیں، اور نیا پن کی عادت ہے کہ جوش و خروش گزر جانے پر یہ ایک بوجھ میں بدل جاتا ہے۔
ان میں سے کوئی انتخاب آپ کو اس سہ ماہی میں تیز تر روانہ ہونے میں مدد نہیں دیتا۔ جیسے ہی آپ کا وقتی افق ہفتوں کے بجائے برسوں میں ناپا جائے، یہ سب واضح طور پر درست ہو جاتے ہیں۔ گاہک کا کام شاذ و نادر ہی انہیں انعام دیتا ہے، کیونکہ سودا کرنے والا شخص وہ نہیں جو قیمت ورثے میں پاتا ہے۔ ملکیت ان دونوں افراد کو ایک میں یکجا کر دیتی ہے۔
فیڈ بیک لوپ بند ہو جاتا ہے
ایک زیادہ لطیف فائدہ ہے جسے سمجھنے میں ہمیں زیادہ وقت لگا: جب آپ پروڈکٹ کے مالک ہوں تو صارف کے مسئلے اور اس کے حل کے درمیان کا حلقہ ڈرامائی طور پر مختصر ہو جاتا ہے، کیونکہ اُس کے بیچ میں کوئی کنٹریکٹ نہیں بیٹھا ہوتا۔
ایجنسی کے کام میں، اپنے صارفین کے بارے میں کچھ سیکھنا اکثر ایک مذاکرے کا آغاز ہوتا ہے۔ آپ کسی رکاوٹ کی جگہ کو محسوس کرتے ہیں، مگر اس پر عمل کا مطلب ہے ایک تبدیلی کی درخواست، دائرہ طے کرنے کی گفتگو، ایک نیا بیانِ کار — اور جب تک یہ سب طے ہوتا ہے، بصیرت باسی ہو چکی ہوتی ہے۔ معاشیات فعال طور پر آپ کو جو سیکھتے ہیں اس پر عمل کرنے سے روکتی ہے، کیونکہ ہر بہتری قابلِ بل ہے اور اسی لیے متنازع۔
جب پروڈکٹ آپ کی ہو تو محسوس کرنا اور درست کرنا ایک ہی حرکت ہوتی ہے۔ ایک انجینئر کوئی سپورٹ تھریڈ پڑھتا ہے، تین شکایتوں کے پیچھے کا پیٹرن پہچانتا ہے، اور اُسی دوپہر وہ حل روانہ کر دیتا ہے — کوئی منظوری کا سلسلہ نہیں، کوئی بل نہیں، اس پر کوئی بحث نہیں کہ آیا یہ دائرے میں ہے یا نہیں۔ جو لوگ مسئلے کے سب سے قریب ہوتے ہیں، اُن کے پاس اسے سمجھنے کا سیاق بھی ہوتا ہے اور اسے حل کرنے کا اختیار بھی۔ مہینوں کے دوران، چھوٹی، بلا رکاوٹ بہتریوں کا یہی مرکب ہونا زیادہ تر وہ چیز ہے جو ایک ایسی پروڈکٹ کو، جسے لوگ برداشت کرتے ہیں، اُس سے جدا کرتی ہے جس پر وہ بھروسا کرتے ہیں۔
یہ اس بات کو بھی بدل دیتا ہے کہ ہم سرے سے کیا بناتے ہیں۔ چونکہ جو کچھ ہم بناتے ہیں اسے ہم چلاتے بھی ہیں، اس لیے کوئی صارف اطلاع دے، اُس سے پہلے ہم اپنی گمشدہ خصوصیات خود محسوس کر لیتے ہیں۔ ہماری پروڈکٹس کی کئی سب سے تیز چیزیں اُس جھنجھلاہٹ سے شروع ہوئیں جو ہم میں سے کسی کو اسی ٹیم میں کوئی مختلف پروڈکٹ چلاتے ہوئے پیش آئی۔ اپنا سب سے سخت گیر گاہک خود ہونا ایسی تحقیق ہے جو کوئی گاہک بریف نہیں خرید سکتا۔
رجحانات کے پیچھے نہ بھاگنا
اس صنعت میں ایک لالچ ہے کہ سب سے نئی چیز کو سب سے بہترین چیز سمجھا جائے — جو بھی فریم ورک عروج پر ہو اُس پر دوبارہ تعمیر کر لی جائے، جو فنِ تعمیر کا پیٹرن گشت میں ہو اُس کے پیچھے بھاگا جائے۔ ہم اس کی مزاحمت کی سخت کوشش کرتے ہیں، اور ملکیت اسے آسان بنا دیتی ہے، کیونکہ ہم جس بھی رجحان کے پیچھے بھاگیں اس کی پوری قیمت ہم محسوس کرتے ہیں۔ ایک ایسی از سرِ نو تحریر جو اس سال فیشن میں ہو، اگلے پانچ برس کے لیے ہمارے کندھوں پر ایک دیکھ بھال کا بوجھ ہے۔
اس کے بجائے ہم جو بنا رہے ہیں وہ ایسا انفراسٹرکچر ہے جس پر کاروبار روزانہ انحصار کرتے ہیں: کسٹمر سپورٹ جسے جواب دینا ہی ہے، فراڈ کی نشاندہی جسے درست ہونا ہی ہے، ماڈریشن جسے تیز ہونا ہی ہے، وہ اوزار جن کی طرف لوگ یہ سوچے بغیر ہاتھ بڑھاتے ہیں کہ نیچے کیا ہے۔ ایسا سافٹ ویئر بھروسا آہستہ آہستہ کماتا ہے، اُن بورنگ خوبیوں کے ذریعے — قابلِ اعتماد ہونا، مستقل مزاجی، حاضر ہونا اور کام کرنا۔ یہ خوبیاں نئے پن سے نہیں آتیں۔ یہ کسی چیز کی اتنی دیر پروا کرنے سے آتی ہیں کہ وہ درست ہو جائے، اور پھر رُک کر اسے اُسی حال میں رکھنے سے۔
اپنی پروڈکٹس خود بنانے کی پوری وجہ یہی ہے۔ اس لیے نہیں کہ یہ آسان ہے — یہ نہیں ہے — بلکہ اس لیے کہ اپنے فیصلوں کے ساتھ جینا اچھے فیصلے کرنے کا سب سے قابلِ اعتماد طریقہ ہے جو ہم جانتے ہیں۔