واجه تحدياتك بدري … Agile ليه تشتغل
نكمل كلام عن ليه نشتغل Agile ، اتكلمنا عن الAgile Mindset و ليه ضرورية في شغل الsoftware هنا، دلوقتي هنتكلم عن نماذج كتير بتقابلنا كلنا تخلينا نعرف ليه نشتغل Agile
من اسباب قوة الAgile و نجاحه انه بيخلينا نعرف مشاكلنا بوضوح و نخبط في تحدياتنا بدري و نشتغل علي حلها بسرعة و لاننا بنركز علي التعليم و التطوير المستمر و التواصل بين الفريق و التواصل مع العميل .
هنتكلم هنا عن مشاكل او تحديات حقيقية بتقابل الفرق و هي بتشتغل و ازاي عرفناها بدري و حليناها و وفرت علينا شغل كتير كان بيتعمل لو اكتشفناها متاخر.
اول حاجة فهم الفريق للمشروع و طبيعة المشروع ، يعني مثلا لو بنعمل مشروع للمدارس و هيستخدمه مدرسين ، انا معنديش فكرة عن مدي معرفة المدرسين دول بالكمبيوتر و مهارتهم فيه ، ممكن يكونوا كبار او صغيرين ، مع اول feedback من العميل عرفنا ان اول feature عملناها دي صعبة علي المدرسين و مش عارفين يستخدموها ، و عدلنا فيها و عملنا حسابنا اننا نعمل الfeatures بسيطة بعد كده ، تخيلوا بقي الscenario التاني لو مش مهتمين بالfeedback و اكتشفنا في الاخر ان كل الfeatures اللي عملناها محدش عارف يستخدمها ، عندنا حل اننا ندرب الناس علي البرنامج و ده وقت و مجهود علينا و عليهم ، او نعدل في كل حاجة و دي برده تكلفة كبيرة، في الاخر الشغل Agile وفر علينا كل ده في اجتماع نص ساعة بعد ما خلصنا اول feature .
تاني حاجة هي التواصل بين الفريق ، يعني مثلا لما بنطبق الDaily Standup مش بيبقي فيه الكلام بتاع اصل انا بقالي يومين مش بعمل حاجة عشان فلان اتاخر عليا، و لا بقالي اربع ايام في مشكلة و زميلي عارف حلها بس ميعرفش اني محتاجله ولا موضوع انا خلصت الشغل بتاعي بس مش عارف اعمل ايه ولا اقول لمين ، تخيلوا كمية الوقت اللي بيضيع بسبب اننا مش بنتكلم مع بعض و مستنيين مدير ييجي يشوف عنده في الplan مين هيعمل ايه .
تالت حاجة الاولويات ، التواصل مع الفريق و العميل او الناس بتوع الbusiness و اسئلة الفريق ساعة التنفيذ مهمة جدا ، بتبين احنا فعلا فاهمين المشروع ولا لا و عارفين عايزين منه ايه و هل الشغل اللي بنعمله ده في الاتجاه الصح ولا لأ، في مرة كان اجتماع مع الفريق و الbusiness analyst و مدير المشروع و من اسئلة الفريق اكتشفنا ان الbusiness analyst و مدير المشروع مش شايفين نفس الاولويات للمرحلة القريبة و كل واحد كان بيطلب من الفريق انه يشتغل علي حاجة ، عشان احنا بنشتغل كفريق و لينا target نخلصه في iteration كان لازم نحل مشكلة التواصل دي و الناس يقعدوا مع بعض يتفقوا الناس هتشغل في ايه و ده يحصل قبل كل iteration، الفريق كان شاطر و بينجز بس كان ماشي زي العربية السريعة في اتجاه الترعة ، طبعا حاجة زي كده لما نكتشفها مع اول او تاني iteration احسن من اننا نعرفها بعد ما الفريق بقاله 3 او 4 شهور شغال في الاتجاه الغلط.
كمان لما بيبقي عندنا هدف اننا نوصل ان الفريق يتعلم و يبقي self organizing ، بنعمل Inspect and Adapt و بنعمل daily standup بنكتشف نقط ضعف الفريق و بيبقي فيه روح اننا نتطور و نساعد بعض و نحل المشاكل ، يعني لو فيه حد بطئ هيبان في الdaily standup انه كل يوم بييجي يشتغل في نفس الحاجة و يطور نفسه ، لو فيه مشاكل زي ان الشغل بيطلع فيه bugs كتير عشان الوقت المحطوط قليل بنبدأ نشوف هنحط وقت اكتر ولا نعمل ايه ، المهم ان الفريق بيتطور و يتعلم انه يقول المشاكل و يحلها مش بنكمل بيها طول المشروع خايفين نتكلم فيها او مستنيين مدير يحلها.
من الحاجات المهمة كمان اللي بتبان لما نشتغل Agile و نركز علي الworking software and iterations ان الفريق يبقي غير متكافئ ، عندنا 3 developers و tester وحيد مش ملاحق عليهم ، ده بيبان مع اول iteration ملحقناش نخلص الشغل فيها ، علي طول بنحل و نظبط الفريق علي حسب ما الشغل محتاج ، لو مش Agile بنكون فاكرين اننا بننجز طالما الناس شغالين ، بس الحقيقة احنا مش بننجز احنا بنراكم الشغل في الاخر مش اكتر و لو جبنا tester تاني في الاخر مش هيبقي فاهم قوي و مش هيشتغل كويس و الbugs كلها هتطلع في الاخر و منلحقش نحلها و لخبطة كتير .
اخر حاجة بقي المفاجات و دي حدث ولا حرج ، لو مش بنشتغل Agile المفاجات كلها بتطلع في الاخر لما تبقي مصايب عشان مش بنتابع حلها اول باول ، مثلا تلاقي الserver فيه مشاكل و الفريق عارف بس محدش اهتم مع الشغل الكتير انه يتابع ، او الtechnology فيها limitation معين اكتشفناه في الاخر مع انه في اهم feature عشان مش حاطين اولويات صح و بناجل في الموضوع ، او نيجي نعمل integration لحاجات في الاخر نلاقيهم مش نافعين خالص عشان الناس مش بتتواصل و مش بتجرب ده من الاول ، في الاخر كل ده مش بيحصل لو كل واحد متبني الAgile Mindset بجد .
لما الناس بتشتغل Agile و بتتعود انها تفكر حسب القيم و المبادئ ، كل واحد في الفريق بيتعود انه لو شاف مشكلة او تحدي هيتكلم فيه و يدور ازاي يحله ، لو فيه مشكلة في التواصل بيعرف يقولها و يركز علي الحل مش مين اللي غلطان ، و بيتقبل feedback و بيطور من نفسه و ده من اهم اسباب ان الناس تشتغل Agile
Comments