كيف حاولنا العمل في فريق ، وماذا جاء منه

StopProcrastination

دعنا نذهب في النظام


ماذا تعني هذه الصورة بعد قليل ، والآن اسمحوا لي أن أبدأ بمقدمة.

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

أوقفوا التسويف - ما هو ، وما الذي يتم تناوله به وكيف قمنا بتطويره وماذا جاء منه


سيتم إجراء القصة نيابة عن مدير المشروع ، الذي عينني لحسن الحظ أو للأسف. إذن ما هي الفكرة التي تتبادر إلى أذهاننا؟ مستوحاة من المنبه "Shake Alarm Clock" الشهير من SupperCommon ، أي وظيفة حظر تشغيل الهاتف الذكي بالكامل حتى يقوم المستخدم بإجراء معين ، والذي من المرجح أن يجعله يستيقظ ، قررنا إنشاء تطبيق مماثل يساعد في التخلص من الاعتماد على الهاتف ، بنفس مبدأ "اهتز المنبه"

مبدأ العمل


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

بناء فريق


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

وضعنا المهام


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

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

صورة

كتابة المواصفات

تحت تأثير كتاب Savin's Testing.com ، كان لدي في رأسي فكرتي عن كيفية ترتيب كل شيء. بدأ كل شيء بمواصفات الكتابة ، والتي أعتقد أنها بدون وصف واضح لما نتوقعه وما الذي سينجح وكيف لن ينجح شيء. سيقوم المبرمجون ببرمجة كل شيء كما يرون ، واختبار آخر ، والرئيس ينتظر الثالث ، وسوف تتحول كما هو الحال دائما الرابعة.

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

ارسم التصميم


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

تصميم v1

ولكن بعد ذلك تم تمشيط التصميم وإعادته إلى الوضع الطبيعي.
(رابط إلى جميع عناصر التصميم في نهاية المقال).

تصميم v2

برمجة


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

حسنا ، عن الاختبار


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

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

المراجع:


أحدث المواصفات .
تصميم figma .
حالات الاختبار وتقارير الأخطاء .

التطبيق نفسه على HokeyApp . - تم بناء التطبيق تحت اسم HandsOff ، ولا تسأل حتى عن السبب (لأن إيقاف التسويف طويل جدًا).

حسنا ، في النهاية


هل تعتقد أن كل هذا منطقي؟

Source: https://habr.com/ru/post/ar452712/


All Articles