كثير من مشاكل البرمجيات لا تبدأ كمشاكل كود.
هي في الأساس مشاكل قرار:
- ما النتيجة التي نريد الوصول إليها؟
- ما التنازل الذي نقبل به؟
- ما الذي يمكن شحنه خلال أيام وليس شهور؟
أنا أبدأ بالقيود ثم المعمارية.
الترتيب الذي أعمل به
- تحديد هدف العمل بوضوح.
- رسم رحلة المستخدم ونقاط الفشل.
- اختيار أصغر شكل تقني موثوق.
- الشحن بسرعة ثم التحسين.
هذا الترتيب يجعل المنتج يعمل فعلا في الواقع.
لماذا هذا مهم
الفرق تضيع شهورا عندما تحسن التنفيذ قبل التأكد من الاتجاه.
شحن نسخة مركزة مبكرا يعطي ملاحظات حقيقية ويمنع إعادة كتابة مكلفة لاحقا.
الهندسة بعقلية العمل ليست أقل تقنية، بل هي تنظيم أفضل للعمل التقني.