التسجيل في مسابقة رمضان

التسجيل في مسابقة رمضان

دي تفاصيل المسابقة بتاعت رمضان زي ما اتعودنا كل سنة

اول حاجة الفكرة الأساسية هي رحلة فريق من انهم مش فاهمين Agile و بيطبقوا حاجات متفرقة كده لأنهم يفهموا و يطبقوا صح و يطوروا شغلهم 

طبيعة المسابقة هتكون مهام أو مشكلة بيقابلها الفريق ده و هنشوف حلها ايه 

السنة دي عايزين نلعب كفرق ، تقدر تكون فريق تفكروا مع بعض و تحلوا المشاكل مع بعض و ده هيساعد كتير في اننا نفهم بعض و نتعود نسمع بعض و نشوف الموضوع من اكتر من وجهة نظر ، و لو الفريق اللي معاك زمايلك في نفس الشركة ده هيساعدكم جدا انكم تطوروا شغلكم الحقيقي مع بعض 

الناس اللي هتلعب كفرق هيكون ليها نقط اكتر يعني فرصة للفوز اكتر و في نفس الوقت هيكون ليها جوايز اكبر علي حسب عدد الفريق 

طيب نيجي بقي للجوائز 

الجاوئز هتكون vouchers تقدروا تستخدموها في اي من الخدمات اللي بقدمها سواء coaching للفريق او للافراد او كورسات 

الجائزة الاولي هتكون 2000 جنية

الجائزة التانية هتكون 1000 جنية

الجائزة التالتة هتكون 500 جنيه 

و طبعا كل اللي هيلعب معانا هيكون كسبان voucher 200 جنيه لاي حد مشارك في المسابقة 

اول حاجة محتاجين نعملها هي اننا نعرف الفريق اللي هتكون المسابقة عليه 

الفريق ده هيكون شبههنا جدا و عنده قدرات زينا و برده عنده تحديات زينا 

عشان كده وجب التنويه : اي تشابه بين المكتوب و بين الواقع في الشغل في اي شركة هو مش محض خيال المؤلف خالص لا هو عشان شفته في شركات كتير قبل كده 

تعالوا بقي نتكلم عن الفريق 

 الفريق ده بيشتغل في شركة عندهم product والحمد لله عندهم عدد جيد من العملاء ، و الشركة عايزين يعملوا scaling product من الناحية التقنية و طبعا عايزين يبيعوا لعملاء اكتر و يدخلوا أرباح للشركة أكبر ،  ده غير طبعا المحافظة علي العملاء الحاليين من خلال أنهم يحسنوا جودة ال product و كمان يشوفوا الfeedback بتاع العملاء و يشوفوا محتاجين يزودوا ايه في الشغل بتاعهم  .

و ده يفرض على الفريق تحديات من نوعية أنهم عندهم طلبات من العملاء القدام ده غير ال features اللي محتاجين يضيفوها عشان يطوروا المنتج و كمان الbugs اللي محتاجين يحلوها و شكاوي العملاء الحاليين منها و ضغط قسم الدعم الفني عليهم .

الفريق ده مكون من  خمسة developers ،  تلاتة منهم backend و اتنين frontend و معاهم Tester واحد و designer واحد و معاهم team leader هو اللي بيجمع ال requirements ويقسم ال Tasks و هو اللي بيتابع مع كل واحد لوحده الشغل بتاعه .

طيب ايه بقي المشاكل التي يعاني منها الفريق ده و عشان كده فكروا يشتغلوا Agile 

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

  2. ساعات كتير بنتأخر علي الtesting و مش بيلحق ياخد وقته في انه يخلص شغله صح او مش بنلحق نحل كل الbugs او بنكتشفها عند العميل و ساعتها بتكون urgent .

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

  4. ساعات كتير و احنا بنحل مشكلة urgent بتطلع مشاكل تانية في حتة تانية مكناش عاملين حسابنا عليها 

  5. الادارة شايفة الفريق دايما متأخر و مش بيسلم في المواعيد اللي هم قايلين عليها مع انهم اصلا بيشتغلوا كتير جدا و دايما مضغوطين 

طيب يلا بقي نشوف اول سؤال 

الطريقة اللي الناس دول شغالين بيها هي ان كل ال requirements بتروح للteam leader و هو حسب ما يشوف بيقعد مع الفريق او بعضهم و يشوفوا مين هيشتغل علي الrequest الجديد و بعدين يبدأوا يشتغلوا عليه و لما حد بيجيله task جديدة ممكن يشتغل عليها و يجي زميله لما يفضي يشتغل علي الtask القديمة .

الفريق ده فيه 2 seniors ممكن يقوموا بدور الteam leader احيانا لو هو مشغول قوي او مش موجود بس هو بيكون قايلهم يشتغلوا علي انهي جزء و مع مين من الفريق 

و نظرا للمشاكل المذكورة ، أول حاجة ممكن نعملها هي اننا نحط الشغل في pipeline واضح و ننظم طريقة شغلنا عشان كل الشغل اللي بيدخل للفريق ده يخرج و ميعطلش او يتوه 

و هنا بقي السؤال 

ازاي ننظم شغل الفريق ؟

و دي شوية حاجات تفكروا فيها 

الفريق ده الأنسب ليه يشتغل انهي framework  مثلا kanban ولا scrum  ؟

هل فيه تغيير في الأدوار اللي الفريق ده بيعمله ؟

ايه هي المبادئ اللي هنركز الفريق ده يتعلمها ويطبقها في المرحلة دي ؟

المطلوب من كل فريق انهم يبعتولي بالايميل file او presentation بالحل بتاع الاسئلة دي و طبعا يكون موضح ليه اخترتم الحل ده و لو فيه اي اسئلة عن تفاصيل تقدروا تسألوني او تقدروا تحطوا افتراضات من عندكم و تكتبوها في الحل  

ابعتوا الحل علي [email protected] 

طبعا المهام من النوع ده مفيهاش صح او غلط مطلق بس هيكون التقييم اولا علي صحة الحل من ناحية الagile standards , و ثانيا علي التفاصيل اللي عملتم حسابها او فكرتم فيها نظرا لظروف الشركة و الفريق و التحديات اللي بتقابلهم و ثالثا علي تكامل الحل نفسه 

و الفريق الكسبان هيطلعوا معايا يوم السبت يتكلموا عن الحل بتاعهم في حوالي 5 دقايق 

 

قبل ما نتكلم في تاني سؤال معانا في المسابقة ، 

خلينا الاول نشوف الفريق بتاعنا وصل لفين

زي ما اتفقنا من الحل بتاع الفريق الفايز انهم هيبدأوا يطبقوا Scrum و هيعملوا sprint اسبوعين و اهم حاجة هيركزوا علي الdefinition of Done بتاع الشغل  و كمان يركزوا ان الrequirements تكون واضحة ليهم قبل ما يبدأوا الشغل عشان كده كمان هيعملوا definition of ready عشان يعرفوا يجهزوا شغلهم قبل ما يبدأوا فيه 

الteam leaders و الseniors قعدوا حللوا كل الrequirements المفتوحة و المطلوبة منهم في الوقت الحالي وبدأوا يرتبوها بالاولويات عشان يقدروا يحددوا الscope بتاع اول sprint  :

لقوا ان فيهfeature قربت تخلص بس فاضل نحل bugs قرروا ان هم يخلصوهم في الاول عشان يقدروا يعملوا Release ليها

لقوا ان فيه feature جديدة بدأوا فيها بس اكتشفوا انها اكبر ما كانوا متخيلين فقرروا انها محتاجة تحليل اكتر و قرروا انها مش هتدخل الsprint دي

لقوا ان فيه  4 bugs مهمة عند بعض الclients و طالبينها من زمان فقرروا انهم يدخلوها الsprint .

لقوا ان فيه enhancement مطلوب علي feature جديدة و ده مطلوب من اكتر من عميل قرروا يدخلوه الsprint .

لقوا ان فيه integration كان طالبه الmarketing مع tool ليهم و قرروا يدخلها معاهم في الsprint 

كان فيه افكار كتيرة كانوا ناويين يبدأوا فيها بس قرروا يأجلوها عشان ميفتحوش شغل جديد كتير قبل ما يبدأوا القديم 

و بدأوا الSprint مع الفريق ، المهم مع الاتفاق ان مفيش حاجة هتخرج من الsprint غير لما تبقي عدت الdefiinition of Done 

طيب ايه هو الdefinition of Done بتاعهم  ؟

 قالوا يخلوه بسيط في الاول 

  1. تكون خلصت Development 

  2. تكون خلصت testing 

  3. نكون حلينا الbugs المهمة عشان نسلم

  4. نكون عملنا testing اخير علي الenvironment شبه الprodcution بالظبط و عليها data مشابهة 

و بالنسبة للdefinition of ready قالوا هيعملوه الsprint الجاية عشان مفيش عندهم requirements جديدة المرة دي 

تعالوا بقي نشوف اخر الsprint ايه اللي حصل معاهم و الsprint خلصت علي ايه و نشوف السؤال التاني من مسابقتنا

اخر ال sprint الفريق عمل sprint review عشان نشوف ايه اللي خلص في الsprint دي و ده كان نتيجته 

الfeature اللي كانت فاضلها bugs بس حلوهم و اتسلمت تمام و بقت live 

الbugs 4 القديمة اللي كانوا هيحلوهم قدروا انهم يخلصوا منهم 3 بس الرابعة فتحت في شغل كتير و طلعت الحل ليه تأثير علي اكتر من جزء في الsystem و لسه فيها شغل

الenhancement اللي كان مطلوب خلص بس لسه في مرحلة الtesting 

الintegration اللي كان مطلوب ملحقناش نخلصه عشان كل شوية نجرب حاجات و مش شغالة فسيبناها و ركزنا علي الfeatures التانية 

اخر حاجة الفريق عمل الretrospective meeting 

انا هنا هقول ايه الحاجات الكويسة اللي الفريق قال عليها و ايه المشاكل اللي حصلت و السؤال بقي هيكون ايه الactions اللي الفريق ده محتاج ياخدها عشان يحسن الsprint الجاية 

ايه اللي حصل كويس في الsprint :

انهم اشتغلوا علي حاجات محددة في وقت محدد 

الstandup meeting ساعدهم انهم يسلموا شغلهم ما بين الtesting و الdevelopement 

الdefinition of done ساعدهم انهم يعرفوا حجم الشغل المطلوب قبل ما يسلموه 

ايه المشاكل اللي قابلتهم :

ملحقوش يخلصوا كل اللي كانوا مخططين ليه مع انه كان يبان علي قد الوقت

مكانوش عاملين تخطيط كويس للbug اللي فتحت منهم 

ساعات كان فيه ناس مش بتحضر الstandup و ده خلي فيه ناس بتتعطل عشان فيه معلومات مش متاحة

الtesting كان فاضي في اول الsprint بس جم في الاخر و بقوا مزنوقين عشان كده ملحقوش يخلصوا الenhancement 

كنا ناسيين الdefinition of Done في الاول و لما جينا نراجع عليه في الاخر طلع فاضل شغل طول معانا في الوقت 

ده كان اللي حصل في الsprint ، طبعا شوفتوا قد ايه الSprint review و الsprint retrospective اجتماعات مهمين عشان بنعرف كلنا الدنيا ماشية ازاي و بنشوف ايه اللي ممكن يتصلح 

السؤال هنا 

ايه اهم 3 actions الفريق ده محتاج ياخدهم عشان الsprint الجاية تكون احسن و نقدر نسلم الشغل المطلوب جوا الsprint ؟

ملحوظة : التحدي هنا مش في اننا نعمل pracitces اكتر ، التحدي المرة دي في الmindset و ازاي الناس بتطبق الpractice بشكل يساعدهم يشتغلوا احسن 

ابعتوا الاجابة علي [email protected] ، و معانا وقت المرة دي ، الdeadline يوم الاتنين قبل الفطار ، بس اللي هيسلم يوم الحد ليه bonus 

و لو مش عارفين تاريخ الفريق او تفاصيل المسابقة تقدروا تلاقوها من هنا 

https://shokrof.com/ramadan-competition-registeration/

طيب نيجي لحل السؤال التاني ,و نشوف الحلول المتقدمة من ال3 فرق اللي معانا و نحللها و نتعلم منها 

المرة دي هنشوف ان فيه حلول كتير صح بس ممكن متكونش مناسبة للموقف او مش بتكون بتحل المشكلة بتاعت الفريق 

ايه هي الactions اللي الفريق محتاج ياخدها عشان يحل مشاكل اول sprint و يحسنوا الsprint اللي بعدها 

نيجي لاول مشكلة و هي انهم اخدوا شغل كتير عن اللي يقدروا يخلصوه مع انه كان يبان سهل و يكفي الوقت ، مع المشكلة التانية بتاعت ان فيه bug كان المفروض تتحل و طلع ليها تبعات كتير و كمان مع موضوع الintegration اللي كان مش شغال .

ده بيوضح ان الفريق ده محتاج يركز علي التخطيط للشغل ، و تحديدا مرحلة تكسير الشغل و دراسة  ابعاده قبل ما نقول الوقت يكفي ولا لا ، و الحقيقة المهارة ده مهمة جدا عشان نقدر نخلص الشغل صح مش بس نعمله Estimate .

في الجزئية دي كل الفرق جاوبت اجابات مشابهة عن تحضير الشغل قبل الplanning و تكسيره و دراسه ابعاده .

بس كان عندنا اجابة من اكيرة من فريق شباك عن اننا نشوف بعد كام sprint الفريق بيقدر يخلص قد ايه و بكده نقدر نحط estimate 

الاجابة دي مش غلط في المطلق بس مش هتحل مشكلة اننا لازم نكسر شغلنا صح عشان نعرف نسمله

تاني مشكلة بتاعت الtesting اللي اتاخر الشغل عليه و ملحقش يخلص و تيجي معاها مشكلة الdefinition of done ، المشكلة هنا في تقسيم الشغل و تخطيط الشغل انه يخلص end to end .

هنا الفريق بيعمل حاجة مشهورة قوي ، احنا بقينا نشتغل sprints بس جوا الsprint بنشتغل بنفس الطريقة القديمة ، ده طبيعي في اول sprint بس لازم يغيروا طريقة الشغل و طريقة التقسيم و ترتيب الشغل .

عشان كده محتاجين يبصوا علي الdefinition of done في الplannig و مع كل Task و محتاجين يتعودوا يسلموا للtesting اول بأول عشان يقدروا يخلصوا الشغل جوا الsprint .

هنا برده عايزة اناقش الحل بتاع فريق final destination في النقطة دي ، هم قالوا يبدأوا يشتغلوا بtest driven development ، برده الحل ده صح في المطلق بس هنا مش شايفاه مناسب ، لانه مش بيحل المشكلة الاساسية ، في الاخر هنسلم متاخر برده ، بالعكس ده بيزود خطوات علي الفريق اللي هو اصلا متأخر و ممكن يزود تعقيد المشكلة ، مع انه طبعا هيحسن الquality بس ممكن يخلينا نتأخر اكتر

نيجي لتالت مشكلة و هي حضور الstandup ، المهم هنا ان الفريق يبقي فاهم كويس ايه لازمة الstandup و ازاي هيأثر في شغلهم لو حد غاب و يتفقوا انهم يلتزموا بيه ، بعد كده نشوف ايه اللي ممكن يخليهم ميلتزموش زي ان معاده مش مناسب . و برده طبيعي مع فريق لسه بيطبق في الاول انهم يكونوا مش مقدرين اهمية الmeetings .

هنشوف بقي بعد كده الفريق لما يطبق الحلول دي هيعمل ايه و ايه اللي هيقابله تاني في الretrospective الجاي 

نتكلم بقي عن الفريق بتاعنا دلوقتي ايه نظامه و ايه التطورات اللي بيعملها 

الفريق ده قرروا انهم يركزوا كويس قوي في الsprint planning meeting و مش بس كده قرروا انهم يحضروا ليه كمان عشان يقدروا يطلعوا منه بخطة كويسة للsprint 

عشان كده قرروا يعملوا كام حاجة للشغل اللي فات قبل الsprint planning  :

  1. تحليل للimpact analysis بتاعت الbug عشان يعرفوا هي تأثيرها ايه و احسن طريقة يحلوها بيها 
  2. قرروا يعملوا تخطيط اكتر للintegration و يجربوا كل حاجة محتاجينها و يسألوا عليها قبل ما يشتغلوا 
  3. قرروا يقروا الdefinition of done في الsprint planning عشان مينسوش الشغل بتاعه
  4. و اخيرا قرروا انهم كل ما task تخلص هيسلموها للTesting عشان يلحقوا يخلصوا شغلهم بسرعة

طيب تعالوا نشوف بقي ايه الscope اللي داخل معاهم الsprint دي ، طبعا تكملة الشغل اللي باقي من الsprint و شوية شغل جديد

فاكرين الfeature اللي كانوا بدأوا شغل فيها و بعدين لقيوا ان هي كبيرة قالوا هيأجلوها

كان الteam leader قعد يحللها و يشوف ايه كل الrequirements المطلوبة فيها و قال انه هياخد نص ساعة من الsprint planning يشرح للفريق ايه اللي مطلوب يتعمل فيها و يشتغلوا عليها ، هم قالوا انهم هيشتغلوا علي جزء منها الsprint دي و يكملوها الsprint اللي بعدها 

طيب نشوف السؤال التالت بقي 

الحقيقة ان قرارات الفريق اللي اخدوها في الretrospective فرقت معاهم في تاني sprint بس للاسف معرفوش يطبقوها كلها ، يعني مثلا ملحقوش برده يشتغلوا علي الmarketing integration و يجربوه .

ده برده طبيعي في الاول عشان بنقول علي Actions كتير بس مش دايما بيكون عندنا وقت نحققها كلها .

طيب تعالوا نشوف بقي الدنيا مشيت ازاي 

نبدأ بالsprint planning meeting كان المفروض ياخدوا منه نص ساعة عشان يشرحوا تفاصيل الfeature الجديدة اللي المفروض هيشتغلوا علي جزء منها.

بس للاسف عشان التفاصيل دي كتير اخدت وقت طويل و ده خلي الاجتماع يطول جدا و بالتالي ملحقوش يعملوا planning كويس 

طيب نشوف بقي لما عملوا sprint review و sprint retrospective قالوا ايه 

اولا الsprint review :

الحاجات الشغل الباقي من الsprint اللي فات خلص و طلع live ماعدا الintegration عشان سابوه و قرروا يشتغلوا علي حاجة تانية 

الشغل الجديد بقي مقدروش يسلموا منه جزء يطلع لايف ، بدأوا في اجزاء منه و فعلا لما كانوا بيخلصوا جزء كانوا بيسلموها للtesting علي طول بس كان بيطلع scenarios كتير مش واضحة و بترجع تاني يشتغلوا عليها .

عشان كده في الاخر كانوا مخلصين شوية شغل بس مفيش Scenario كامل يعرفوا يسلموه 

تعالوا نشوف بقي قالوا ايه في الretrospective :

اول حاجة قالوها ان الSprint planning كان طويل قوي و لقوا ان الشرح اللي كان المفروض ياخد نص ساعة اخد ساعتين و نص و ده خلاهم مش مركزين في بقية الاجتماع 

كمان قالوا انهم ضيعوا وقت في تفاصيل كتير ملحقوش يشتغلوا عليها في مقابل نسيوا يتكلموا في حاجات مهمة قابلتهم و هم بيشتغلوا 

السؤال بقي 

ايه الActions اللي الفريق ده محتاج ياخدها عشان يحل المشاكل الجديدة اللي قابلتهم الsprint دي

ابعتوا الاجابة علي [email protected] ، و معانا وقت المرة دي ، الdeadline يوم الاتنين قبل الفطار ، بس اللي هيسلم يوم الحد ليه bonus