ملخص المحتوى الرئيسي
يركز هذا المقال على ممارسات “التطوير الأصلي باستخدام التكنولوجيا الذكية (AI)” في الشركات، ويشرح سبب شعور الشركات بـ“الانفصال” عند السعي نحو استخدام التكنولوجيا الذكية بشكل أصلي (من السهل على الأفراد تحسين الكفاءة باستخدام التكنولوجيا الذكية، لكن تطبيقها على مستوى المؤسسات يكون أكثر صعوبة). ثم يقدم حلًا تنظيميًا باسم SDD (التطوير المدفوع بالمواصفات) لتحقيق التطوير الأصلي باستخدام التكنولوجيا الذكية على مستوى المؤسسات، ويقارن بين أداة Spec-Kit وأداة BMAD من خلال تحليل حالات عملية لمعرفة مزايا وعيوب كل منهما. وفي النهاية، يؤكد أن جوهر التطوير الأصلي باستخدام التكنولوجيا الذكية يكمن في إعادة تنظيم عمليات التعاون – لتكييف الفرق مع قدرات التكنولوجيا الذكية، وليس فقط جعل كل فرد يستخدم أدوات التكنولوجيا الذكية.
أولاً: لماذا تشعر الشركات بأن استخدام التكنولوجيا الذكية بشكل أصلي قد يبدو “غير جذاب” أو حتى “مفارقًا”؟
عندما يستخدم الأفراد التكنولوجيا الذكية في كتابة الكود، قد يلاحظون زيادة كبيرة في الكفاءة؛ لكن عندما تسعى الشركات إلى تطبيق التكنولوجيا الذكية بشكل أصلي، قد تواجه مجموعة من المشكلات “غير الجذابة” مثل:
- كيف يتم تحديد الصلاحيات؟ أي المهام يمكن للتكنولوجيا الذكية إنجازها تلقائيًا؟ من سيراجع المقترحات (PRs)؟
- ماذا لو تكررت المهام التي أنشأتها التكنولوجيا الذكية؟ من سيتحمل مسؤولية فشل الاختبارات الفردية؟
- من سيكون مسؤولًا عن أي أخطاء قد تنجم عن دمج الكود تلقائيًا؟ هل يمكن أن تكون طريقة إشعار التكنولوجيا الذكية بالحاجة إلى مواد مهينة لزملائه؟
تبدو هذه المسائل تافهة، لكنها ضرورية لضمان نجاح تطبيق التكنولوجيا الذكية بشكل أصلي – فالأفراد يبحثون عن السرعة، بينما تبحث المؤسسات عن الاستقرار والكفاءة. الإنجازات المذهلة أحيانًا لا تكفي؛ المؤسسات بحاجة إلى التأكد من أن التكنولوجيا الذكية تعمل بشكل صحيح وقابل للتحكم داخل العمليات.
ثانيًا: جوهر التطوير الأصلي باستخدام التكنولوجيا الذكية: ليس “استخدام التكنولوجيا الذكية من قبل الجميع”, بل “مشاركة التكنولوجيا الذكية في عمليات التعاون”
تعتقد العديد من الشركات أن استخدام أدوات مثل ChatGPT في كتابة الكود يعتبر تطويرًا أصليًا باستخدام التكنولوجيا الذكية، لكن هذا خطأ.
الجوهر الحقيقي للتطوير الأصلي باستخدام التكنولوجيا الذكية هو دمج التكنولوجيا في تدفقات المهام وعمليات التعاون والتسليم داخل الفريق، بحيث تصبح جزءًا من عمل الفريق. على سبيل المثال، يمكن للتكنولوجيا الذكية:
- الاستماع تلقائيًا إلى المحادثات الجماعية والسجلات لتحديد المشكلات وتنظيم المهام؛
- كتابة المتطلبات وتعديل الكود وإجراء الاختبارات وتقديم المقترحات تلقائيًا؛
- طلب المواد اللازمة من الأشخاص المسؤولين عندما يكون السياق غير واضح؛
- حتى مراجعة الكود باستخدام نموذجين مختلفين لتقليل المخاطر.
التغيير الرئيسي هو التركيز على “كيف يمكن للتكنولوجيا الذكية مساعدتنا في كتابة الكود” إلى “ما هي المعايير والحدود والمنطق التجاري الذي يجب أن تستخدمه التكنولوجيا الذكية لكتابة الكود” – من الضروري توفير قواعد واضحة للتكنولوجيا الذكية لضمان أدائها بشكل مستقر.
ثالثًا: SDD: “التطوير المدفوع بالمواصفات” كطريقة لوضع قواعد لاستخدام التكنولوجيا الذكية
SDD (Spec-Driven Development) هو أسلوب يتيح تحديد قواعد واضحة لاستخدام التكنولوجيا الذكية، باستخدام مواصفات دقيقة (المتطلبات والحلول والمهام) لتوجيه عملية التطوير. أداة Spec-Kit على منصة GitHub ساعدت في نشر هذه الفكرة بشكل واسع.
- الدور الأساسي: توفير بيئة مستقرة لاستخدام التكنولوجيا الذكية (معايير واضحة وقواعد للكود وقيود تجارية)، مما يساعد على تنظيم استخدامها داخل المؤسسات وتقليل إعادة العمل والخسائر.
- الجوهر: تحويل التكنولوجيا الذكية من مجرد أداة مساعدة إلى عضو فعال في فريق العمل، مما يوفر معيارًا موحدًا لعمليات التعاون.
رابعًا: مقارنة بين أداتي Spec-Kit وBMAD
1. **Spec-Kit**: يشبه “قالب عملية ثابت”
- المزايا: العملية واضحة (تحديد المتطلبات → التخطيط → تنفيذ المهام)، مما يساعد على توحيد الإجراءات. مناسب للمشاريع البسيطة والفرق ذات البنية التحتية الجيدة (التي لديها قواعد واضحة وتدير عدة مستودعات).
- المشكلات: في المشاريع المعقدة (مع العديد من المستودعات والأدوار المختلفة)، قد تحتاج إلى إضافة آليات إضافية لضمان التنسيق بين المكونات المختلفة. على سبيل المثال، يحتاج المستخدمون إلى تعديل الأوامر لتوضيح مكان كتابة الكود والتحقق من عدم وجود تعارضات بين المكونات.
2. **BMAD**: يشبه “فريق افتراضي باستخدام التكنولوجيا الذكية”
- المزايا: يحتوي على أدوات مثل المطورين ومصممي الأنظمة ومراقبي الجودة، ويسمح بمراجعات مشتركة لتحديد نقاط الضعف. يمكنه مساعدة المستخدمين على تحديد التغييرات التي قد تؤثر على الأنظمة الحالية وإزالة المتطلبات غير الضرورية.
- المشكلات: يتطلب جهدًا كبيرًا في المراجعة، خاصة في المجالات التي لا يتقنها المستخدمون (مثل مراجعة حلول الواجهات الأمامية من قبل مطوري الخلفية).
خامسًا: استخلاص
التطوير الأصلي باستخدام التكنولوجيا الذكية يتطلب تحديد المعايير والقواعد بشكل دقيق، بالإضافة إلى دمجها في عمليات الفريق بشكل فعال. أداة Spec-Kit تساعد في تحقيق ذلك من خلال توفير قواعد واضحة لاستخدام التكنولوجيا، بينما يمكن لأداة BMAD أن تساعد في مراجعات المشاريع المعقدة. الاختيار بين الاثنين يعتمد على احتياجات المؤسسة وقدرات فريقها.