القائمة الرئيسية

الصفحات

كيفية انشاء برنامج من فكرة الى منتج

 


سنتطرق الى خطوات انشاء برنامج من بداية كونه فكرة وصولاً الى منتج يرى النور ويمكن للناس استخدامه.

لايخفى على احد ان برامج الحاسوب في زمننا هذا لم تعد مقتصرة على ماتراه على شاشة الحاسوب فقط، حيث اصبحت موجودة في الهواتف والسيارات وحتى في الملابس والاكسسوارات مثل الساعات وبالتاكيد في الادوات المنزلية حتى انهُ اصبح هناك بيوت ذكية بالكامل. في ضل هذه الثورة وهذا التطور الهائل الذي يشهده العالم اصبح من الملح ان يتعلم الجميع البرمجة او على الاقل ان يعرفو كيف يتعاملون معها وماهي الخطوات التي يجب اتباعها لانشاء برنامج جيد. 

الخطوة الاولى: الفكرة



ان اردت حقاً امتلاك برنامج جيد خاص بك فعليك اولاً الحصول على فكرة جيدة!

الهدف الأساسي لأي برنامج مهما كانت المنصة التي يعمل عليها هو القيام بمهمة ما تجعل حياة مستخدم هذا البرنامج أسهل سواء بتقديم خدمة له او تسهيل اداء المهام اليومية عليه، وهذا ما يجب عليك ان تضعه في نظر الاعتبار عند اختيار فكرة لبرنامجك الجديد.

اذا كانت فكرتك قديمة وتم تطبيقها مسبقاً من الجيد أيضًا إلقاء نظرة تفحصية على السوق ومحاولة استخدام البرامج التي تقوم بوظائف مماثلة او مشابهة لما يدور في ذهنك، ومحاولة الحصول على أفكار من تلك البرامج والتأكد من أن برنامجك سينجح في القيام بهذه الوظائف او يقدم هذه الخدمات بشكل افضل أو أسهل او حتى بشكل ارخص ولذلك لتنافس بقوة اكبر في هذا السوق.

اجمع افكار من محيطك

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

  • هل هناك إحدى المهام التي يمكنك أتمتتها؟ اي جعلها تلقائية ولا تحتاج لتدخل بشري وهل يمكن لك جعل برنامجك يقوم باتمتها لتسهيل العمل على المستخدم؟
  • ماذي يقدمه هذا البرنامج ولماذا يستخدمه الناس دون غيره؟
  •  كيف يمكنني الحصول على أداء أفضل في هذا البرنامج؟
  •  ما الذي ينقص هذا البرنامج؟ 
من خلال الإجابة على هذه الأسئلة يمكنك التوصل الى افكار منافسة وقوية جداً لدرجة انك ستستطيع اختراق السوق المعني من خلالها. 

الخطوة الثانية: انشاء نموذج اولي (Prototype) 



غالبًا ما يقال إن المستخدمين لا يمكنهم إخبارك بما يريدون، ولكن عندما يرون شيئاً ما ويستخدمونه، فإنهم يعرفون تقريباً ما لا يريدون. بعد جمع المعلومات حول ممارسات العمل ووجهات النظر حول ما يجب أن يفعله النظام وما لا يجب أن يفعله، نحتاج بعد ذلك إلى تجربة أفكارنا من خلال بناء نماذج أولية وتكرار هذه العملية من خلال عدة إصدارات. وكلما زاد عدد النماذج الاولية التي نبنيها كان المنتج النهائي أفضل. 

ماهو النوذج الاولي

النموذج الأولي هو تمثيل محدود للتصميم الذي يسمح للمستخدمين بالتفاعل معه واستكشاف مدى ملائمته للافكار التي لديهم. مصطلح النموذج الأولي، قد يجعلك تتخيل شيئاً مثل نموذج مصغر لمبنى أو جسر. ولكن في الواقع، يمكن ايضاً أن يكون النموذج الأولي شيء اخر بدءًا من الرسومات الورقية وحتى نسخ اولية معقدة من البرنامج.

يسمح النموذج الأولي لأصحاب المصلحة بالتفاعل مع المنتج المتصور، لاكتساب بعض الخبرة في استخدامه في بيئة واقعية، واستكشاف الاستخدامات المتخيلة.

النماذج الاولية منخفضة الدقة



النموذج من هذا النوع في العادة لا يشبه المنتج النهائي إلى حد كبير.
على سبيل المثال، عندما تستخدم مواد مختلفة تمامًا عن الإصدار النهائي المقصود، ففي حالاتنا نحن نتحدث عن نموذج اولي لبرنامج فلو استخدمنا في بنائه مواد مثل الورق والكرتون بدلاً من الشاشات الإلكترونية ولبرمجة سيكون هذا النموذج منخفض الدق، ولكن ننصح به عندما تكون الفكرة في بدايتها او عندما تريد عرض الفكرة على شركائك او بعض الاصدقاء لاخذ رأيهم بالفكرة.

النماذج الاولية عالية الدقة



هذه النماذج تستخدم المواد التي تتوقع أن تكون في المنتج النهائي وتنتج نموذجًا أوليًا يشبه إلى حد كبير الشيء النهائي، لكن بميزات اقل حيث يحتوي على الاشياء والافكار الاساسية فقط وبطريقة مبسطة.
على سبيل المثال، يعد النموذج الأولي لنظام برمجي تم تطويره في Visual Basic ذو دقة أعلى من النموذج الورقي وتستخدم العديد من الشركات في مجال البرمجة تقنيات مثل bootstrap لعرض نماذج اولية على عملائها لأخذ رأيهم في المنتج وتطبيق التعديلات التي يريدونها عليه مبكراً، وذلك سيختصر الكثير من الوقت والجهد حيث ان التعديل على نموذج اولي ابسط بكثير من التعديل على البرنامج الكامل.


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

الخطوة الثالثة: الاختبار


الاختبار مرحلة مهمة جداً ولاتقل في اهميتها عن سابقاتها، حيث ان اعطائك منتج برمجي لليوزر على انهُ جاهز للأستخدام في حين هو في الحقيقة يحتوي على مشاكل واخطاء سيكون ذلك ذو مردود سلبي عليك وعلى برنامجك وغالباً سيكون هذا سبباً كافياً لأخراجك من المنافسة. 

الاختبار الاولي Alpha test



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

الاختبار الثاني Beta test



في هذه المرحلة ستزيد عدد الذين سيختبرون البرنامج لأقصى حد ممكن. 
نستفيد من مرحلة الاختبار الثاني Beta في إتاحة البرنامج للأستخدام من قبل عدد أكبر من المختبرين، حيث ستحصل على تجربة اكثر واقعية تحاكي الحالة الطبيعية التي سيعمل بها البرنامج بعد اطلاقه بشكل رسمي، وذلك يتيح لك اختبار بعض الامور التي لم يكن من الممكن اختبارها في الاختبار الاول Alpha. مثل اختبار اداء البرنامج والسيرفرات في حال دخول عدد اكبر من المستخدمين لسيرفرات البرنامج في نفس الوقت اذا كان البرنامج يعمل  اونلاين. 
وتلجأ الكثير من الشركات إلى تنفيذ هذه المرحلة من الاختبار الى طرح البرنامج للعامة جميعاً، مع الإشارة إلى أنها نسخة تجريبية مفتوحة (نسخة بيتا) وهو ما يسمح لأي مستخدم بالتسجيل والمشاركة في في استخدام البرنامج، واعطاء الملاحظات والتعليقات التي ستساهم في تحسين البرنامج بشكل او بأخر.
من الجدير بالذكر انهُ يمكن تحديد ما إذا كانت عملية الاختبار بيتا ستكون عامة بحيث يتاح للجميع استخدام البرنامج أم لا بناءً على طبيعة مشروعك واحتياجاتك. يمكن أن تناقش الأمر مع فريق العمل الخاص بك.




بعد الانتهاء من هذه المراحل والوصول الى الشكل النهائي المطلوب والتأكد من خلو البرنامج من المشاكل او اي معوقات 
ستقوم بطرح البرنامج بشكل رسمي والبدأ بعملية التسويق بالاضافة الى عملية التطوير. وهذه المراحل الاخيرة ستستمر معك طول فترة حياة البرنامج حيث ان التطوير والتحديث المستمر هو شي اساسي لاغنى عنه لمعالجة الاخطاء وتحسين الخدمات او الوظائف التي يقدمها البرنامج للمستخدمين.


ملاحظة: هذه المقالة كانت موجهة لاصحاب الاعمال والافكار وكذلك المبرمجين لكي يأخذو فكرة عن طبيعة المراحل التي يجب ان يمر بها كل برنامج، لكن في هندسة البرمجيات تكون الخطوات مختلفة قليلاً حيث ستضاف بعض المراحل الاخرى مثل جمع المتطلبات وتحليل وتصميم الانظمة وما الى ذلك. 

تعليقات

التنقل السريع