الأنظمة والبيانات

الفحص التقني الذي أجريه قبل أن يشتري أحد أو يبني

شخص ما على وشك إنفاق مال على تقنية لم يبنها. يشتري شركة، أو يتسلم منصة، أو يرث نظاما حين ينصرف شريك، أو يلتزم ببناء بدأه مورد. وفي لحظة ما داخل تلك الغرفة يسأل شخص غير تقني السؤال الوحيد المهم: هل هذا جيد؟ ولا أحد من الحاضرين يستطيع الجواب.

هذا السؤال هو ما وجدت الفحوص التقنية النافية للجهالة كي تجيب عنه. وهي ليست تدقيقا، ومخرجها ليس حكما. هي سعر وخطة: ما الذي تحصلون عليه فعلا، وكم يكلف إبقاؤه حيا، وما الذي يجب أن يصح قبل أن تعتمدوا عليه.

وهذا هو الترتيب الذي أتبعه. والترتيب أهم من القائمة، لأن أرخص الفحوص هي الأقدر على إنهاء الحوار، ولا معنى لتسعير إعادة بناء لن تقوموا بها.

1. هل يستطيع غيره تشغيله

قبل أي شيء يتعلق بالشيفرة، أتحقق مما إذا كان الشيء يمكن أن يشغله إنسان غير من بناه. يستغرق هذا بعد ظهيرة واحدة، ويحسم من الصفقات أكثر مما تحسمه أي خطوة أخرى.

والقائمة غير براقة: من يملك حساب مسجل النطاق، ومن يتحكم في سجلات النطاق، وبطاقة من تدفع الاستضافة، ومن هو المسؤول على حساب السحابة، ومن يملك قوائم متاجر التطبيقات، ومن تصله تنبيهات الأمان، وبريد من الشخصي هو عنوان الاسترداد في أي منها.

رأيت شركة عاملة تكتشف أن نطاقها مسجل باسم مستقل توقف عن الرد، وشركة أخرى بيئة إنتاجها كلها داخل حساب شخصي لموظف سابق. ولم تكن أي منهما مشكلة برمجة. وكانتا معا مسألتي وجود، ولم تظهرا في أي وثيقة أنتجت حتى تلك اللحظة.

وإن تعذر نقل الملكية نظيفا فلا شيء بعد ذلك يستحق القياس بعد.

2. هل يمكن إعادة بنائه مما هو موجود

السؤال الثاني هو هل يمكن إنتاج النظام العامل من الأشياء التي تسلمونها. لا تحسينه، بل إنتاجه كما هو.

أطلب المستودع ثم أحاول تشغيل التطبيق من جهاز نظيف، متبعا ما وجد من تعليمات مكتوبة. والفجوة بين ما تقوله التعليمات وما يتبين أنه لازم فعلا من أصدق القياسات المتاحة. فالنظام الذي لا يبنيه إلا حاسوب واحد نظام بنقطة إخفاق واحدة، وتلك النقطة إنسان.

ومنهجية العوامل الاثني عشر مسطرة نافعة هنا، وأقسامها الوسطى هي المهمة في الفحص: اعتماديات معلنة صراحة لا مفترضة، وإعدادات محفوظة خارج الشيفرة، وخدمات مساندة تعامل كموارد قابلة للربط، وفصل صارم بين البناء والتشغيل. فالشيفرة التي تحقق ذلك يمكن تسليمها. وأما التي لا تحققها فستسلم على أي حال، وسيظهر الفرق على هيئة أشهر.

وأريد كذلك قائمة بما بداخله — المكتبات والخدمات الخارجية التي يعتمد عليها، وتراخيصها، وهو ما تخدمه قائمة مكونات برمجية بصيغة مثل SPDX. وإرشاد المركز الوطني البريطاني للأمن السيبراني حول سلاسل التوريد صريح في السبب: لا يمكن تقدير خطر لا يمكن إحصاؤه، ومعظم المؤسسات لا تستطيع تسمية اعتمادياتها.

أربع بطاقات تبين ترتيب الفحص التقني: هل يستطيع غيره تشغيله، وهل يعاد بناؤه، وكم يكلف الثبات مكانه، ومن يعرف فعلا كيف يعمل
الترتيب أهم من القائمة.

3. كم يكلف الثبات مكانه

لكل نظام كلفة قائمة لا يسعرها أحد، لأنها موزعة على فواتير تصل منفصلة.

أجمع أربعة أشياء: البنية التحتية، والخدمات والتراخيص الخارجية، والدعم والصيانة التي يتقاضاها المورد أصلا، ووقت البشر المصروف على إبقائه يعمل كل شهر. وهذا الأخير نادرا ما يكون في أي جدول، وهو كثيرا ما يكون أكبر الأربعة.

والرقم الناتج هو الأرضية. هو ما تدفعونه كي يستمر النظام في فعل ما يفعله اليوم بالضبط، بلا إضافة ولا تحسين. والمشترون يحسبون سعر الشراء ولا يحسبون الأرضية، وهكذا تصير صفقة رخيصة سنة باهظة.

4. ما الذي ينكسر إن نجح

ثم أسأل ماذا يحدث عند عشرة أضعاف الحمل الحالي. لا لأن عشرة أضعاف قادمة، بل لأن الجواب يكشف شكل الشيء.

وعادة يكون مكون واحد يحمل أكثر من نصيبه بكثير، والجميع يعرف أيها. والمفيد ليس اكتشافه، بل تحديد إن كان العلاج تغيير إعداد، أو استبدال مكون، أو إعادة تصميم، فهذه ثلاث ميزانيات مختلفة وثلاثة جداول زمنية مختلفة.

وهذا أيضا سؤال لا يضطر أي مشروع تجريبي للإجابة عنه، وهو أحد أسباب توقف كثير منها في الطريق إلى الاستعمال الحقيقي، وهو النمط في أين تتوقف التجارب قبل الإنتاج. والنظام الذي لا يكبر ليس بالضرورة صفقة سيئة. أما نظام لا يكبر ويباع على أنه يكبر فمسألة أخرى، والفجوة بين الاثنين تستحق أن تكتشف قبل الاتفاق على السعر.

5. أي بيانات فيه، وما الذي يأتي معها

أيا كان ما تحصلون عليه فأنتم تحصلون على بياناته وعلى الالتزامات المرافقة لها. ويعني ذلك معرفة أي بيانات شخصية محفوظة، وأين تقيم فعليا، ومن يصل إليها، وكم تبقى، وما الذي وعد به من تصفهم.

وفي هذا السوق ليست تلك مسألة نظرية — فقانون حماية البيانات الشخصية الاتحادي ينطبق على السجلات بصرف النظر عمن كان يملك النظام حين جمعت، والاستدلال نفسه الذي عرضته في ما يطلبه قانون حماية البيانات قبل ربط نموذج ينطبق على نظام ترثونه. فالموافقة المأخوذة لغرض لا تمتد تلقائيا إلى غرضكم.

وأريد أن أعرف كذلك ما يحدث يوم تريدون المغادرة. فتصدير ينتج كتلة بصيغة مغلقة ليس تصديرا. والاختبار هو هل يستطيع أحد من خارج المورد قراءة المخرج وإعادة تكوين السجلات، ووقت إجراء ذلك الاختبار قبل التوقيع لا أثناء نزاع.

6. من يعرف فعلا كيف يعمل هذا

السؤال الأخير هو الذي يتردد الناس في طرحه أمام البائع. كم شخصا يفهم هذا النظام فهما يكفي لتغييره بأمان، وهل يبقى منهم أحد؟

والتوثيق ليس جواب ذلك السؤال، ولا أعطيه وزنا كبيرا. وما أبحث عنه بدله دليل في النظام نفسه: تاريخ تعديلات موزع على عدة أشخاص لا مركز في واحد، وشيفرة يستطيع غريب كفؤ متابعتها، واختبارات تخفق حين ينكسر شيء. وهذه الثلاثة تخبركم هل المعرفة موزعة أم مقيمة في شخص على وشك أن يصير استشاريا بثلاثة أضعاف أجره القديم.

وهو الاستدلال نفسه وراء كل ما هو باهظ في التقنية — رخيص إثباته الآن وباهظ لاحقا بأضعاف، وهو النمط في القرارات التقنية التي تدفع مرتين.

ثلاثة أسئلة تطرحونها أنتم في الغرفة

ولستم مضطرين لانتظار تقرير كي تبدؤوا. ثلاثة أسئلة تكشف معظم ما سبق، ويطرحها غير التقني بلا حرج:

  • «أرونا النظام يعمل من جهاز لم يستعمل من قبل.» يفصل هذا ما هو موثق عما هو مقيم في ذاكرة شخص.
  • «ما تاريخ آخر مرة استرددتم فيها من نسخة احتياطية؟» التاريخ نفسه هو الجواب، وصمت الغرفة جواب أيضا.
  • «كم شخصا يستطيع نشر تغيير على الإنتاج هذا الأسبوع؟» إن كان الجواب واحدا فقد عرفتم كلفتكم الحقيقية.

ما يبدو سيئا وليس كذلك

بعض النتائج تخيف المشترين ولا ينبغي لها.

  • تقنية غير رائجة. تقنية مملة مفهومة جيدا ويتوفر من يجيدها للتوظيف أقل خطرا عادة من تقنية حديثة لها ثلاثة مختصين في البلد.
  • دين تقني ظاهر ومكتوب. الفريق الذي يعدد ما هو معطوب كان منتبها. والصمت هو الجواب المقلق.
  • غياب الاختبارات الآلية عن أداة داخلية صغيرة. متناسب. والغياب يهم حيث يكثر التغيير أو يغلو الإخفاق.

ما يبدو سليما وليس كذلك

  • واجهة مصقولة فوق نظام لا يستطيع أحد نشره. العرض التوضيحي هو الجزء الذي جرى التمرن عليه.
  • أمان يتكون من جدار حماية وأمنية. وقائمة OWASP العشر موجودة لأن الفئات نفسها تتكرر؛ فإن لم يستطع أحد في الفريق مناقشة موضع نظامه منها فلم ينظر أحد.
  • مهندس بطل واحد يجيب عن كل شيء فورا. ليست تلك قوة بل تركزا، والتركز هو ما تشترونه.
  • نسخ احتياطية موجودة. النسخ التي جرى الاسترداد منها ادعاء آخر، وإرشاد المركز البريطاني حول النسخ الاحتياطي يقول الشيء نفسه: نسخة لم يسترد منها أحد نسخة غير مختبرة. اسألوا عن تاريخ آخر استرداد لا آخر نسخ.

ما ينبغي أن يقوله التقرير

تقرير فحص ينتهي بدرجة تقرير غير مفيد. والذي أكتبه ينتهي بأربعة أشياء.

  1. ما الذي تحصلون عليه — الأنظمة والحسابات والبيانات والأشخاص، معددة لا موصوفة.
  2. ما يجب إصلاحه قبل أن تعتمدوا عليه — بكلفة ومدة أمام كل بند، مفصولا عما يحسن فعله فحسب.
  3. الكلفة القائمة — الأرضية السنوية من الخطوة الثالثة، كي تستعمل دراسة الجدوى رقما حقيقيا.
  4. الأمور الثلاثة التي تغير التوصية — مذكورة صراحة، كي يكون القرار المخالف للنصيحة قرارا واعيا على الأقل.

ولا شيء من ذلك يقتضي أن يكون المشتري تقنيا. وتلك غاية التمرين: تحويل سؤال لا يجيب عنه إلا مهندس إلى أرقام وشروط يتصرف بها من يوقع عقدا. وهو جوهر ما أفعله بصفتي مديرا تقنيا بدوام جزئي، وهو الانضباط نفسه تحت معاملة الفوترة الإلكترونية بوصفها مشروع أنظمة — إثبات ما هو صحيح فعلا عن الأنظمة قبل الالتزام بتاريخ أو سعر.

الأسئلة الشائعة

كم يستغرق الفحص التقني؟

لنظام واحد، من ثلاثة إلى خمسة أيام عمل فعلية، موزعة على أسبوع أو اثنين لأنها تعتمد على رد آخرين. وما يباع بوصفه مراجعة ليوم واحد قراءة وثائق لا فحصا. وما يمتد شهرا يكون قد تحول عادة إلى استشارة في إصلاح ما وجد، وتلك مهمة منفصلة تسعر بوصفها كذلك.

وإن رفض البائع إتاحة الشيفرة؟

هذا شائع في البداية ومعقول إلى أن تتفق الشروط. والجواب المعتاد مسار متدرج: مقابلات ووثائق أولا، ثم وصول إلى الشيفرة باتفاقية حين تصير الصفقة جادة. وما لا يقبل هو التوقيع بدونها. فإن رفض الوصول عند نقطة اكتمال الصفقة فعاملوا الرفض نتيجة لا عقبة.

هل يستطيع مبرمجونا فعل هذا بدلا من ذلك؟

يستطيعون الأجزاء التقنية، وأفضل من غريب أحيانا لأنهم يعرفون سياقكم. ويصعب الأمر لسببين. فقد ينتهي بهم المطاف مالكين لما قيموه، وهو موضع صعب أن يكون المرء فيه موضوعيا. وسيطلب منهم نقل خبر سيئ عن صفقة تريدها إدارتهم. وذلك عبء كبير على موظف، وهو معظم سبب كون الدور خارجيا عادة.

نحن لا نشتري شركة بل نختار موردا. هل ينطبق هذا؟

تنطبق نسخة مختصرة، والترتيب نفسه يعمل. والخطوات الأولى والخامسة والسادسة هي الأهم: هل ستملكون ما يبنى، وما مصير بياناتكم، وهل تبقى المعرفة عندكم حين تنتهي العلاقة. وهذه الثلاث مجابة بصدق قبل التوقيع تمنع معظم النزاعات التي تصل بعد سنتين.

أي نتيجة تغير السعر أكثر من غيرها؟

الكلفة القائمة من الخطوة الثالثة، لأنها التي لم يجمعها أحد. فنظام يقدم بوصفه مكتملا ورخيص التشغيل ثم يتبين أنه يستهلك شخصا ونصفا في الصيانة يغير قيمة الصفقة دون أن يكون في الشيفرة عيب. أما مشكلات الملكية من الخطوة الأولى فتنهي الصفقات أكثر؛ والكلفة القائمة تعيد تسعيرها أكثر.

لديك مشروع أو تحد أو فكرة؟

لنناقش ما تحاول بناءه أو تحسينه أو تنميته — وما إذا كان بإمكاني المساعدة.

لنناقش مشروعك