مقالProject Management

مستند الـ SRS اللي بيخلّي AI-Augmented Development يشتغل فعلاً

أدوات الـ AI بتبقى كويسة بقد المواصفات اللي بتديهالها. هنا إزاي بكتب SRS بيحوّل Claude Code من ماكينة تخمين لأداة دقيقة.

Yousif MohamedApril 1, 20269 دقيقة قراءة0 مشاهدة
Clean ArchitectureAgileBest PracticesAIVibe Coding
مستند الـ SRS اللي بيخلّي AI-Augmented Development يشتغل فعلاً

ده نمط بشوفه باستمرار: مطوّر بيفتح Claude Code أو Cursor، بيكتب "ابنيلي موقع e-commerce"، وبيتحبط لما الـ output يطلع عام ومفكّك ومستحيل يتوسّع.

المشكلة مش في الـ AI. المشكلة في الـ input.

أنا سلّمت أنظمة production لمراكز طبية ومدارس ومنصات تعليم إلكتروني ومنصتي الشخصية. كلهم بدأوا بنفس الطريقة — مش بكود، بمستند SRS. ولما الـ AI دخل workflow بتاعي، الـ SRS بقى أهم ملف في المشروع.


ليه معظم المطورين بيتخطّوا الـ SRS

عشان حاسّين إنه بطيء. عايز تبني، مش تكتب documents. المفارقة إن تخطّي الـ SRS بيخلّي كل حاجة أبطأ — بتعمل افتراضات غلط، بتبني features غلط، بتعمل refactor باستمرار، وبتضيّع وقت في جدال على scope ما اتحدّدش أصلاً.

مع أدوات الـ AI، تخطّي الـ SRS أسوأ كمان. الـ AI ما عندوش context عن مشروعك ولا المستخدمين ولا القيود ولا الـ architecture. من غير spec، بيخمّن. والـ AI بيخمّن بـ scale — هيبنيلك الحاجة الغلط بسرعة وبثقة.

الـ AI من غير spec زي شيف من غير وصفة. هيطبخ حاجة — بس غالباً مش اللي طلبتها.


إيه اللي بيدخل في SRS جاهز للـ AI

ده مش مستند أكاديمي من ١٠٠ صفحة. ده spec مركّز وعملي بيدّي إنت والـ AI كل حاجة تحتاجوها عشان تبنوا صح. ده الهيكل اللي بستخدمه:

١. هوية المشروع

فقرة واحدة. المشروع ده إيه؟ لمين؟ بيحل مشكلة إيه؟ بيبان بسيط، بس بيثبّت كل قرار بعده. لما الـ AI يقترح feature، بتراجعها على الفقرة دي. لو مش بتخدم الهوية، مش مكانها هنا.

٢. أدوار المستخدمين والصلاحيات

مين بيستخدم النظام ده؟ كل دور بيقدر يعمل إيه؟ لمنصة طبية، ده مرضى ودكاترة وأدمنز — كل واحد بوصول مختلف. لبوابة مدرسة، ده أهالي ومدرسين وإداريين. حدّد دول من البداية والـ AI هيولّد role-based access control محترم بدل user model مسطّح.

٣. الصفحات والمميزات

كل صفحة في التطبيق، مدرجة بمميزاتها. مش wireframes — بس وصف واضح. "صفحة تفاصيل الكورس: بتعرض العنوان والوصف وخريطة تفاعلية والتسعير وعدد المقاعد ونموذج تسجيل بيحفظ في form_submissions وبيبعت إيميل إشعار." الجملة دي لوحدها بتدّي الـ AI يبني صفحة شغّالة.

٤. الـ Tech Stack والقيود

حدّد التقنيات صراحة. Next.js 15 مع App Router، TypeScript، Supabase لقاعدة البيانات، Tailwind CSS للتنسيق. كمان حدّد القيود — "مفيش APIs مدفوعة"، "لازم يشتغل على free tier"، "ثنائي اللغة عربي/إنجليزي مطلوب"، "authentication للأدمن بس." القيود بتمنع الـ AI يقترح حاجات غالية أو غير متوافقة.

٥. مخطط قاعدة البيانات

هنا معظم المطورين بيسيبوا الـ AI يقرر — وهنا أكبر ضرر بيحصل. مخطط قاعدة البيانات هو architecture. هو الحاجة الوحيدة اللي الـ AI مش المفروض يصمّمها لوحده. حدّد الجداول والعلاقات والأعمدة الرئيسية. استخدم أعمدة JSONB للبيانات المرنة. سيب الـ AI ينفّذ الـ SQL، بس إنت اللي بتقرر الهيكل.

٦. قواعد الأعمال

المنطق اللي عايش بين السطور. "لما الكورس يوصل لأقصى سعة، زرار التسجيل بيتحوّل لنموذج قائمة انتظار." "لما شهادة تتبعت، بتحتاج موافقة الأدمن قبل ما تظهر على الصفحة الرئيسية." "الدفع يدوي عبر WhatsApp — مفيش دفع إلكتروني في البداية." القواعد دي الـ AI مش شايفها إلا لو قلتهاله.

الـ SRS مش بيبطّئك. بيمنعك تبني الحاجة الغلط بسرعة.


إزاي الـ SRS بيتحوّل لـ AI Workflow

لما الـ SRS يبقى موجود، أنا بستخدمه مع Claude Code كده:

الـ SRS بيتحوّل لـ CLAUDE.md. بستخلص الـ SRS في ملف project context بيقعد في root الـ repo. Claude Code بيقرأه أوتوماتيك كل session. عارف هوية المشروع والـ tech stack ومخطط قاعدة البيانات وقواعد الأعمال — قبل ما أكتب prompt واحد.

المميزات بتتحوّل prompts. كل وصف صفحة/ميزة في الـ SRS بيتحوّل prompt محدّد. بدل "ابنِ صفحة الكورس"، بقول "نفّذ صفحة تفاصيل الكورس زي ما هو موصوف في القسم ٣.٤ من الـ SRS — خريطة تفاعلية من JSONB، نموذج تسجيل بيحفظ في form_submissions، إشعار إيميل عبر Resend." الـ AI عنده context وقيود وهدف واضح.

المخطط هو مصدر الحقيقة. لما الـ AI يولّد database queries، بتحققها على المخطط في الـ SRS. اسم جدول غلط؟ نوع عمود غلط؟ علاقة غلط؟ بمسكها فوراً عشان الـ spec قدامي.


نموذج التطوير الثلاثي

بسمّي الـ workflow بتاعي نموذج التطوير الثلاثي. ٣ مراحل، كل واحدة بصاحب واضح:

  1. إنت بتخطط. متطلبات، architecture، SRS، مخطط قاعدة البيانات. ده شغل بشري. الـ AI ممكن يساعد في العصف الذهني، بس القرارات ليك.

  2. الـ AI بيبني. مع الـ SRS كـ context، الـ AI بيولّد كود وcomponents وmigrations وtests. سريع ودقيق عشان الـ spec واضح.

  3. إنت بتتحقق. راجع الـ output على الـ spec. اختبر الـ edge cases. تأكد من الأمان. اتحقق من قواعد الأعمال. الـ AI بيبني، بس إنت بتعمل quality-check.

خطّط → ابنِ → اتحقق. بشري → AI → بشري. الـ SRS هو اللي بيخلّي التسليم بين المراحل نضيف.

الـ AI مش بيشيل المهندس المعماري. بيشيل الكاتب على الكيبورد. الـ SRS هو الدليل إنك إنت المهندس.


ابدأ بالمواصفات

المرة الجاية ما تبدأ مشروع، اقاوم الرغبة إنك تفتح VS Code الأول. افتح مستند. اكتب إيه اللي بتبنيه، لمين، إيه الصفحات، البيانات شكلها إيه، والقواعد إيه.

بعدين ادّي المستند ده لأداة الـ AI بتاعتك وشوف الفرق.

المطوّر اللي بيكتب أحسن spec بياخد أحسن AI output. كل مرة.

مشاركة