في الفصل السابق أكّدنا أن التطوير الفردي يسير في خمس مراحل: «تقرر ← تجهّز ← تبني ← تنشر ← تنمّي»، وأن القاعدة هي «اقتصر على وظيفة واحدة وانشر MVP». يتناول هذا الفصل الثاني أولى تلك المراحل: «القرار». لنسِر معاً حتى تقرر — على نطاق صغير — ما الذي ستبنيه ولمن، ثم تصوغه في شكل مواصفات (spec).
أن تُحكم «ما تريد بناءه» حتى يصبح جاهزاً لتسليمه للذكاء الاصطناعي
لماذا نبدأ بـ «القرار»
أتفهّم جيداً رغبتك في البدء بكتابة الشيفرة سريعاً. لكن أكثر الإخفاقات شيوعاً في التطوير الفردي هو «أن تفقد أثناء البناء إدراك ما الذي تبنيه». حين تتحرك يداك والهدف غامض، ينحرف اتجاهك في المنتصف بـ«ربما أضيف هذه الوظيفة أيضاً»، ولا يكتمل المنتج أبداً.
لذا أجّل البرمجة؛ لا بأس. أوضِح أولاً «ما الذي ستبنيه، ولمن، وإلى أي مدى». من البديهي أن تضيع إن انطلقت دون خريطة أو هدف، وبالمقابل، متى تحدّدت الوجهة قادك الذكاء الاصطناعي — رفيقك — عبر أقصر طريق.
تتكاثر الوظائف ويزداد التعقيد. وتوجيهك للذكاء الاصطناعي ينحرف في كل مرة. تبتعد النهاية، وتنفد الهمّة فتُهمل المشروع.
يستقر الهدف على شيء واحد. تُوجّه الذكاء الاصطناعي بدقة، ولا تنحرف مخرجاته. تبلغ «الشيء الذي يعمل» بأقصر طريق.
💡 «القرار» ليس وقتاً تغرق فيه في التفكير. لست بحاجة إلى وثيقة مشروع مثالية. ما نفعله في هذا الفصل هو قرار صغير يسع ورقة واحدة (أو شاشة مذكّرة واحدة). أن تقرر — ولو مؤقتاً — وتمضي قدماً، أسرع بكثير في بلوغ الهدف من أن تتوقف حائراً.
كيف تجد فكرة ― الحوار الفكري مع الذكاء الاصطناعي
«ليس لديّ تحديداً ما أريد بناءه» — لا بأس. الأفكار لا تُنتزع من العدم، بل تُلتقط من مضايقات قريبة منك. وهذا الالتقاط بالذات هو ما يبرع فيه الذكاء الاصطناعي أكثر ما يبرع. لست مضطراً للتفكير وحدك حتى الإنهاك. إن جعلت الذكاء الاصطناعي شريك حوارك الفكري، تتدفق الأفكار تباعاً.
ما تشعر أنه مزعج قليلاً كل يوم. تكرار عمل يدوي، عناء التسجيل، وقت البحث عن الأشياء. ما يزعجك يزعج غيرك أيضاً.
ما فكّرت فيه «لو وُجد تطبيق كهذا لاستخدمته». أول مستخدم هو أنت. ما تريده بصدق يبقي دافع البناء مشتعلاً.
تُلقي اهتماماً غامضاً على الذكاء الاصطناعي فيرد عليك بأسئلة. تتضح الملامح مع تواصل الحوار. إنه الشريك الأمثل لتنطق أفكارك بصوت عالٍ.
سرّ الحوار الفكري هو أن تُلقي موضوعاً محدداً. «هل من تطبيق جيد؟» لن يأتيك بجواب جيد. اسأل بزاوية مركّزة كما يلي:
- «اقترح 10 أفكار تطبيقات تحلّ عناء إدارة المصروفات، كل واحدة بجملة».
- «أيها أصغرها بناءً؟ مع ذكر السبب».
- «هذه الفكرة، هل من يستخدمها فعلاً؟ بيّن المستخدم المستهدف وموقف الاستخدام».
- «هل توجد خدمة مشابهة بالفعل؟ وإن وُجدت، أين الفارق الذي يمكن للفرد استهدافه؟»
- «لو قلّصت هذه الفكرة إلى وظيفة واحدة فقط، فأيها ينبغي أن تبقى؟»
الأسلوب الناجع أن تطلب 10 وتختار 1. الذكاء الاصطناعي يصف لك مرشحين كثيرين في لحظة، فتتفرغ مهمتك للتركيز على «الاختيار». متى وجدت ما يشدّك، تعمّق فيه أكثر.
اقتصر على وظيفة واحدة ― قاعدة التطوير الفردي
متى بدأت ملامح الفكرة تظهر، فالأهم تالياً ألا «تفرط في التكديس». أتذكر قاعدة الفصل السابق؟ اقتصر على وظيفة واحدة وانشر MVP — هذه أكثر قاعدة يُخلّ بها في التطوير الفردي، وأكثرها استحقاقاً للالتزام.
في اللحظة التي تطمع فيها «ما دمت أبني، فلأضف تلك الوظيفة وهذه»، تبتعد النهاية. فحين تصير الوظائف اثنتين، لا يتضاعف العمل مرتين، بل يتضخم إلى ثلاثة أو أربعة أضعاف بسبب التوليفات بينها. وقت الفرد وطاقته محدودان. اقتصر في البداية على «هذه الوظيفة الواحدة التي تكفي لتحقيق القيمة».
تسجيل الكتب، مذكرة انطباع، تقييم بالنجوم، رسم بياني لوقت القراءة، مشاركة مع الأصدقاء، اقتراح كتب بالذكاء الاصطناعي، قراءة الباركود… تسعى إلى «كل شيء» فلا يكتمل أبداً.
«تسجيل الكتاب المقروء مع انطباع في سطر واحد» فقط. يكفي أن تستعرضه في قائمة. انشر أولاً، فإن استُخدم أضِف التالي.
✅ معيار الحذف هو «هل يستقيم المنتج بدونها». أي وظيفة ترددت فيها ضعها أولاً في صندوق «لاحقاً». لا تُلقِها، بل أضفها بعد النشر إن تبيّن أنها ضرورية فعلاً. حين تعمل وظيفتك الأولى ويستخدمها أحدهم، رد فعل المستخدم هو ما يُعلّمك ما ينبغي إضافته تالياً.
صُغ فكرتك في سطر واحد
بعد أن اقتصرت على وظيفة واحدة، حوّلها الآن إلى كلمات في سطر واحد. هنا لبّ هذا الفصل. حين تُدخل الصورة الضبابية في رأسك في قالب «لمن، وأي إزعاج، وكيف يُحلّ»، تتجسّد الفكرة دفعة واحدة.
«تطبيق لأجل من يقرؤون الكتب كثيراً، يحلّ إزعاج نسيان الكتب المقروءة بسرعة، عبر تسجيلها بسرعة مع انطباع في سطر واحد واستعراضها في قائمة.»
إن نجحت في كتابة هذا السطر، فكأن تطويرك الفردي نجح نصفه. فكل ما يليه — اختيار التقنية، وتوجيه الذكاء الاصطناعي، وحتى نص التعريف عند النشر — يصير هذا السطر محوره الثابت. وإن تعذّر عليك كتابته، فاستعِن هنا أيضاً بالذكاء الاصطناعي. اطلب «صُغ هذه الوظيفة في سطر واحد: لمن، وأي إزعاج، وكيف يُحلّ» فيقترح عليك عدة صيغ.
حوّلها إلى مواصفات ― أساس التطوير مع الذكاء الاصطناعي
متى استقر السطر، حوّله أخيراً إلى مواصفات (spec). المواصفات هي «مذكّرة تصميم لما ستبنيه». لا تُعقّد الأمر؛ يكفي أن تُدوّن الحد الأدنى من النقاط الثلاث: الشاشات والبيانات والعمليات.
لماذا المواصفات مهمة؟ لأن في البرمجة بالذكاء الاصطناعي تصير المواصفات هي الأساس مباشرة. فتسليم مواصفات مكتوبة بشاشات وبيانات وعمليات يجعل الذكاء الاصطناعي يردّ شيفرة أدقّ بأضعاف مقارنة بأن ترمي إليه «ابنِ لي تطبيقاً كهذا». وقد بلغ هذا المبدأ منتهاه في التطوير المدفوع بالمواصفات (Spec-Driven Development)، وينفع المبدأ نفسه في التطوير الفردي.
أي شاشات تحتاج.
مثال: قائمة السجلات، إضافة سجل. شاشتان أو ثلاث تكفي في الغالب.
ما الذي تحفظه.
مثال: عنوان الكتاب، الانطباع، تاريخ التسجيل. مجرد سرد للحقول في نقاط.
ما الذي يستطيع المستخدم فعله.
مثال: إضافة سجل، عرضه في قائمة. اسرد ما يمكن فعله بأفعال.
ما دوّنته من هذه الثلاث هو أول مواصفاتك. فلتطبيق سجل القراءة مثلاً، تكون المذكّرة كالتالي:
البيانات: عنوان الكتاب (نص) / الانطباع (نص في سطر واحد) / تاريخ التسجيل (تاريخ)
العمليات: إضافة سجل، عرضه في قائمة من الأحدث، حذف سجل
💡 لا يلزم أن تكون المواصفات مثالية. لست مضطراً لكتابة كل شيء من البداية. متى انتبهت أثناء البناء إلى «آه، هذه أحتاجها أيضاً» أضِفها. المهم هو «أن تملك ورقة أساس واحدة أولاً». فالبناء انطلاقاً من مسوّدة أسرع بأضعاف — للذكاء الاصطناعي وللإنسان — من البناء من صفحة بيضاء.
كيف تسير في مسار المبتدئ ومسار الممارسة
عمل «القرار» حتى هنا هو ذاته في كلا المسارين. الفارق فقط في إلى أي مدى تكتب المواصفات بشكل رسمي، ولمن تسلّمها. سِر بحسب مسارك.
المواصفات مكتوبة بخط اليد في مذكّرة أو دفتر تكفي. لا حاجة لوثيقة منسّقة. متى سردت «الشاشات والبيانات والعمليات» في نقاط، الصقها كما هي في محادثة ذكاء اصطناعي وحاوره. اسأل «هل في هذه المواصفات نقص أو تناقض؟» فيسدّ الذكاء الاصطناعي الثغرات.
هدف هذا الفصل: يكفي أن تصوغ السطر الواحد وتكتب مذكّرة النقاط الثلاث.
اجمع المواصفات في ملف Markdown (مثل spec.md)، وسلّمها لـ Claude Code أو Cursor. يقرأ محرر الذكاء الاصطناعي وثيقة المواصفات ويجعلها أساس التنفيذ، فكلما أتقنتها هنا أسرع ما يليها. طريقة الكتابة تجدها في التطوير المدفوع بالمواصفات.
هدف هذا الفصل: يكفي أن تُنجز ورقة spec.md واحدة قابلة للتسليم لمحرر الذكاء الاصطناعي.
في كلا المسارين، الهدف أن تكون بحوزتك عند نهاية هذا الفصل «صياغة السطر الواحد» و«الحد الأدنى من مواصفات الشاشات والبيانات والعمليات». متى بلغت هذا، لم يبقَ إلا تهيئة أساس البناء. وقد صرت مستعداً للانتقال إلى المرحلة التالية.
الخلاصة والفصل التالي
- أجّل البرمجة. أولاً «قرّر ما الذي ستبنيه ولمن» كي لا تضيع.
- الأفكار من مضايقات قريبة ومن أشياء تريدها أنت. حاوِر الذكاء الاصطناعي فكرياً، أخرِج 10 واختر 1.
- قاعدة التطوير الفردي هي «اقتصر على وظيفة واحدة». أي وظيفة ترددت فيها ضعها في صندوق «لاحقاً».
- صُغ الفكرة في سطر واحد: لمن، وأي إزعاج، وكيف يُحلّ.
- المواصفات هي النقاط الثلاث الدنيا: الشاشات والبيانات والعمليات. في البرمجة بالذكاء الاصطناعي تصير المواصفات هي الأساس.
- المبتدئ يسير بـدفتر ومحادثة ذكاء اصطناعي، والممارسة بـملف spec.md بصيغة Markdown.
مرحلة «القرار» تنتهي هنا. متى صارت فكرتك في سطر واحد والحد الأدنى من المواصفات بحوزتك، فأنت على بُعد خطوة من بدء البناء. تالياً مرحلة تقرر فيها بأي تقنية وأدوات ستبني فعلاً. يمكنك العودة إلى الفصل الأول «الصورة الكاملة واختيار المسار» لتراجع الخريطة، أو تمضي مباشرة إلى الفصل الثالث «جهّز التقنية والأدوات». يبدأ تهيئة الأساس الذي يجسّد سطرك الواحد.