حالت تاریک
فصل ۱۳ — دوشنبه، ۱۵ سپتامبر
تا دوشنبه، بحران Phoenix یک فاجعهٔ عمومی شده است. به صفحهٔ اول همهٔ سایتهای فناوری رسیدیم. شایعهای هست که کسی از The Wall Street Journal میخواسته Steve را برای مصاحبهٔ رسمی بگیرد.
وقتی فکر میکنم اسمم را از دهان Steve شنیدهام، با وحشت از جا میپرم.
کاملاً گیج، اطراف را نگاه میکنم و میفهمم سر کارم و حتماً منتظر شروع جلسهٔ وضعیت Phoenix خوابم برده. دزدکی به ساعتم نگاه میکنم. ۱۱:۰۴ صبح.
باید به گوشیام نگاه کنم تا بفهمم دوشنبه است.
لحظهای میپرسم یکشنبهام کجا رفت، اما وقتی Steve را سرخصورت میبینم که به کل اتاق خطاب میکند، حواسم جمع میشود.
«— اصلاً برایم مهم نیست تقصیر کیست. میتوانید مطمئن باشید این دیگر هرگز در دوران من تکرار نمیشود. اما همین الان، به آینده دو ریال هم نمیدهم — داریم مشتریان و سهامدارانمان را بهطرز فجیعی خراب میکنیم. فقط میخواهم بشنوم چطور از این گود بیرون میآییم و عملیات عادی کسبوکار را برمیگردانیم.»
برمیگردد و به Sarah اشاره میکند و میگوید: «و تو تا وقتی هر یک از مدیران فروشگاهت نگویند میتوانند عادی معامله کنند، از قلاب رها نیستی. کشیدن دستی کارت؟ ما کی هستیم، تو یک کشور جهان سوم؟»
Sarah با آرامش جواب میدهد: «کاملاً میفهمم این چقدر غیرقابل قبول است. مطمئن میشوم کل کارکنانم بدانند پاسخگو و مسئولند.»
«نه،» Steve سریع و با جدیت جواب میدهد. «تو در نهایت پاسخگو و مسئولی. فراموش نکن.»
برای لحظهای قلبم سبک میشود و میپرسم آیا Steve از طلسم Sarah رها شده.
توجهش را دوباره به کل اتاق برمیگرداند و با جدیت میگوید: «وقتی مدیران فروشگاه بگویند دیگر روی دستگاه حیاتی کار نمیکنیم، از هر کسی که در این ماجرا نقش داشته پانزده دقیقه میخواهم. انتظار دارم تقویمتان را خالی کنید. بهانه نیست.
«یعنی تو، Sarah، Chris، Bill، Kirsten، Ann. و حتی تو، John،» میگوید و همزمان به افراد اشاره میکند.
آفرین John. وقت عالی انتخاب کردی که بالاخره Steve تو را ببیند.
ادامه میدهد: «دو ساعت دیگر برمیگردم، بعد از تماس تلفنی با یک خبرنگار دیگر بهخاطر این آشفتهباز!»
در را با ضربهای میبندد که دیوارها میلرزند.
Sarah سکوت را میشکند. «خب، همه شنیدید Steve را. نهتنها باید سامانههای POS را بالا بیاوریم، بلکه باید مشکلات کاربردپذیری Phoenix را هم درست کنیم. مطبوعات دارند از خراب بودن رابط سفارش و timeout شدن همهچیز لذت میبرند.»
«دیوانه شدی؟» میگویم و به جلو خم میشوم. «Phoenix را با قهرمانبازی خالص زنده نگه داشتهایم. Wes وقتی گفت هر ساعت همهٔ سرورهای front-end را reboot میکنیم شوخی نمیکرد. نمیتوانیم ناپایداری بیشتری وارد کنیم. پیشنهاد میکنم rollout کد فقط دو بار در روز باشد و همهٔ تغییرات کد محدود به موارد مربوط به performance شود.»
به تعجبم Chris بلافاصله حرف میزند: «موافقم. William، تو چی فکر میکنی؟»
William سر تکان میدهد. «قطعاً. پیشنهاد میکنم به developerها اعلام کنیم همهٔ commitها باید شمارهٔ defect مربوط به مشکل performance داشته باشد. هر چیزی که نداشته باشد رد میشود.»
Chris میگوید: «برای تو کافی است Bill؟»
از راهحل راضی میگویم: «عالی.»
هرچند Wes و Patty همزمان از این همکاری ناگهانی Development خوشحال و متعجب به نظر میرسند، Sarah خوشحال نیست. میگوید: «موافق نیستم. باید بتوانیم به بازار واکنش نشان دهیم، و بازار دارد میگوید Phoenix استفادهاش سخت است. نمیتوانیم این را خراب کنیم.»
Chris جواب میدهد: «ببین، وقت usability testing و validation ماهها پیش بود. اگر بار اول درست نکردیم، بدون کار واقعی درستش نمیکنیم. product managerهایت روی mockupها و پیشنهادهای بازنگریشده کار کنند. بعد از بحران سعی میکنیم هرچه زودتر وارد کنیم.»
موضعش را تأیید میکنم و میگویم: «موافقم.»
«نکات خوبی گفتی. تأیید میکنم،» میگوید، ظاهراً فهمیده که در این بحث برنده نمیشود.
مطمئن نیستم Sarah واقعاً در موقعیتی باشد چیزی را تأیید کند. اما خوشبختانه بحث سریع به این میرود که چطور عملکرد POS را برگردانیم.
نظرم دربارهٔ Chris را چند پله بالا میبرم. هنوز فکر میکنم همدست داوطلب Sarah بود، اما شاید به او فرصت دوم بدهم.
وقتی از اتاق جنگ Phoenix بیرون میآیم، اتاق روبروی راهرو را میبینم که Ann و تیمش سفارشهای مشکلدار را رسیدگی میکنند. ناگهان کنجکاوی برم میگیرد و واقعاً میخواهم ببینم چطور پیش میروند.
در را میزنم و وارد میشوم، هنوز دارم bagel کهنهٔ جلسه را میجوید. از شنبه، تأمین بیپایان پیتزا، شیرینی، Jolt cola و قهوه بوده تا همه در کارشان بمانند.
پیش رویم صحنهای از فعالیت دیوانهوار است: میزهایی پوشیده از تودههای faxهای ورودی از فروشگاهها و دوازده نفر از یکی به دیگری راه میروند. هر fax یک سفارش مشکلدار است که باید به لشکری از نمایندگان مالی و خدمات مشتری که بهزور به خدمت کشیده شدهاند ارجاع شود. کارشان حذف تکراریها یا برگرداندن هر یک از این تراکنشها بود.
پیش رویم چهار نفر از مالی پشت میز دیگری نشستهاند، انگشتانشان روی ماشینحسابهای دهکلیدی و لپتاپهای باز میرقصد. دستی سفارشها را جمع میزنند، سعی میکنند مقیاس فاجعه را حساب کنند و تطبیق میکنند تا اشتباهی از قلم نیفتد.
روی دیوار، جمعها را دنبال میکنند. تا اینجا پنج هزار مشتری یا پرداخت تکراری داشتهاند یا سفارش گم شده، و تخمین زده میشود بیستوپنج هزار تراکنش دیگر هنوز باید بررسی شود.
با باورنکردنی سرم را تکان میدهم. Steve حق دارد. این بار مشتریان را بهطرز فجیعی خراب کردیم. واقعاً شرمآور است.
از طرف دیگر، باید به عملیاتی که مالی برای رسیدگی به آشفتگی راه انداخته احترام بگذارم. منظم به نظر میرسد، مردم کاری را میکنند که باید انجام شود.
صدایی کنارم میگوید: «یک trainwreck دیگر Phoenix، هان؟»
John است، مثل من صحنه را تماشا میکند. نمیگوید «گفتم بود»، ولی تقریباً. البته همراهش همیشه binder سهحلقهٔ سیاهش هست.
John کف دستش را به صورتش میکوبد. «اگر این برای رقیبمان اتفاق میافتاد، از خنده میترکیدم. بارها به Chris دربارهٔ این احتمال گفتم، ولی گوش نمیداد. حالا داریم هزینهاش را میپردازیم.»
به یکی از میزها میرود و از روی شانهٔ مردم نگاه میکند. میبینم بدنش ناگهان سفت میشود وقتی تودهای از کاغذها را برمیدارد. ورق میزند، رنگش پریده.
برمیگردد جایی که ایستادهام و زمزمه میکند: «Bill، مشکل بزرگی داریم. بیرون. همین الان.»
«به این برگهٔ سفارش نگاه کن،» وقتی بیرون ایستادهایم نفسنفس میگوید. «مشکل را میبینی؟»
به صفحه نگاه میکنم. برگهٔ سفارش اسکنشده، کج و با resolution پایین است. برای خرید قطعات خودرو است و مبلغ ۵۳ دلار منطقی به نظر میرسد.
میگویم: «چرا خودت نمیگویی؟»
John به عدد دستنویس کنار کارت اعتباری و امضای مشتری اسکنشده اشاره میکند. «آن عدد سهرقمی کد CVV2 پشت کارت اعتباری است. برای جلوگیری از تقلب کارت اعتباری آنجاست. طبق قوانین Payment Card Industry، مجاز نیست چیزی از track 2 نوار مغناطیسی کارت را ذخیره یا منتقل کنیم. حتی داشتنش نقض خودکار دادهٔ دارندهٔ کارت و جریمهٔ خودکار است. شاید حتی خبر صفحهٔ اول.»
وای نه. دوباره نه.
انگار ذهنم را میخواند ادامه میدهد: «آره، ولی این بار بدتر. بهجای فقط خبر محلی، تصور کن Steve روی صفحهٔ اول هر بازاری که مشتری و فروشگاه داریم باشد. و بعد پرواز به DC تا سناتورها او را تحت فشار بگذارند، از طرف همهٔ رأیدهندگان خشمگینشان.»
ادامه میدهد: «این خیلی جدی است. Bill، باید فوراً همهٔ این اطلاعات را نابود کنیم.»
سرم را تکان میدهم و میگویم: «اصلاً. باید هر یک از آن سفارشها را پردازش کنیم تا مشتریانمان را بدهکار نکنیم یا حتی دوبار بدهکار نکنیم. موظفیم این کار را بکنیم، وگرنه پولی از آنها میگیریم که بعداً باید برگردانیم.»
John دستش را روی شانهام میگذارد: «شاید مهم به نظر برسد، ولی فقط نوک کوه یخ است. از قبل بهخاطر نشت دادهٔ دارندهٔ کارت Phoenix عمیق تو گل هستیم. این شاید به همان اندازه بد باشد. جریمهمان بر اساس تعداد دارندگان کارت تحت تأثیر است.»
به همهٔ کاغذها اشاره میکند و میگوید: «این میتواند جریمههایمان را بیش از دو برابر کند. و فکر میکنی ممیزیهایمان الان بد است؟ این ده برابر دردناکترشان میکند، چون ما را برای بقیهٔ ابد merchant سطح ۱ طبقهبندی میکنند. شاید حتی کارمزد تراکنشمان را از سه درصد به — کی میداند چقدر؟ — بالا ببرند. آن میتواند حاشیهٔ سود فروشگاههای خردهفروشیمان را نصف کند و —»
ناگهان وسط جمله میایستد و binder سهحلقهاش را به تقویم باز میکند. «لعنت! ممیزیکنندگان PCI امروز اینجا هستند و بازدید گامبهگام فرآیند کسبوکار انجام میدهند. طبقهٔ دوم، با کارکنان مدیریت سفارش دربارهٔ عملیاتمان مصاحبه میکنند. حتی قرار بود از همین اتاق کنفرانس استفاده کنند!»
«شوخی میکنی،» میگویم و احساس وحشت شروع میکند، که با توجه به سه روز آدرنالین مداوم مرا شگفتزده میکند.
برمیگردم و از پنجرهٔ در اتاق کنفرانس نگاه میکنم و کاملاً واضح میبینم همهٔ افراد مالی دارند سفارشهای مشکلدار مشتری را رسیدگی میکنند. لعنت.
«ببین،» میگویم، «میدانم گاهی مردم فکر میکنند طرف ما نیستی، ولی واقعاً به کمکت نیاز دارم. باید ممیزیکنندگان را از این طبقه دور نگه داری. شاید حتی از این ساختمان. پرده روی پنجرهها میزنم، یا شاید در را سد کنم.»
John به من نگاه میکند و بعد سر تکان میدهد. «باشه، ممیزیکنندگان را خودم رسیدگی میکنم. ولی هنوز فکر نمیکنم کاملاً بفهمی. بهعنوان custodian دادهٔ دارندهٔ کارت، نمیتوانیم اجازه دهیم صدها نفر به آن دسترسی داشته باشند. خطر سرقت و تقلب خیلی بالاست. باید فوراً داده را نابود کنیم.»
یک لحظه نمیتوانم جلوی خنده را بگیرم از جریان بیپایان مشکلات.
خودم را مجبور میکنم تمرکز کنم و آهسته میگویم: «باشه، مطمئن میشوم افراد مالی این را بفهمند و رسیدگی کنند. شاید بتوانیم همه را اسکن کنیم و به یک شرکت offshore بفرستیم تا وارد کنند.»
«نه، نه، نه. بدتر هم میشود!» میگوید. «یادت باشد، مجاز نیست منتقل کنیم، چه برسد به فرستادن به third party. فهمیدی؟ ببین، فقط برای انکارپذیری، وانمود میکنم الان نشنیدم. باید بفهمی چطور همهٔ این دادهٔ ممنوع را نابود کنی!»
از اشارهٔ John به انکارپذیری عصبانی میشوم، چه با نیت خوب بوده یا نه. نفس عمیق میکشم و به او میگویم: «ممیزیکنندگان را از این طبقه دور نگه دار، و من خودم نگران imprint کارتها باشم. باشه؟»
سر تکان میدهد و میگوید: «باشه. وقتی ممیزیکنندگان را جایی امن جا دادم زنگ میزنم.»
وقتی سریع از راهرو به سمت پلهها میرود، مدام با خودم تکرار میکنم: «فقط کارش را میکند. فقط کارش را میکند.»
زیر لب فحش میدهم و برمیگردم به اتاق کنفرانس نگاه کنم. و حالا تابلوی چاپشدهٔ بزرگ روی در را میبینم که اعلام میکند: «Phoenix POS Recovery War Room.»
ناگهان احساس میکنم در فیلم Weekend at Bernie's هستم، جایی که چند پسر نوجوان سعی میکنند جسد مرده را از یک قاتل حرفهای پنهان یا جابهجا کنند. بعد میپرسم آیا بیشتر شبیه عملیات خرد کردن شبانهروزی عظیمی است که allegedly در دفاتر Arthur Andersen، firm حسابرسی که بعد از شکست Enron تحت بررسی قرار گرفت، اتفاق افتاد. آیا من شریک در نابود کردن مدرک مهم هستم؟
چه آشفتگی. سرم را تکان میدهم و برمیگردم به اتاق کنفرانس تا خبر بد را بدهم.
بالاخره ساعت ۲:۳۰ بعدازظهر به NOC پایین میروم و وقتی به دفترم میروم خرابکاری را مرور میکنم. هفت میز اضافه برای فضای جلسه بیشتر چیده شده و دور هر کدام مردم جمع شدهاند. جعبههای پیتزای خالی روی خیلی از میزها و در یک گوشهٔ اتاق انباشته شده.
پشت میزم مینشینم و با آرامش آه میکشم. تقریباً یک ساعت با تیم Ann روی مسئلهٔ دادهٔ دارندهٔ کارت بودم، و بعد نیم ساعت دیگر با آنها بحث کردم که این واقعاً مشکل خودشان است، نه من. گفتم میتوانم کمک کنم، ولی تیمم خیلی درگیر نگه داشتن Phoenix است که مسئولیت بیشتری نپذیرد.
با کمی شگفتی میفهمم شاید این اولین بار از وقتی این نقش را شروع کردم بود که توانستم به کسی در شرکت نه بگویم. میپرسم آیا میتوانستم اگر ما تقریباً تنها کسانی نبودیم که سامانههای ثبت سفارش فروشگاه را بالا نگه داشتهایم.
وقتی به این فکر میکنم، تلفنم زنگ میزند. John است. سریع جواب میدهم، خبر ممیزیکنندگان را میخواهم. «سلام John. چطور پیش میرود؟»
John جواب میدهد: «بد نیست. ممیزیکنندگان را همینجا کنار خودم در ساختمان ۷ جا دادم. طوری چیدم که همهٔ مصاحبهها اینجا انجام شود. به اتاق جنگ Phoenix نزدیک نمیشوند، و به امنیت ساختمان ۹ صریحاً گفتم از پشت میز جلو اجازهٔ عبور ندهند.»
از دیدن John که همهٔ قوانین را خم میکند میخندم. «عالیه. ممنون که همهچیز را جمع کردی. همچنین فکر میکنم Ann میتواند از کمکت برای فهمیدن دقیقاً چه چیزی برای ماندن در انطباق با مقررات دادهٔ دارندهٔ کارت لازم است استفاده کند. تا جایی که توانستم کمک کردم، ولی…»
John میگوید: «مشکلی نیست. خوشحالم کمک کنم.»
چند لحظه مکث میکند. «حالا نمیخواهم بگویم، ولی قرار بود امروز به internal audit نامهٔ پاسخ SOX-404 را بدهی. آن چطور پیش میرود؟»
از خنده منفجر میشوم. «John، برنامهمان این بود که آن گزارش را آخر هفته بعد از استقرار Phoenix تمام کنیم. ولی، همانطور که میدانی، طبق برنامه پیش نرفت. شک دارم کسی از جمعه رویش کار کرده باشد.»
John با صدای خیلی نگران میگوید: «میدانی کل کمیتهٔ ممیزی به این نگاه میکند، درسته؟ اگر این deadline را از دست بدهیم، مثل پرچم قرمز برای همه است که مشکلات کنترل شدید داریم. این میتواند طول ممیزی خارجی را هم بالا ببرد.»
تا جایی که میتوانم منطقی میگویم: «باور کن، اگر کاری از دستم برمیآمد، میکردم. ولی همین الان کل تیمم شبانهروزی برای تلاشهای بازیابی Phoenix کار کرده. حتی اگر گزارش را تمام کرده بودند و فقط کافی بود خم شوم و بردارم، نمیتوانستم. آنقدر زیر آب هستیم.»
وقتی حرف میزنم میفهمم چقدر آزادکننده است بگویم تیمم کاملاً در ظرفیت است و انرژی اضافهای برای هیچ کار جدیدی نیست، و مردم واقعاً باور میکنند.
John را میشنوم: «میدانی، میتوانم دو engineer آزاد کنم. شاید بتوانند در کار میدانی تخمین تلاش remediation کمک کنند؟ یا اگر لازم باشد، حتی میتوانیم آنها را به resource pool فنی برای کمک به بازیابی بگذاریم. هر دو خیلی فنی و با تجربهاند.»
گوشهایم تیز میشوند. همه را deploy کردهایم که کارهای مختلفی که این emergency میخواهد انجام دهند و بیشترشان حداقل یک شب بیدار ماندن کشیدهاند. بعضی سرویسها و سامانههای شکننده را monitor میکنند، بعضی به پاسخ تلفنهای مدیران فروشگاه کمک میکنند، بعضی به QA در ساخت سامانه و نوشتن test کمک میکنند، بعضی به Development در reproduce کردن مشکلات.
فوراً میگویم: «فوقالعاده مفید میشود. به Wes ایمیل بزن با چند bullet point دربارهٔ هر engineer. اگر نیاز فوری برای مهارتهایشان نداشت، آنها را برای تولید تخمینهای remediation task میکنم، تا وقتی کسی که روی Phoenix کار میکند interrupt نشود.»
«باشه، عالی،» John میگوید. «امروز بعداً اطلاعات را به Wes میفرستم و بهت میگویم او و من چه تصمیمی گرفتیم.»
خداحافظی میکند و به اتفاق خوششانسی فکر میکنم که کسی روی پاسخ ممیزی کار کند.
بعد میپرسم آیا خستگی دارد به من میرسد. چیزی در دنیا واقعاً عجیب است وقتی در یک روز دلیل پیدا میکنم از Development و Security تشکر کنم.