يطرح مقال منشور على InfoQ أطروحة مفادها أن قابلية النظام للتطور بأمان لا تعتمد على الأداء والتوافر وحدهما، بل على مدى فهم الفريق لكيفية عمله والأسباب التي شكّلت تصميمه. فالنظام الذي لا يمتلك الفريق نموذجاً ذهنياً مشتركاً له قد يواصل اجتياز اختبارات الجودة وخطوط النشر، لكنه يصبح أكثر خطورة عند إدخال تغييرات جديدة.
كتب المقال جاكوبوس مينتيس، ونارايانا رينغاسوامي، وبول كاتساندي، وسوريشبabu بيكي، وراجعه لوكا ميليزارا. وهو يمثل خلاصة عمل المشاركين في برنامج InfoQ Certified Architect، ويركز على تقاطع الذكاء الاصطناعي مع هندسة البرمجيات الحديثة.
الفهم جزء من النظام وليس معرفة عابرة
يستند المقال إلى فكرة بيتر ناور في مفهوم «بناء النظرية» أثناء البرمجة، ومفادها أن البرنامج لا يتكون من الشيفرة وحدها، بل يشمل النظرية أو النموذج الذهني الذي يبنيه المبرمجون لفهم طريقة عمله. وبذلك يصبح انتشار هذه النظرية واستمرارها بين أعضاء الفريق خاصية من خصائص النظام نفسه.
يربط المقال هذه الفكرة بمفهومي الدين المعرفي ودين النية اللذين ناقشتهما مارغريت-آن ستوري. فالدين المعرفي ينتج عن فقدان الفهم المشترك للنظام، بينما يظهر دين النية عندما تضيع الأسباب التي تفسر لماذا صُمم النظام بهذه الطريقة. وعلى خلاف خصائص مثل الأداء والتوافر، يمكن أن يتراجع الفهم بصمت، من دون مؤشر واضح يظهر في أدوات المراقبة التقليدية.
ويظهر أثر ذلك خلال حوادث الإنتاج، حين يقضي الفريق وقتاً أطول في اكتشاف ترابطات النظام وسلوكه من الوقت الذي يستغرقه تحديد العطل نفسه. كما قد تبقى المعرفة مركزة لدى أفراد بعينهم، فتضطر الفرق إلى العودة إلى الشيفرة لاستعادة ما لم تعد الذاكرة الجماعية قادرة على تفسيره.
ثلاثة عوامل تستنزف الفهم
يحدد المقال ثلاثة عوامل رئيسية تؤدي إلى تآكل الفهم المشترك:
- تجزؤ المعرفة: يمكن للامركزية في اتخاذ القرارات المعمارية أن تقلل الاختناقات وتمنح الفرق خبرة عميقة في نطاقاتها المحلية، لكنها قد تضعف الصورة الشاملة وتؤدي إلى تباعد النماذج الذهنية بين الفرق إذا غابت الحوكمة والممارسات المشتركة.
- تغير أعضاء الفريق: يغادر الموظفون حاملين معهم جزءاً من «نظرية» النظام، بينما تسجل الوثائق غالباً ما يفعله النظام لا سبب وجود حدوده وقراراته. وقد يدفع ذلك المنضمين الجدد إلى تنفيذ ترقيعات تكتيكية بدلاً من تحسينات منسجمة مع التصميم الأصلي.
- التغييرات التي يولدها الذكاء الاصطناعي: قلّص الذكاء الاصطناعي التوليدي الجهد المطلوب للتنفيذ، وهو الجهد الذي كان يسهم سابقاً، بصورة تلقائية، في بناء النموذج الذهني لدى المطور. ومع تسارع التسليم، قد تنتج الفرق شيفرة لم تتشكل لدى منفذيها معرفة كافية بها.
يؤكد المقال أن الذكاء الاصطناعي لم يلغ الحاجة إلى الفهم، بل نقل مكان تكوّنه. فعلى المهندس أن يفهم المتطلبات والتصميم قبل مرحلة التوليد، ثم يستوعب ما نُفذ بعد ذلك، بدلاً من الاعتماد على مراجعة لاحقة لاكتشاف المعنى.
مؤشرات يمكن للفرق مراقبتها
لا يمكن قياس الفهم البشري مباشرة، لكن يمكن رصد ظروف تدل على تراجعه. ويقترح المقال استخدام دوال اللياقة المعمارية لمراقبة بعض المؤشرات آلياً، مع التعامل مع العتبات كمحفزات للتحقيق لا كأهداف قابلة للتحايل. أما فهم النية نفسها، فيظل مسؤولية بشرية لا يستطيع فحص آلي تأكيدها.
- طلبات السحب الكبيرة التي يصعب مراجعتها وتمنع تدفق المعرفة.
- الاعتماد على مراجعات آلية أو وكيلة من دون مراجعة بشرية لاحقة.
- ترك عبء المراجعة على عدد قليل من الأشخاص أو تحول الموافقات إلى إجراء شكلي.
- دمج تغييرات واسعة الأثر في النواة المعقدة من دون مراجعة تصميم مسبقة.
- ترك المعرفة المركزة لدى مهندس واحد، وهو ما يمكن رصده عبر مؤشرات مثل درجة التأليف وأدوات توزيع المعرفة في مستودع الشيفرة.
- ارتفاع زمن تأهيل الموظفين الجدد ووصولهم إلى المساهمة في التصميم والمعمارية.
- تعديل الوحدات الأساسية أو الحدود البنيوية من دون توثيق سبب القرار في سجل قرار معماري أو وثيقة مناسبة.
- تسرب التبعيات أو خرق الحدود المعمارية، بما يجعل الاستدلال المحلي على أثر التغيير أمراً صعباً.
المراجعة البشرية كنقطة فهم
لا يصف المقال المراجعة البشرية بأنها بوابة جودة فقط، بل باعتبارها «نقطة تحقق للفهم». فالمراجع لا يكتفي بقراءة الشيفرة والثقة في وصفها لنفسها، وإنما يتحقق من أن النية حاضرة، وأن الفريق يفهم ما الذي تغير ولماذا، وكيف تتبدل السلوكيات عند حدود النظام.
لهذا السبب يرى المقال أن مراجعات التصميم تزداد أهمية في مسارات العمل التي تعتمد على الوكلاء البرمجيين. وينبغي أن تبدأ العملية بمتطلبات واضحة وقابلة للاختبار ومعايير قبول موثقة قبل السماح للأدوات بالتنفيذ. ولا يعني ذلك فرض تصميم شامل مسبق لكل النظام؛ فالوحدة المناسبة قد تكون قصة المستخدم، مع احتفاظ المهندس بنية التغيير وسلوكه عند الحدود.
ومن الممارسات المقترحة أن يشرح المهندس الشيفرة بكلماته، ثم يضع هذا الشرح يدوياً في وصف طلب السحب ورسالة الدمج. وتكمن قيمة هذه الخطوة في الجهد الذهني نفسه، لا في نص يُنشئه وكيل آلي نيابة عنه، لأن صعوبة شرح التغيير قد تكشف مبكراً أن صاحبه لا يمتلك النظرية اللازمة له.
من فهم الفرد إلى النموذج المشترك
لا يكفي أن يفهم مهندس واحد النظام؛ إذ تصبح الفجوة بين النماذج الذهنية مكلفة عندما تتواصل الأنظمة الفرعية أو تتفاعل فرق متعددة. وتحتاج الحدود بين السياقات إلى فهم مشترك يتجاوز مخطط واجهة البرمجة، ليشمل قابلية التكرار، وسلامة إعادة المحاولة، ومتطلبات الترتيب، والاتساق، وضمانات التسليم.
يمكن لسجلات القرارات المعمارية وخرائط السياق أن تساعد، لكنها لا تحافظ على الفهم وحدها. ويقترح المقال دعم تدفق المعرفة عبر تصميم متعمد لبنية الفرق، وتناوب المهندسين والعمل الثنائي عبر الوحدات، وإضافة مالكين متعددين للمكونات الحساسة، وتنظيم جلسات تعلم داخلية.
الخلاصة التي يقدمها المقال أن الفهم يتطلب هندسة مستمرة، مثلما تتطلب الخصائص المعمارية الأخرى مراقبة وممارسات داعمة. فالتجزؤ وتغير الفرق والتوليد بالذكاء الاصطناعي قد توسع «دين الفهم» تدريجياً من دون أن يعلن النظام عن المشكلة. وكلما اكتُشفت الفجوة بعد وصول الشيفرة المولدة إلى الإنتاج، ضاعت فرصة المعالجة الأقل كلفة. لذلك ينبغي حماية الفهم عمداً في النواة المعقدة وعند الحدود التي يفترض أن تسمح للنظام بالتطور.