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