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