Free YouTube Transcribe

Video transcript

MPS - 4

MecaHormiga · 9,111 words · 42 min read

Want to search this transcript, jump the video from any line, or download it as TXT, SRT, or VTT?

Open in the transcript tool

Full transcript

3:37كيف حالكم ؟ كيف أموركم

3:39؟

3:42>> مرحباً ، مساء الخير .

3:48>> حسناً ، لقد اطلعت على

3:49الواجبات العملية حتى

3:51يوم الجمعة ، على ما

3:53أعتقد . إذا قمت بالرد

3:55على أي منها ، فذلك

3:57لوجود شيء يحتاج إلى

3:58تحسين . أما الذين لم

4:00أرد عليهم ، فهذا يعني

4:02أن عملهم جيد . لذا ، إذا

4:06كنتم ترغبون في

4:07إرسالها بعد يوم

4:08الأربعاء هذا ، فلا

4:10توجد مشكلة . لا يزال

4:13البعض لم يرسل بعد ،

4:15لذا لا توجد أي مشكلة .

4:17استمروا في العمل بشكل

4:18جيد ، لكن بعد هذا

4:20الأربعاء سنتوقف ،

4:21لأننا إذا استمرينا

4:22أكثر من ذلك فسيصبح

4:24الأمر طويلاً جداً .

4:25حسناً . إيه ، جيد . اليوم

4:35سنتناول عملية تطوير

4:37البرمجيات ،

4:39والمنهجيات ، ودورة

4:40حياة النظام . وبعد ذلك

4:43سنتحدث قليلاً عن قصص

4:45المستخدمين . إنها عرض

4:47تقديمي آخر . هل لديكم

4:49أسئلة حول الواجب

4:50العملي ؟

4:56>> لا ، أعني ، أنا أربطه

4:58بالخوارزمية ، ما قمنا

5:00به يشبه الخوارزمية .

5:04إيه

5:05>> تقسيم كل شيء إلى

5:06خطوات ، والانتباه لها .

5:08حسناً ، هذا صحيح ، هذه

5:09مدخلات ومخرجات ، أليس

5:11كذلك ؟ ونرى ما نحتاجه

5:12وما الذي

5:14>> نحصل عليه .

5:15>> لن تكون خوارزمية ، بل

5:17ستكون سيناريوهات

5:19حالات اختبار ، لكن

5:21>> لا ، إنها ليست

5:23خوارزمية

5:25>> لكن لحلها ، فكرت فيها

5:27كخوارزميات .

5:28>> إذا كنت تريد التفكير

5:29فيها بهذه الطريقة ،

5:31فلا توجد مشكلة . لا ، لا

5:32، لا توجد أي مشكلة .

5:34حسناً . حسناً ، هل هناك

5:39أي سؤال آخر حول

5:40الواجب ؟ الأمر واضح

5:42جداً يا شباب . لا توجد

5:44تعقيدات كثيرة . إنها

5:45من الحياة اليومية .

5:49حسناً ، سننتقل للحديث

5:51عن عملية تطوير

5:52البرمجيات ، وكيف يتم

5:54بناء البرمجيات ، ومن

5:56يشارك في كل مرحلة من

5:59المراحل . ربما تكونوا

6:01قد درست جزءاً من هذا

6:02في مادة أخرى ، لكننا

6:04سنقوم بمراجعته

6:05وسنتعمق قليلاً في

6:07الاختبار . هنا لدينا

6:08الأنشطة الرئيسية

6:10التي تتم خلال هذه

6:11العملية . وأود أن أوضح

6:15أنها ليست خطية بهذا

6:16الشكل ، فهي معروضة

6:18بهذه الطريقة لأغراض

6:20أكاديمية فقط . التحليل

6:25، التصميم ، التطوير ،

6:27الاختبار ، التنفيذ . ثم

6:29تأتي مرحلة الصيانة ،

6:31وهناك مرحلة التخطيط

6:33وهي مرحلة متداخلة مع

6:35كل الأنشطة التي

6:37ذكرتها . قبل البدء في

6:40مشروع تطوير برمجيات ،

6:42يجب تحديد النطاق ،

6:43والموارد ، والمواعيد ،

6:45والتوقعات ، والجدوى ،

6:47والتكاليف أيضاً ، وهي

6:49مهمة جداً . كل هذا يتم

6:53خلال مرحلة التخطيط ،

6:55وبالطبع الخطط هنا

6:56ليست محفورة في الصخر .

7:01لأن هذا هو السبب في

7:03وجود مرحلة تخطيط

7:05يرافقها متابعة وتحكم .

7:12سيتم تنفيذها طوال

7:14دورة حياة المشروع

7:15بأكملها . حسناً ، إيه .

7:26سيتم إدارة المخاطر ،

7:28كما ذكرت لكم ، وسيتم

7:30اتخاذ إجراءات بشأن أي

7:32انحرافات قد تنشأ وما

7:35إلى ذلك . إيه ، لدينا

7:39أيضاً مرحلة ، إيه ،

7:40الأولى وهي مرحلة

7:42التحليل ، وهي أول تقرب

7:44للنظام . خلال هذه

7:46المرحلة ، ما نقوم به

7:48هو معرفة وتحديد ما

7:50يجب على النظام فعله

7:52بالضبط . ما نسعى إليه

7:56هو فهم مناسب لمتطلبات

7:58النظام ، أي خصائصه

8:00ووظائفه . ما الذي

8:04سيقوم به النظام ؟

8:05حسناً . بعد ذلك هناك

8:07مرحلة التصميم . خلال

8:09هذه المرحلة ، نفكر في

8:11كيفية تنفيذ تلك

8:13المتطلبات أو القصص

8:15التي جمعناها . إنها

8:18مرحلة سنتحدث فيها عن

8:20الهندسة المعمارية

8:21وأنماط التصميم . إنها

8:24مرحلة معقدة نوعاً ما ،

8:26لكنها ستكون تكرارية

8:28وتراكمية بشكل عام

8:30طوال المشروع . أي ، أن

8:36ما يتم طرحه في

8:37البداية سيتحسن بمرور

8:39الوقت من خلال

8:40التكرارات المختلفة .

8:44حسناً ، بعد هذه

8:45المرحلة تأتي مرحلة

8:47التطوير الفعلية ، حيث

8:49تُترجم تلك المتطلبات

8:51والقصص إلى أسطر

8:52برمجية ، أي يتم

8:54البرمجة في هذه

8:55المرحلة ، وتُنَفذ

8:57المتطلبات باستخدام

8:59التقنيات التي اختيرت

9:01في مرحلة التصميم . هنا

9:08تجدر الإشارة إلى أن

9:10مرحلة التصميم لا تشمل

9:12فقط الهندسة

9:13المعمارية ، أي أسس

9:14النظام ، بل تشمل أيضاً

9:17تصميم واجهة المستخدم

9:18، على سبيل المثال ،

9:20وتؤثر كثيراً على

9:22تجربة المستخدم . ثم

9:28ننتقل إلى مرحلة

9:30الاختبار أو الـ testing ،

9:32وهو ما نقوم به أساساً

9:34في هذا المقرر الدراسي

9:36. حسناً ، وأجد أنه من

9:38المهم ذكر أننا قد

9:40نتحدث كثيراً عن كل

9:42مرحلة من هذه المراحل ،

9:44وبالتأكيد تدرسونها

9:46في مواد أخرى . حسناً ،

9:49لذا تخيلوا مدى

9:50اختصاري لكل مرحلة ،

9:52لأننا إذا تعمقنا في

9:54أي منها فقد نقضي

9:56أسابيع . أساساً ، يتكون

10:02الاختبار أو الـ testing ،

10:04كما نفعل ، من التحقق

10:06مما يتم بناؤه

10:07ومقارنته بالمتطلبات

10:09أو القصص الناتجة عن

10:11التحليل . وبعد ذلك

10:16لدينا مرحلة أخرى وهي

10:18مرحلة التنفيذ ، والتي

10:20تتكون أساساً من إعداد

10:22البيئة التي سيتم

10:23استخدامها . وهي ما

10:27نسميها بالنشر أو الـ

10:29deployment ، وبعد ذلك نقوم

10:31بمرحلة الصيانة . حسناً

10:34، مع استخدام النظام

10:36ستظهر تغييرات

10:37وتحسينات ، بل وسيتم

10:39اكتشاف بعض العيوب في

10:41مرحلة الإنتاج . إذاً ،

10:44كل هذه التصحيحات أو

10:46التعديلات ستدخل ضمن

10:48ما يسمى بمرحلة

10:49الصيانة . غالباً ما

10:54تكون هناك مرحلة

10:55إضافية بعد هذه وهي

10:57مرحلة تفكيك النظام أو

10:59استبداله . حسناً . و

11:09أحياناً يضطر المرء

11:11إلى إنهاء نظام ما

11:13لاستبداله بآخر . حسناً

11:17، هذا ما يسمى بمرحلة

11:18الاستبدال أو التفكيك .

11:24الآن ، من يشارك في كل

11:26هذه المراحل ؟ هناك

11:30أدوار مختلفة ، ولا

11:31يشارك الجميع في كل

11:33هذه المراحل . أعني على

11:38سبيل المثال ، في مرحلة

11:40التحليل ، يوجد محلل

11:42وظيفي أو مختبر جودة ( QA

11:44) أو مالك المنتج ( PO ) ،

11:48لكن ليس بالضرورة أن

11:50يتواجد كلا الدورين

11:51دائماً . حسناً . أو في

11:53مرحلة التطوير . ذكرت

11:55مبرمجاً ، ومدير قواعد

11:57بيانات ( DBA ) ، وربما

11:58شخصاً مختصاً

11:59بالبيانات ، لكن ليس من

12:01الضروري وجود هؤلاء

12:03الثلاثة دائماً .

12:05أحياناً يكون هناك شخص

12:07واحد فقط ، وأحياناً لا

12:09يظهر أحدهم ، ولكن

12:10باختصار هذه هي

12:12الأدوار . في مرحلة

12:19التخطيط ، نرى مدير

12:21المشروع ، وهو من يدير

12:23الفريق والموارد ،

12:25ويحدث الخطط والمخاطر

12:27، ويعتني بإنتاجية

12:29وربحية المشروع ، كما

12:31يكون ميسراً لحل

12:32المشكلات . حسناً ،

12:38أحياناً توجد مواقف

12:40يتوجب عليه فيها

12:41التدخل للحل ، مثل قول "

12:43لا أستطيع الوصول لهذا

12:45" ، لذا يجب عليه التدخل

12:47. يهمني أن أخبركم

12:51بجميع الأدوار التي

12:53ترونها تقريباً على

12:55الشاشة ، ربما لأنكم

12:57بدأتم بالتعرف على

12:58مجال الاختبار ( Testing ) ،

13:00لأنه إحدى المهام التي

13:02لا تتطلب البرمجة ، بين

13:05قوسين . ربما تجدون بعض

13:09هذه الأدوار مثيرة

13:10للاهتمام وتنتقلون

13:12إليها لاحقاً ، أليس

13:14كذلك ؟ لكن انظروا إلى

13:16أحد هذه الأدوار وهو

13:18ما يسمى بـ " سكرم ماستر

13:21" ( Scrum Master ) ، أو كما يسمى

13:23حالياً في بعض الأماكن

13:25" مدير التسليم " ( Delivery

13:27Manager ) . وهو دور خاص

13:31بالمنهجيات كما ذكرت

13:34لكم ، حيث يعمل كميسر

13:36يركز على أهداف

13:37المشروع ، ويزيل

13:39العوائق ، ويساعدنا في

13:41تنفيذ إطار عمل رشيق (

13:44Agile ) بشكل جيد . بشكل جيد

13:53يعني تنفيذاً يتكيف مع

13:55احتياجاتنا ، وليس

13:57اتباع إطار العمل

13:59حرفياً كما تم تصميمه

14:01نظرياً . لدينا أيضاً

14:09ما يعرف بالمحلل

14:11الوظيفي أو محلل

14:12الأعمال . حسناً ، في

14:15الوقت الحالي ، العديد

14:17من الشركات لا تقوم

14:19بتعيين محلل وظيفي .

14:22حسناً ، في هذه الأيام ،

14:25يتطور دور المحلل

14:26الوظيفي ، إذ يجب أن

14:28يكون ملماً بالأعمال

14:30والأنظمة ، وربما يعمل

14:32كمحلل أعمال . حسناً ،

14:35أي أنهم يدمجون هذين

14:37الدورين في دور واحد .

14:40حسناً . إيه ، حسناً ،

14:47هناك بعض الاختلافات

14:49بين هذين الدورين ،

14:51المحلل الوظيفي ومحلل

14:53الأعمال ، لكن بما أننا

14:55نتحدث على مستوى عالٍ ،

14:57سنعتبرهما شيئاً

14:58واحداً . حسناً . وبشكل

15:04عام ، هو الشخص الذي

15:05يعرف أكثر عن كيفية

15:07عمل التطبيق . نعم ، هو

15:11الشخص الذي يرتدي قبعة

15:13المستخدم النهائي

15:15تقريباً ، ويتمتع

15:16بقدرة كبيرة على

15:18التجريد والتحليل

15:19للقيام بهذا الدور .

15:25كما أنه يقترح وهو دور

15:27ضمن المنهجيات

15:28الرشيقة بالطبع ، وهو

15:30المسؤول عن التأكد من

15:32أن كل ما نبنيه يضيف

15:34قيمة حقيقية للعمل .

15:38حسناً ، هناك أيضاً

15:39المصممون الذين

15:41سيعملون على الجانب

15:42الجمالي وجانب تجربة

15:44المستخدم ، وكيفية

15:46تفاعل المستخدمين مع

15:48هذا النظام . ثم هناك

15:52أيضاً المهندسون

15:53المعماريون الذين

15:55يضعون الأسس وهياكل

15:57التطبيقات على مستوى

15:58قواعد البيانات

16:00والتقنيات وغيرها من

16:01الأمور ، وعادة ما

16:03يتولون الإدارة

16:04التقنية للفريق . هناك

16:08المطورون أو

16:09المبرمجون ، وهم الذين

16:11يكتبون الكود ، أو من

16:12الناحية المثالية

16:14يقومون باختباره

16:15أيضاً من خلال

16:16الاختبارات الوحدوية .

16:18هل تذكرون أنني

16:19أخبرتكم أن المطورين

16:21يجب أن يسلموا

16:22الاختبارات الوحدوية

16:23المنفذة ؟ وهناك فريق

16:26إدارة قواعد البيانات

16:28( DBA ) ، الذين سيتولون كل

16:29ما يتعلق بقواعد

16:30البيانات ، مثل نماذج

16:32البيانات ، والهياكل ،

16:34والمشغلات ( Triggers ) ،

16:35والإجراءات المخزنة ،

16:36والقيود ، وما إلى ذلك .

16:38حسناً ، لن نخوض في

16:39تفاصيل قواعد

16:40البيانات . وهناك فريق

16:42ضمان الجودة ( QA ) ، الذي

16:44تحدثنا عنه طوال هذه

16:46الدورة . وشيء جديد ظهر

16:48قبل سنوات قليلة ، وهم

16:50مهندسو " ديف أوبس " ( DevOps )

16:52، الذين يهتمون بكل ما

16:55يتعلق بالبيئات ،

16:57والتكامل ، وعمليات

16:59النشر . حسناً ، هناك

17:01أيضاً العميل ، وهو

17:03الشخص الذي يدفع ،

17:04والمستخدمون الذين

17:06يستخدمون النظام ؛ لذا

17:08يجب التمييز بينهما :

17:10فليس دائماً يكون

17:12العميل هو نفسه

17:13المستخدم . حسناً ، هناك

17:20العديد من المشاركين

17:22الآخرين ، لكن هؤلاء هم

17:24الأدوار الرئيسية

17:25التي قد تواجهونها

17:27وستتفاعلون معها

17:28يومياً منذ انضمامكم

17:30إلى أي مشروع لتطوير

17:32البرمجيات . حسناً ، لكن

17:38على أية حال ، منهجيات

17:42تطوير البرمجيات .

17:46حسناً ، في الموضوع

17:47السابق ، وفي الشريحة

17:49السابقة ، رأينا

17:51الأنشطة والمراحل

17:53المختلفة التي تتم

17:54خلال عملية تطوير

17:56البرمجيات ، مثل

17:57التحليل ، التصميم ،

17:59البناء ، وما إلى ذلك .

18:03لكن هناك طرق مختلفة .

18:05حسناً . إيه .. ترتبط بها

18:11تلك الأنشطة ببعضها

18:12البعض بمرور الوقت .

18:15لذا ، بناءً على كيفية

18:17ارتباطها وكيفية

18:19تنظيمها ، سنقع في

18:20نموذج دورة حياة معين

18:22أو غيره . إذن ، نماذج

18:28دورة الحياة الأكثر

18:30شيوعاً ، وهناك نماذج

18:32أخرى ، لكننا سنبدأ

18:34بالتعريف بنموذج

18:36الشلال ( Cascada ) . حسناً ،

18:41نموذج الشلال هو ما

18:43نشير إليه عادةً عندما

18:45نتحدث عن المنهجيات

18:47التقليدية . يمكنكم

18:52أيضاً سماعه باسم "

18:54Waterfall " باللغة

18:55الإنجليزية ، حيث يتم

18:57تنظيم المراحل التي

18:59ذكرتها سابقاً بشكل

19:01تسلسلي عبر الزمن . كنت

19:11أقول هذا كمثال فقط

19:13لأغراض أكاديمية ،

19:15لأوضح لكم أن الأمر في

19:17نموذج الشلال ليس مجرد

19:19مثال أكاديمي ، بل هو

19:21هكذا بالفعل : نشاط تلو

19:24الآخر ، ولا يبدأ أي

19:25نشاط منها إلا بعد

19:27انتهاء سابقه . ما هي

19:34مشاكل كل هذا ؟ حسناً ،

19:38من ناحية ، لا توجد

19:40استجابة للتغيير ؛

19:42بمعنى أنه بمجرد أن

19:44نقرر بناء هذا النظام ،

19:46يتم تحديد كل ما

19:47سيحتويه النظام خلال

19:49مرحلة التحليل ثم

19:51ننتقل للمرحلة

19:52التالية . وننتقل إلى

19:55المرحلة التالية . وإذا

20:01اكتشفنا أن شيئاً ما

20:03ليس صحيحاً ، فلا

20:05يمكننا العودة للخلف ،

20:07وهذه مشكلة كبيرة . نعم .

20:12وحتى لو استطعنا

20:13العودة للخلف ، ستكون

20:15تكاليف القيام بذلك

20:17باهظة جداً . علاوة على

20:19ذلك ، لا تبدأ أي مرحلة

20:21إلا بعد انتهاء

20:22المرحلة السابقة . لذا ،

20:24لاحظوا ، عندما يجد

20:26الاختبار عيوباً .

20:28والآن ، ماذا يحدث ؟ يجب

20:30العودة إلى المرحلة

20:32السابقة لتصحيحها .

20:34وهذا مكلف للغاية .

20:38إنها منهجية لديها

20:40أكبر عدد من المشاريع

20:42الفاشلة ، وهي تُستخدم

20:45، لكنها مصممة لفرق

20:47عمل ناضجة ذات منتجات

20:49أو متطلبات مستقرة .

20:52حسناً ، وهذا أمر يصعب

20:55رؤيته في أيامنا هذه

20:57لأن السمة الغالبة

20:59حالياً هي التغيير .

21:01لقد ذكرت لكم هذا

21:03كثيراً في دروس منهجية

21:05" شايني " ( Shine ) . حسناً ، هو

21:08نموذج قليل الفعالية

21:10حالياً ، لكنه سهل

21:12التنفيذ وسهل الفهم .

21:15بالتأكيد يمكنكم تخيل

21:17ذلك مما أخبرتكم به

21:19للتو . حسناً ، لماذا ؟

21:25الآن ، فيما يتعلق

21:27بالنموذج الحلزوني ،

21:29فهو نموذج دورة حياة

21:31اقترحه " بوهم " في

21:32الثمانينيات ، ويعتمد

21:35على دورات تكرارية . ما

21:40يوجه النشاط ، أي ما

21:42سيتم القيام به في

21:44التكرار القادم ، هو

21:46المخاطر . أي أنه يتم

21:49تقييم مخاطر المشروع ،

21:50وفي التكرار التالي

21:52يتم التعامل مع

21:53الجوانب الأكثر خطورة .

21:58لذا ، يتم التعامل مع

21:59الجانب الأكثر خطورة

22:01في بداية المشروع ، ثم

22:03في التكرار التالي يتم

22:05التعامل مع ما يليه في

22:06الخطورة . ومن مزايا

22:13هذا النموذج أنه يقلل

22:15من مخاطر المشروع

22:17ويسمح بالتكيف ، لأن كل

22:19تكرار ينتهي عند حد

22:21معين . ولكن إذا ظهر شيء

22:26أكثر خطورة الآن ،

22:27فيمكنني التعامل معه

22:29فوراً . لكنه غالباً ما

22:32يكون مكلفاً وباهظ

22:33الثمن . نحن لسنا

22:36معتادين على إدارة

22:37المخاطر . لذا ، غالباً

22:40ما يشكل ذلك تعقيداً

22:41ضمن كل تكرار من هذه

22:43التكرارات . هناك أربع

22:51مراحل ضمن هذه

22:52المنهجية : التخطيط

22:54أولاً ، أي تحديد

22:55الأهداف والبدائل

22:57والقيود ، وبالطبع

22:59إجراء تحليل المخاطر

23:01لتقرير ما سيتم

23:02معالجته . ثانياً ،

23:11هندسة ذلك الجزء ، أي

23:13تطوير الجزء الأكثر

23:15خطورة ، ثم التقييم ،

23:17وهو تقييم العميل

23:18للنتائج التي تم

23:20الحصول عليها . وهكذا ،

23:26يتم المضي قدماً في كل

23:28تكرار من التكرارات

23:29التالية بنفس الطريقة .

23:33كما أخبرتكم ، يتم

23:34تقليل مخاطر المشروع

23:36لأننا نتعامل مع

23:38الأمور الأكثر خطورة

23:39أولاً . إنه يسمح لنا

23:43بالتكيف مع التغييرات

23:46، ولكن يجب أن تمتلك

23:47خبرة في إدارة المخاطر

23:49، وهو أمر غالباً ما

23:51يكون مرهقاً ، على

23:53الأقل في صناعتنا .

23:56حسناً . وينتهي الأمر

24:00بإضافة نوع من التعقيد

24:01. من ناحية أخرى ، لدينا

24:10نموذج يعتمد على

24:11النماذج الأولية ، حيث

24:13نبدأ ببناء نماذج

24:15سريعة ، أي إصدارات

24:17سريعة قد تحتوي فقط

24:18على الجوانب المرئية

24:20أو الأكثر تمثيلاً

24:22للحل النهائي بهدف

24:24الحصول على ملاحظات .

24:32مبكرة من العميل . أي

24:34أننا نقدم له بناءً

24:36سريعاً ، نسميه

24:37أحياناً " القشرة " ،

24:39لأنه لا يوجد شيء خلفه

24:41، بل هي فقط الواجهة

24:43الرسومية أو ما يسمى

24:45بـ " الواجهة الأمامية " .

24:48لكن حسنًا ، نحن نعرض

24:50ذلك على العميل ، وهذا

24:52يسمح لنا بالحصول

24:54بسرعة على تعليقات حول

24:56ما يفكر فيه ويشعر به

24:58تجاه تلك الواجهة أو

25:00التصميم . الشيء الجيد

25:05في هذا هو أنه يمكن

25:06إعادة استخدام كود

25:08النموذج الأولي ، أي

25:10إذا أعجب العميل ،

25:11فيمكن أن يصبح هذا هو

25:13الجزء النهائي من

25:14المشروع . وبالإضافة

25:19إلى ذلك ، عندما نكون

25:24على دراية بهدف النظام

25:26ونعرف بالضبط ما نريده

25:28، نكون أكثر ثقة في

25:30مواصلة بنائه . يُستخدم

25:35نموذج النموذج الأولي

25:37هذا عندما لا يكون

25:39لدينا وضوح تام بشأن

25:40ذلك . لذا ، نقوم ببناء

25:44عدة نماذج أولية سريعة

25:46، وهكذا نبدأ في

25:48التوضيح أثناء العمل

25:50وبطريقة اقتصادية

25:52نسبيًا . ما يجب أن نضعه

25:56في اعتبارنا هو عدم

25:58خلق توقعات كاذبة ،

26:00لأنه في كثير من

26:01الأحيان عندما نعرض

26:03هذا الهيكل السطحي على

26:05العميل يقول : " آه ، لقد

26:07انتهى الأمر ، لم يتبق

26:09سوى القليل . " وفي

26:11الواقع ، كل ما هو

26:12موجود هو واجهة ليس

26:14لها وظائف خلفية ، ولا

26:17يوجد سلوك ، وهنا يمكن

26:19أن تتولد توقعات كاذبة

26:21. ومشكلة أخرى نواجهها

26:28غالبًا هي أن هذا

26:30النموذج ، أو هذا

26:31الهيكل السطحي ، لا يتم

26:33تطويره بأفضل طريقة

26:35ممكنة ، لأنه في

26:37الحقيقة شيء سريع

26:38للتعامل مع الموقف

26:40وينتهي به الأمر كجزء

26:42من النظام . إذًا ، ربما

26:49لا يحتوي على أفضل كود

26:51، أو لا يتم استخدامه

26:53بشكل صحيح ، أو لا يتم

26:55استخدام أفضل الأنماط .

26:57جيد . حسنًا ، بعد ذلك

27:01لدينا نموذج آخر لدورة

27:03الحياة . حسنًا ،

27:08وبالحديث بشكل عام ،

27:10ننتقل هنا إلى ما أحبه

27:12، وهو ، آه ، إنها

27:17النماذج التكرارية

27:19والتزايدية التي يتم

27:21فيها تنفيذ دورات

27:23تكرارية . حسنًا ، يتم

27:25تنفيذ الأنشطة معًا

27:27بدءًا من التخطيط

27:28والتحليل والتصميم ،

27:30وكل ما كنت أتحدث عنه

27:32في نموذج الشلال . ولكن

27:35في كل إصدار ، لنقل ،

27:38يتم القيام بكل هذا .

27:43لذا ، سيتم بناء النظام

27:45بطريقة تكرارية ، لأنه

27:47في كل تكرار سيتم

27:49إضافة القليل من

27:50القيمة ، وتزايدية

27:52لأنه يصبح جزءًا مما

27:54سبق وتُضاف إليه هذه

27:56الوظيفة . هناك العديد

28:01من المنهجيات

28:02التكرارية والتزايدية

28:04. هذا النموذج هو ما

28:07جئت لأحدثكم عنه ، وهو

28:09منهجية " أجيل " ( Agile ) .

28:11حسنًا ، اليوم ،

28:12بالنسبة لكم وأنتم

28:14تتعلمون كلاً من

28:15التكراري والتزايدي ،

28:17فهما بالنسبة لكم

28:18متماثلان . حسنًا ، كنت

28:20أقول لكم إن " السبرنت " (

28:23Sprint ) يستغرق أسبوعين

28:25أو ثلاثة أسابيع ،

28:27لنفترض ذلك . هذا سيكون

28:29سبرنت ، وهذا سيكون

28:30سبرنت آخر ، وهذا سيكون

28:32سبرنت آخر . إذًا ، ما

28:34الذي يتم فعله في

28:35السبرنت ؟ التحليل ،

28:37التصميم ، البرمجة

28:38والاختبار ، ثم يتم

28:39الإطلاق للإنتاج .

28:41بالطبع أقولها لكم

28:42هكذا ، ولكن يجب التحقق

28:44من ذلك ، وعمل الكثير

28:45من الأشياء . حسناً ،

28:47لدينا الإصدار الثاني

28:49، والآخر ، إذاً لدينا

28:51تحليل وتصميم ، برمجة

28:53واختبار ، كل هذا وهكذا

28:55ستسير الأمور في كل

28:57دورة عمل ( سبرنت ) . ماذا

28:59يحدث في النماذج

29:00التزايدية ؟ إنه نفس

29:02الشيء بالنسبة لكم في

29:03الوقت الحالي . إنه نفس

29:05الأمر ، سموه تزايدياً

29:07أو تكرارياً ، فهو سيان

29:09. لا يوجد فرق بين هذا

29:11وذاك . على ماذا سيعتمد

29:14كل هذا ؟ وهو ما سنراه

29:16لاحقاً ، ألا وهو قصص

29:18المستخدم . حسناً ، الآن

29:20سنرى كيف تبدو مسألة

29:22قصص المستخدم . دورة

29:27حياة التطوير هي

29:28الهيكل الذي يضم

29:30العمليات والأنشطة

29:31والمهام المتعلقة

29:33بتطوير وصيانة منتجات

29:35البرمجيات ، والتي

29:36تغطي حياة النظام

29:38بأكملها بدءاً من

29:39تحديد المتطلبات وحتى

29:41إنهاء استخدام النظام .

29:48الهدف هنا هو تجنب

29:49التكاليف اللازمة

29:51لتصحيح الأخطاء . حسناً

29:54، أي أننا يجب ألا نطبق

29:56أخطاءً في مرحلة

29:57الإنتاج لأن ذلك سيكون

29:59مكلفاً للغاية . إذاً ،

30:03كخطوة أولى لدينا

30:05التواصل ، وهو اللحظة

30:07التي يطلب فيها العميل

30:09منتج تطوير معين ،

30:10ويتصل بنا لتوضيح

30:12الاحتياجات الملموسة ،

30:14ويتم تقديم الطلبات ،

30:16ثم يبدأ كل شيء في

30:18التبلور والمسار

30:19الصحيح . ثم لدينا

30:23التخطيط والتحليل ،

30:25حيث تبدأ مرحلة

30:26التخطيط الأولية في

30:28التطوير . وهذا يشمل

30:31تحليل قصص المستخدم

30:32والمتطلبات ؛ فنحن

30:34ندقق جيداً في

30:35المتطلبات التي

30:37يطلبها العميل لنرى

30:38أيها أكثر وضوحاً ،

30:40وأيها غير مكتمل أو

30:41غامض . حسناً ، نغوص

30:43بعمق أكبر ، ونقوم بعمل

30:45عروض توضيحية عملية ،

30:48ولكن في النهاية هي

30:50مسألة القيام بتحليل

30:52جيد حتى لا نواجه

30:53مشاكل لاحقاً . بعد ذلك

30:56، ماذا يأتي ؟ تأتي

30:57دراسة الجدوى ، وجمع

30:59المتطلبات ، وفكرة خطة

31:01معالجة البرنامج ،

31:03ويتم تحليل الأجزاء

31:05البرمجية التي تغطي

31:07متطلبات كل مستخدم .

31:10يتم أيضاً بحث الجدوى

31:12المالية والتقنية . ثم

31:17لدينا ما يسمى بتحليل

31:19النظام . حسناً ، في هذه

31:22الخطوة يقوم فريق

31:24المشروع بتخصيص

31:25الموارد وتخطيط المدة

31:27الزمنية للمشروع . يتم

31:30البحث عن قيود المنتج ،

31:32وتحديد تأثيرات

31:34المشروع على المنظمة

31:35بأكملها . ثم لدينا

31:39التصميم ، وفي هذه

31:41المرحلة يبدأ تصور

31:43الحل بمساعدة المراحل

31:45السابقة . يتم إجراء

31:46تصميم منطقي وآخر مادي

31:48، وتُنشأ البيانات

31:49الوصفية والمخططات

31:51والتعليمات البرمجية

31:52الزائفة ، وما إلى ذلك .

31:54حسناً ، سيقوم كل فرد

31:56من فريق التصميم بذلك .

32:03ثم تأتي مرحلة البرمجة

32:05والتطوير ، حيث يتم

32:07اختيار لغة البرمجة

32:09الأنسب ، وتطوير برامج

32:11قابلة للتنفيذ خالية

32:13من الأخطاء ، وبالتالي

32:15تسليم وحدات وظيفية

32:17دقيقة . في نهاية كل

32:27مرحلة من تلك التي

32:28ذكرتها ، لدينا ما يسمى

32:31بـ PMB ، وهو الحد الأدنى

32:33من المنتج القابل

32:34للتطبيق ، والذي

32:36يستغرق تقريباً منذ

32:38بدء المشروع من الصفر

32:40حوالي 15 تكراراً ، وهي

32:46عبارة عن دورات عمل

32:48سريعة ( Sprints ) للوصول

32:49إلى مرحلة الإنتاج ،

32:50وهو ما يمثل الحد

32:51الأدنى من المنتج

32:52القابل للتطبيق . ما هو

32:54الحد الأدنى من المنتج

32:55القابل للتطبيق ؟ هو

32:56المنتج الذي يجب طرحه

32:58في السوق بأقل

32:59المتطلبات الضرورية .

33:01حسناً ، وبعد ذلك يبدأ

33:04العمل على زيادة وظائف

33:06أخرى . ثم لدينا مرحلة

33:09التكرار . حسناً ، قد

33:12يحتاج البرنامج إلى

33:13التكامل مع قواعد

33:15بيانات ، أو أنظمة أخرى

33:17، أو واجهات برمجة

33:19تطبيقات ( APIs ) ، أو

33:20استدعاء واجهات من

33:22العالم الخارجي . ثم

33:26لدينا مرحلة

33:27الاختبارات ، وهنا

33:29نقوم بطبيعة الحال

33:31باختبار كل جزء يتم

33:32تسليمه من التطوير .

33:36يتم أيضاً إجراء

33:37تقييمات لتجنب

33:38الأخطاء ، بما في ذلك

33:40تقييم الوحدات

33:41والبرامج والمنتجات .

33:43وأخيراً ، تقييم

33:45العميل النهائي . حسناً

33:51، إنها مرحلة تكامل

33:53الاختبارات ، وتختتم

33:55بالتحقق والمصادقة ،

33:57مما يساعد في ضمان

33:59نجاح البرنامج . حسناً ،

34:05ثم تأتي مرحلة التنفيذ

34:07. ما هو التنفيذ ؟ حسناً

34:12، هو تثبيت البرنامج

34:14في بيئة إنتاجية ،

34:16وتقييم التكامل

34:17والقابلية للتكيف

34:19والنقل ، وإعداد

34:20التكوينات ، ويبدأ

34:22المستخدمون النهائيون

34:24في استخدامه . هناك

34:28مراحل مثل ، على سبيل

34:30المثال ، مرحلة

34:31التدريب . حسناً ، هذه

34:36مرحلة مثيرة للاهتمام

34:38لا يتم ذكرها كثيراً ،

34:40لكن التدريب وتكيف

34:42المستخدم أمر مهم جداً

34:44، ولهذا سنقدم تدريباً

34:47أولياً لكل مستخدم .

34:51لماذا ؟ لأن

34:52المستخدمين النهائيين

34:54أحياناً يرون النظام

34:56ولا يعرفون كيفية

34:57استخدامه . حسناً ، من

35:01المهم التحقق من مستوى

35:03الاستخدام وتجربة

35:04المستخدم ، وحل أي

35:06صعوبات قد تظهر عند

35:08التعامل مع نظام أو

35:10منصة جديدة . هذا أمر

35:13مهم جداً لأنه يجب

35:14دائماً مرافقة

35:15المستخدم النهائي . أنا

35:17أقول ذلك دائماً .

35:19لماذا ؟ لأنه هو من

35:20سيستخدمه ، وهو من

35:22سيوفر لنا لقمة العيش

35:23مقابل كل العمل الذي

35:25تم إنجازه . ثم لدينا ما

35:29يحدث بمجرد طرحه

35:30للإنتاج ، ومن الواضح

35:32أنه سيكون هناك وظائف

35:34جديدة ويدخل في مرحلة

35:36الصيانة والتطوير . ليس

35:40أقل أهمية ، الصيانة هي

35:43أحد العناصر الرئيسية

35:45لنجاح أي مشروع . في هذه

35:48المرحلة يتم تقليل

35:50الأخطاء الصغيرة ،

35:51ويتم تأكيد حسن سير

35:53عمل البرنامج

35:54وفعاليته واستقراره .

35:58حسناً ، إذا لزم الأمر

36:00يتم تقديم تدريبات

36:02جديدة أو توفير وثائق

36:04حول كيفية التشغيل

36:06والحفاظ على البرنامج

36:07في حالة وعمل مثاليين .

36:10يتم تكييف بيئات

36:12المستخدم ، حسناً ،

36:13المستخدم النهائي . يتم

36:17تحديث الكود

36:18والإعدادات ، حسناً ،

36:20كل ما يندرج تحت

36:21الصيانة والتطوير .

36:27وهذا دائماً مهم جداً ،

36:29لأنه هنا ستظهر

36:30الأخطاء ( Bugs ) أو

36:32التحسينات . يجب أن

36:35تكون دائماً متيقظاً

36:37لذلك ، لأن المستخدم

36:38النهائي أحياناً يكون

36:40محقاً في قوله : " يا أخي

36:42، يمكن أن يكون هذا

36:43بطريقة مختلفة " .

36:44وحسناً ، يجب دائماً

36:46الاستماع إليه . هل

36:50هناك أسئلة حول هذا

36:51العرض التقديمي ؟

36:59>> لا يا أستاذ ،

37:00>> لا أحد لديه أسئلة . هل

37:02كل شيء على ما يرام ؟

37:08جيد . حسناً ، انضم

37:12إلينا المزيد من

37:13الطلاب . كنت أتحدث عن

37:15العمل العملي . البعض

37:18ربما ينقصه هذا ينقصه

37:24إتمامه ، لذا إذا أردتم

37:26يمكنكم إرساله لي

37:27لاحقاً أو يمكننا

37:29مراجعته يوم الأربعاء

37:31أيضاً . إذا أردتم

37:32إرساله لي فلا توجد

37:34مشكلة . انتظروا حتى

37:38أبحث عن العرض

37:39التقديمي الآخر . لا

37:42توجد مشكلة يا شباب .

37:44يمكنكم ، سأعطيكم

37:45المزيد من الوقت .

37:47تطمنوا ، لا توجد أي

37:49مشكلة على الإطلاق .

37:51حسناً ، سنتحدث قليلاً

37:55عما هي قصص المستخدم (

37:57User Stories ) . حسناً ، كنت

38:00أتحدث معكم عن قصص

38:01المستخدم ، وعن منهجية

38:04" أجيل " ( Agile ) . لذا ،

38:06سنتحدث قليلاً عما هو ..

38:08أنتم اعتمدتم في عملكم

38:10على التكليف الأول ( TP1 )

38:12حيث أخبرتكم بقصة

38:14المستخدم التي تحكي ما

38:16كنت أفعله من لحظة

38:17استيقاظي حتى وصولي

38:19للعمل ، وقمتهم أنتم

38:21بوضع سيناريوهات

38:23الاختبار . حسناً ،

38:26سيناريو الاختبار هو

38:28مجرد عنوان يجب أن

38:30يكون وصفياً . الآن في

38:34التكليف الثاني ( TP2 )

38:36سنتعمق أكثر في النظام

38:38، ولكن حسناً ، عن ماذا

38:41سنتحدث هنا ؟ قصص

38:42المستخدم . حسناً ، ما

38:45هي قصة المستخدم ؟ قصص

38:48المستخدم هي جزء مما

38:50كنت أحدثكم عنه حول

38:51نهج " أجيل " الذي يساعد

38:53في تغيير التركيز من

38:55الكتابة عن المتطلبات

38:57إلى الحديث عنها .

39:01تتضمن جميع قصص

39:03المستخدمين في منهجية

39:05" شايد " جملة مكتوبة ،

39:07سطرًا أو سطرين مهمين

39:09للغاية ، وسلسلة من

39:11المحادثات حول

39:13الوظيفة المطلوبة . قصص

39:19المستخدمين هي أوصاف

39:21قصيرة وبسيطة لميزة

39:22معينة تُروى من منظور

39:24الشخص أو المستخدم

39:26النهائي . ما الذي

39:30يريده النظام أو

39:31القدرة حقًا ؟ إذًا ،

39:36هناك كيفن .

39:38>> نعم ، انتبه ، أنت لا

39:40تشارك الشاشة . نعم ،

39:42نعم .

39:42>> أوه ، لحسن الحظ أنك

39:44أخبرتني . ظننت أنني

39:46>> كنت أقرأ الشريحة ،

39:47وأدركت أنك كنت تتحدث

39:49عن الشريحة ولكن لا .

39:51أحسنت ، لقد ربحت نقطة

39:53صغيرة ، أليس كذلك ؟ من

39:55الاختبار الجزئي .

39:58حسنًا ، لحسن الحظ أنك

39:59أخبرتني . شكرًا لك يا

40:01كيفن . لطيف جدًا منك ،

40:03أنا منهك اليوم وقد

40:05بدأنا الإثنين هكذا .

40:08حسنًا ، إذًا ، كيف

40:12تتكون قصة المستخدم ؟

40:16حسنًا ، تتكون من ثلاث

40:18كلمات . ما المقصود

40:22بالملف الشخصي ؟ أريد

40:25هدف البرنامج لتحقيق

40:27النتيجة . غالبًا ما

40:31تُكتب قصص المستخدمين

40:33، ومن الواضح أنها

40:34يمكن أن تكون ، كما

40:36أخبرتكم ، سأعرض لكم

40:38لاحقًا مقاطع الفيديو

40:40حول كل هذا . ربما تنتهي

40:42الدورة التدريبية

40:44بالكامل بمقاطع فيديو

40:45لتشاهدوها في الحياة

40:47المهنية . لقد شرحت لكم

40:49أنني في الحياة

40:50المهنية سأعرض لكم

40:51مقاطع الفيديو ، ولن

40:53أريكم كل المشاكل

40:54الموجودة . هذا من أجل

40:56المسار المثالي . حسنًا

40:58، هكذا يجب أن يتم

40:59الأمر . إذًا ، هناك

41:01برامج مثل " آزور " و "

41:03تريلو " . حسنًا ، الأكثر

41:05شهرة في السوق هو " جيرا

41:07" ؛ وهو مدير مشاريع

41:09تُكتب فيه قصص

41:10المستخدمين ، وتُكتب

41:12فيه تصميمات حالات

41:13الاختبار ، والتنفيذات

41:15، ودورة الاختبار ، كل

41:17شيء موجود هناك . حسنًا

41:19، حيث يتم أيضًا رفع

41:21الأخطاء . لذا فهي تغير

41:23التركيز بقوة من

41:25الكتابة حول الميزات

41:27التي ستتم مناقشتها

41:28داخل قصة المستخدم . في

41:31الواقع ، هذه

41:32المناقشات أهم من أي

41:34نص آخر يتم كتابته .

41:38الغرض من كتابة قصة

41:40المستخدم هو تمثيل

41:42الكيفية التي تترجم

41:43بها وظيفة البرنامج

41:45إلى قيمة للمستخدم

41:47بدقة . بمعنى آخر ، ما

41:50التأثير الذي تحدثه

41:52وظيفة البرنامج هذه

41:54على المستخدم النهائي

41:55؟ حسنًا ، المستخدم

41:58النهائي ، المعروف

41:59أيضًا باسم العميل ،

42:01ليس بالضرورة هو

42:03المستهلك النهائي .

42:06يمكن أن يكون المستخدم

42:08النهائي أيضًا عميلاً

42:10داخليًا ، عضوًا في

42:11الفريق سيستفيد من هذا

42:13العمل . تعد قصص

42:16المستخدمين مكونًا

42:17أساسيًا لماهية

42:19منهجية " شايد " . يمكن

42:22صياغتها بطرق عديدة .

42:24حسناً ، هذا شيء مألوف

42:26جداً لكم بالتأكيد ،

42:28ربما رأيتموه على ورقة

42:30لاصقة على زجاج .

42:31بالتأكيد ، ربما رأيتم

42:33ذلك في أماكن كثيرة ،

42:35لكن الطريقة الأكثر

42:37فعالية لإنشاء وتتبع

42:38قصص المستخدمين هي

42:40باستخدام برنامج

42:41إدارة المشاريع ، كما

42:43أخبرتكم ، مثل " جيرا " ( Jira

42:45) كمثال . حسناً ، إذا

42:46أردتم استخدام " جيرا " ،

42:48يمكنكم ذلك ، فبمجرد

42:49التسجيل تحصلون على ما

42:51يصل إلى خمس تراخيص

42:53مجانية . حسناً ، وهو

42:54مجاني بالكامل

42:56ويمكنكم تجربة كل ما

42:57تريدون . هناك ، يتيح

43:00لكم برنامج إدارة

43:02المشاريع الفعال

43:03إمكانية التعديل

43:05والمتابعة لقصص

43:06المستخدمين في الوقت

43:08الفعلي . حسناً ، لأن

43:11أحداً يقوم بالتحديث

43:12والآخر سيراه محدثاً

43:14على الفور . إذاً ، من

43:17يقوم بكتابة قصص

43:18المستخدمين ؟ عادةً ،

43:22يقوم مالك المنتج ( PO )

43:24بكتابة قصص

43:25المستخدمين بناءً على

43:28أبحاث المستخدمين

43:29وينظمها في قائمة

43:31لفريق التطوير ،

43:33وتُعرف أيضاً بقائمة

43:35الأعمال المتراكمة ،

43:37وأعيد القول بأنها الـ

43:39" باكلوج " ( Backlog ) ، وهي

43:41بمثابة " مخزن " يحتوي

43:43على جميع القصص ، حيث

43:45تكون جميعها مجتمعة ،

43:47وعندما يحين وقت "

43:49السبرنت " ، يتم استخراج

43:51واحدة وتقديرها

43:53بالقول : " حسناً ، هذه

43:55ستستغرق وقتاً محدداً "

43:57. حسناً ، نأخذ قصة أخرى

43:59، وهذه ستستغرق وقتاً

44:01محدداً . نأخذ قصة أخرى

44:03، وهذه ستستغرق وقتاً

44:04محدداً ، مهلاً ، لقد

44:06استنفدنا سعة السبرنت .

44:08حسناً ، أسبوعان . نعم ،

44:10يجب تطويرها

44:11واختبارها ، وعلينا

44:13القيام بكل هذا . حسناً

44:15، انتهينا . إذاً ، هي

44:16ثلاث قصص . عادةً ما

44:18يرغب محلل الأعمال في

44:20إضافة 50 قصة مستخدم ،

44:22لكن الأمر لا يسمح ،

44:24وهنا يأتي دور " سكرم

44:25ماستر " ( Scrum Master ) ليقول : "

44:27مهلاً ، إلى هنا نحن

44:29بخير ، لا يمكننا إضافة

44:31المزيد من القصص . " إنه

44:32يشبه " سكرم ماستر " ، هو

44:34بمثابة حكم المباراة .

44:36حسناً ، إنه ينظم كل

44:38هذه المواقف . إذاً ، من

44:42يستخدم قصص

44:43المستخدمين ؟ حسناً ،

44:45تُستخدم قصص

44:46المستخدمين في الأطر

44:48التي ذكرتها لكم ، مثل "

44:50سكرم " ( Scrum ) و " كانبان " (

44:52Kanban ) . حسناً ، لقد

44:54أخبرتكم أن قصص

44:55المستخدمين في " سكرم "

44:57تساعد الفريق على

44:59تحسين الفهم خلال

45:00التخطيط للسبرنت .

45:03يتمتع " سكرم " بهيكل

45:04أكثر تحديداً مع أدوار

45:06معينة ، تشمل " سكرم

45:08ماستر " ، ومالك المنتج ،

45:10وفريق التطوير . حسناً ،

45:12يتم تقسيم الأنشطة إلى

45:14" سبرنت " ( Sprint ) ، وهي

45:15تكرارات زمنية ثابتة

45:17كما أخبرتكم ، يمكن أن

45:19تتراوح من أسبوعين إلى

45:21أربعة أسابيع . المدة

45:23المثالية هي أسبوعان ،

45:24وبعض الفرق تجعلها

45:25ثلاثة أسابيع . حسناً ،

45:29في المقابل ، في "

45:31كانبان " ( Kanban ) تقوم

45:32الفرق بإضافة قصص إلى

45:34قائمة الأعمال

45:35المتراكمة ، وهي قصص

45:37المستخدم التي تمنح

45:39الفرق السياق والوضوح

45:41اللازمين لإدارة

45:43العمل والالتزام

45:44بالمواعيد النهائية . "

45:50كانبان " أكثر مرونة من

45:52حيث الأدوار . لا يوجد

45:54دور محدد مثل " سكرم " ( Scrum

45:56) ، على الرغم من وجود

45:58مسؤول عن العملية

46:00عادةً . وهنا يكمن

46:02الفرق الذي يجب أن

46:04تدركوه ؛ لا يوجد "

46:05سبرنت " محدد في " كانبان

46:08" . حسناً ، لأنه في "

46:09كانبان " مثلاً ، قد

46:11يستمرون في إضافة

46:12المهام عندما يصل

46:14النظام إلى مرحلة

46:15النضج ويدخل في مرحلة

46:17الصيانة . تخيلوا أن

46:19النظام تم تطويره خلال

46:20عام ، وشهد العديد من

46:22دورات " السبرنت " ، ثم

46:23دخل بعدها في مرحلة

46:25الصيانة . لماذا ؟ لأنه

46:27يجب تغيير هذا وتعديل

46:29ذاك ، ومن خلال ذلك

46:30يقومون بإضافة وظيفة

46:32جديدة . حسناً ، هذا هو

46:34الفرق الكبير بين "

46:36سكرم " و " كانبان " . حسناً

46:38. أريدكم أن تستوعبوا

46:39هذا الفرق . في الوقت

46:41الحالي ، قد يبدو الأمر

46:43بالنسبة لكم متشابهاً

46:44، لأن كلاهما يندرج

46:46ضمن إطار منهجيات

46:47العمل المرنة . كيف

46:50نكتب قصة مستخدم جيدة ؟

46:54ليس من السهل يا رفاق

46:56كتابة قصة مستخدم جيدة

46:58. لقد عملت كمحلل وظيفي

47:00وأؤكد لكم أنه كان من

47:02الصعب علي جداً صياغة

47:04قصة مستخدم جيدة

47:06يفهمها المطور ومسؤول

47:08الجودة ( QA ) . تُكتب قصة

47:11المستخدم في ثلاث

47:12خطوات وتمثل وجهة نظر

47:14المستخدم النهائي .

47:16ثلاث خطوات يجب

47:18اتباعها لكتابة قصة

47:20مستخدم . أولاً ، الملف

47:22الشخصي ، ودور

47:23المستخدم النهائي ،

47:25والحاجة ، والهدف الذي

47:27يسعى إليه كوظيفة

47:29برمجية للمستخدم

47:30النهائي . وثالثاً ،

47:34الغرض ، والهدف من

47:35تجربة المستخدم

47:37النهائي مع الوظيفة

47:38البرمجية . يجب أن

47:41تتضمن قصة المستخدم

47:43هذه المكونات الثلاثة .

47:45حسناً ، سنتعمق في كل

47:47واحد منها ، لكن الأول

47:49هو الملف الشخصي .

47:52الملف الشخصي

47:54للمستخدم النهائي ،

47:56سيقوم بتقييم جمهور

47:57مستهدف محدد . يجب

47:59الأخذ بعين الاعتبار

48:01من سيؤثر عليه هذا

48:02الجزء من البرنامج .

48:06وهنا عادة ما تُطرح

48:07أسئلة عند تحديد الملف

48:09الشخصي . على سبيل

48:11المثال ، لمن نقوم

48:13بإنشاء هذه الوظيفة

48:14البرمجية ؟ ما نوع

48:16خصائص المنتج التي

48:17يريدها المستخدم

48:19النهائي ؟ ما هي

48:20البيانات

48:21الديموغرافية وما

48:22الذي يريده المستخدم

48:24النهائي ؟ حسناً ، يجب

48:26دائماً التفكير

48:27بالطريقة التي يفكر

48:29بها المستخدم النهائي .

48:31حسناً . ثم صف الحاجة .

48:37حسنًا ، صف كيف سيستخدم

48:39المستخدم النهائي

48:40ميزة البرنامج . ولماذا

48:42؟ لأن هذا أمر أساسي

48:45لفهم الفريق لسبب

48:47اختيار الجمهور

48:48المستهدف لاستخدام

48:50تلك الميزة . وعلينا أن

48:53نضع في اعتبارنا ،

48:54وربما يجب طرح أسئلة

48:56هنا مثل ، على سبيل

48:58المثال ، ما الذي يحاول

48:59المستخدم النهائي

49:01تحقيقه ؟ كيف ستساعد

49:03ميزة التطوير التي

49:04سيتم إنشاؤها

49:06المستخدم النهائي في

49:07تحقيق ذلك الهدف ؟

49:09حسنًا . إيه ، لا أعلم ،

49:13على سبيل المثال ، إيه ،

49:15مساعدة أعضاء الفريق

49:17على فهم كيف تساهم

49:19المهام الفردية في

49:20تحقيق أهداف تجارية

49:22أوسع ، على سبيل المثال

49:24، لا أعلم ، شيئًا يخص

49:26العمل . حسنًا . والخطوة

49:30الثالثة ، وهي الغرض .

49:34حسنًا ، هنا من الواضح

49:36أنه يجب طرح أسئلة مثل

49:38، على سبيل المثال ، ما

49:40هي فائدة ميزة

49:41البرنامج ؟ ما هي

49:44المشكلة التي يتم حلها

49:46؟ كيف ستتناسب هذه مع

49:48الأهداف الأوسع ؟

49:50حسنًا ، أنا أطرح عليكم

49:53ضمن هذه العناصر

49:54الثلاثة أسئلة ، لكنها

49:56أسئلة تتبادر إلى ذهني

49:59لأنني ، بعبارة أخرى ،

50:01لدي خبرة كبيرة في قصص

50:03المستخدمين منذ عدة

50:05سنوات . حسنًا ، لكن هذا

50:07لكي لا ... هذا يعتمد

50:09عليكم ، أليس كذلك ؟ لأن

50:11ربما تودون التفرغ

50:13للقيام بـ ... كتابة قصة

50:18مستخدم . لكن دعونا

50:22ننتقل إلى بعض الأمثلة

50:24لماهية قصص

50:25المستخدمين . لماذا

50:27تفهم قصص المستخدمين

50:29الرشيقة ( Agile ) ؟ إيه ،

50:32لكي تفهموا أكثر

50:34قليلاً . أترك لكم هنا

50:37بعض الأمثلة . إذن ،

50:40المثال الأول ، حسنًا ،

50:42وهو عن تطوير المنتج .

50:45بصفتي مدير منتج ، أريد

50:51إيه ، طريقة تمكن أعضاء

50:53الفريق من فهم كيف

50:54تساهم المهام الفردية

50:56في الأهداف التجارية

50:58الأوسع لزيادة

50:59الكفاءة . هذا كتطوير

51:04للأسئلة . بعد ذلك

51:06لدينا ما يتعلق بتجربة

51:08العميل . بصفتي عميلاً

51:10متكرراً ، أتوقع حفظ

51:12معلوماتي لخلق تجربة

51:14دفع أكثر سلاسة .

51:17الثالثة ، تطبيق

51:19الهاتف المحمول . بصفتي

51:22مستخدماً متكرراً

51:24للتطبيق ، أريد طريقة

51:25لتبسيط المعلومات ذات

51:28الصلة بأسرع طريقة

51:29ممكنة . في هذه الأمثلة

51:33الثلاثة ، يمكنكم رؤية

51:35مدى أهمية طرح تحديثات

51:37البرامج من منظور

51:39المستخدم النهائي .

51:42حسنًا ، بهذه الطريقة

51:44ستتم مراجعة

51:45التحديثات مع وضع

51:47التركيز دائماً على

51:48منفعة المستخدم

51:50النهائي . حسنًا ، ما هو

51:58معيار القبول ؟ وهذا

52:01مهم جداً . فيما يتعلق

52:04بتطوير المشروع . حسنًا

52:08، هناك شيء مهم مطلوب

52:10دائماً لضمان الجودة (

52:12QA ) . يجب أن تحتوي قصص

52:16المستخدم على معايير

52:18القبول . حسناً ، يتم

52:23تحديد معايير القبول

52:25من قبل مالك المنتج

52:27وفريق التطوير . لماذا ؟

52:30لأنها تفيد المطور

52:32فيما يجب عليه تطويره ،

52:34وتفيد مسؤول ضمان

52:36الجودة فيما يجب عليه

52:37اختباره . حسناً ، هي

52:40متطلبات يجب أن يلبيها

52:42المنتج ليعتبر

52:43مكتملاً . وهي مرتبطة

52:48جداً بقصة المستخدم ،

52:50ومن الطبيعي أن تكون

52:52مدرجة ضمن وصف قصة

52:54المستخدم . إليكم بعض

53:00الأمثلة لمعايير قبول

53:02قصة المستخدم ، على

53:03سبيل المثال ، عند

53:05تسجيل الدخول ، هناك

53:07سيناريو عندما يرغب

53:08المعلم في البحث عن

53:10بيانات الطالب المسجل

53:12لإدارة تسجيله .

53:18بافتراض أنه دخل إلى

53:20النظام كمعلم ، وعندما

53:22أكون في قسم التسجيل ،

53:23يجب أن أتمكن من البحث

53:25عن بيانات الطالب

53:27المسجل . إذن ، ما هي

53:35الفوائد ؟ وهنا نجد

53:38ثلاث كلمات . بافتراض ،

53:40عندما ، إذن ؟ لاحظوا .

53:42بافتراض ، عندما ، إذن .

53:45هذه الكلمات الثلاث ،

53:47Given و When و Then ، هي

53:49الفوائد الرئيسية

53:51التي ذكرناها سابقاً ،

53:53وهي معرفة متى تكون

53:55قصة المستخدم مكتملة

53:57وتلبي توقعات العميل .

54:01من ناحية أخرى ، حقيقة

54:03أن المعايير تُكتب

54:05بشكل مشترك وليست

54:07مسؤولية مالك المنتج

54:09وحده . حسناً ، هذا

54:13سيسمح لفريق التطوير

54:15بتقديم منظور جديد

54:17للعميل . من الخصائص

54:22الأخرى التي توفرها

54:24كتابة معايير القبول

54:26هي إزالة الغموض عن

54:27المتطلبات . وأخيراً ،

54:32النتيجة المترتبة على

54:34التطوير بناءً على

54:36معايير القبول هي تحسن

54:38جودة المنتج بشكل كبير

54:40، لأننا سنعتمد في

54:42تطويرنا على ما حدده

54:43العميل بشكل صريح ،

54:50وهذا بدوره سيمنحنا

54:52الطمأنينة فيما نقوم

54:54به . إذن ، " بافتراض ،

54:59عندما ، إذن " هي واحدة

55:01من أكثر التقنيات

55:03شيوعاً لكتابة

55:04المعايير وتسمى

55:06بتقنية السلوك ، لأنها

55:08تعتمد أساساً على وصف

55:10سلوكيات وظائفنا .

55:16بافتراض وجود شرط معين

55:18، وعندما يحدث حدث أو

55:21إجراء ، ستترتب على ذلك

55:23نتيجة . حسناً ، هذا هو

55:30المثال الأسهل

55:31الموجود في العرض

55:32التقديمي ، بافتراض أن

55:34المستخدم يريد تسجيل

55:36الدخول إلى نظامنا ،

55:38عندما يُدخل اسم

55:39المستخدم وكلمة

55:41المرور وتكون صحيحة ،

55:42إذن يمكن للمستخدم

55:44الدخول بنجاح إلى

55:45الصفحة الرئيسية .

55:51حسناً ، هذا مثال سهل ،

55:53لكن أحياناً يعتمد

55:55الأمر على تعقيد قصة

55:57المستخدم ، ويجب علينا

55:59مراعاة ذلك . حسناً ،

56:02ولكن هذا أحد أكثر

56:03الأمثلة كلاسيكية .

56:08الآن ، هناك طريقة

56:10فعالة لإنجاز قصة

56:12المستخدم . جيد . وهي الـ

56:163C . ما هي الـ 3C ؟ حسناً ،

56:21هي ثلاث خطوات وصفية .

56:24حسناً ، قصة المستخدم

56:27الفعالة تعتمد بوضوح

56:29على هذه الـ 3C ،

56:30والاختصار هو INVEST .

56:34حسناً ، سنراها لاحقاً

56:36هنا . إذن ، الـ 3C هي :

56:39الحرف الأول C يرمز

56:41للبطاقة ( Card ) ، والثاني

56:44للمحادثة ( Conversation ) ،

56:46والثالث للتأكيد (

56:48Confirmation ) . تقسم الـ 3C كل

56:52قصة مستخدم إلى ثلاث

56:55نقاط مرجعية مختلفة .

56:57جيد ، مما يخلق عملية

56:59أكثر تنظيماً . هنا

57:03سنحلل هذه الـ 3C ،

57:05الأولى هي البطاقة ،

57:06وهي وصف قصة المستخدم

57:09المستخدمة لتخطيط ما

57:11سيتم تنفيذه في

57:12السبرنت . جيد . ثم لدينا

57:19المحادثة ، وهي نقاش

57:21بين العميل ،

57:23والمستخدمين ،

57:24والمطورين ، وفريق

57:26ضمان الجودة لفهم ما

57:28يجب أن تنجزه هذه

57:30القصة . ثم لدينا الـ C

57:35الأخيرة وهي التأكيد ،

57:37وهو اتفاق بين أصحاب

57:39المصلحة على تحقيق

57:40الأهداف والحلول لتلك

57:42القصة لإنهاؤها . تساعد

57:51الـ 3C بوضوح في تقسيم

57:53قصة المستخدم وتوفر

57:54اتجاهاً واضحاً بين

57:56الأطراف المعنية . بعد

58:01ذلك ، كما أخبرتكم ،

58:03لدينا نموذج INVEST . ما هو

58:05نموذج INVEST ؟ نموذج INVEST

58:07يعني : مستقلة ، قابلة

58:09للتفاوض ، ذات قيمة ،

58:11قابلة للتقدير ، صغيرة

58:13، وقابلة للاختبار .

58:16بالانتقال إلى الأولى

58:18، وهي " مستقلة " ، يجب أن

58:20تكون قصة المستخدم

58:21مستقلة ، مما يعني أنها

58:23لا تعتمد على مهام

58:25أخرى وهي مستقلة

58:26تماماً . يجب أن تكون

58:28قصة المستخدم مستقلة ،

58:30ويجب أن تؤدي ما تنص

58:31عليه القصة . جيد ، ثم

58:33لدينا " قابلة للتفاوض " .

58:35يجب أن تكون قصة

58:36المستخدم قابلة

58:38للتفاوض . ماذا يعني

58:39ذلك ؟ هذا يعني أنها لا

58:41تترك مجالاً للجدل .

58:43يجب أن يفهم مختبر

58:44الجودة قصة المستخدم

58:46ويعرف ما الذي يجب

58:48عليه اختباره . جيد ، ثم

58:51" ذات قيمة " . يجب أن تقدم

58:53قصة المستخدم قيمة

58:55للمستخدم النهائي .

58:57حسناً ، لا يوجد الكثير

58:59لأقوله هنا . " قابلة

59:01للتقدير " . يجب أن يكون

59:03من الممكن تقدير حجم

59:05قصة المستخدم . لقد

59:06تحدثت معكم عندما

59:08تكونوا في مرحلة تخطيط

59:10السبرنت ، سيقدمون لكم

59:12قصة مستخدم . سأبحث

59:13الآن لأرى إن كان

59:15بإمكاني الحصول على

59:16قصة مستخدم لنطلع

59:17عليها . أوه . إذن يجب أن

59:22تكون قصة المستخدم

59:24مفهومة . بصفتكم مسؤولي

59:26جودة ( QA ) ، ستقولون : "

59:27دعونا نرى ، سيتطلب هذا

59:29عدداً معيناً من

59:30تصميمات حالات

59:31الاختبار ، وسأختبرها

59:33في كذا ، وسيستغرق هذا

59:35مني ، لا أعلم ، مثلاً ، 5

59:37ساعات " . حسناً ، يجب

59:38عليكم تقدير ذلك في

59:40تلك اللحظة لأن الجميع

59:42سيكونون جالسين على

59:44الطاولة ، المطور ،

59:46ومالك المنتج ( PO ) ،

59:48وسكرام ماستر ،

59:49وسيقولون : " حسناً ، كم

59:51من الوقت ستستغرق

59:53لاختبار هذا ؟ " حسناً ،

59:55يجب أن تفهموا قصة

59:57المستخدم في عقولكم

59:58حتى تتمكنوا من تقديم

1:00:00تقدير . لا يمكنكم

1:00:01القول : " يا شباب ،

1:00:03سأخبركم لاحقاً " . لا ،

1:00:04يجب عليكم قول ذلك في

1:00:05تلك اللحظة يا رفاق .

1:00:07هذه هي المنهجية . ش .

1:00:09يجب أن تكون صغيرة . يجب

1:00:11أن تكون قصة المستخدم

1:00:13جزءاً صغيراً من العمل

1:00:15يمكن مراجعته في فترة

1:00:17زمنية قصيرة . أوضح من

1:00:19ذلك مستحيل ، لأنني

1:00:20أخبرتكم بالفعل ، يجب

1:00:22أن تفهموها لتتمكنوا

1:00:24من تقدير الوقت . لا

1:00:25يمكنكم القول سأقضي

1:00:26ثلاثة أسابيع في

1:00:27الاختبار . لا ، هذا

1:00:29مستحيل يا رفاق . بمعنى

1:00:31أنكم لم تفهموا قصة

1:00:32المستخدم في تلك

1:00:33اللحظة . لهذا السبب ،

1:00:36أثناء اجتماع التخطيط

1:00:38، يجب أن تفهموا قصة

1:00:43المستخدم جيداً . أقول

1:00:45للشباب أحياناً : "

1:00:46اشربوا ثلاثة أكواب

1:00:47قهوة لتكونوا

1:00:48مستيقظين وتفهموا " .

1:00:50وإذا لم تفهموها ، يجب

1:00:51أن تسألوا . لماذا ؟

1:00:53لأنكم ستتسببون في

1:00:54مشكلة كبيرة داخل

1:00:56السبرنت ( Sprint ) . جيد . وأن

1:01:00تكون قابلة للتحقق ، أي

1:01:02قابلة للاختبار . يجب

1:01:04أن تجتاز القصة

1:01:05اختبارات القبول

1:01:07وتلبي معايير القبول .

1:01:11لا يوجد الكثير

1:01:12لتوضيحه هنا . يجب هنا

1:01:16التأكد من صياغة قصة

1:01:18المستخدم بطريقة

1:01:19محددة وقابلة للتحقيق

1:01:21، باتباع هذا الاختصار

1:01:26الذي أخبرتكم به . إذاً

1:01:30، تكمن أهمية أن تكون

1:01:34قصة المستخدم دقيقة .

1:01:36حسناً ، يجب كتابة قصة

1:01:38المستخدم بطريقة

1:01:39فعالة ، فقد تكون أجزاء

1:01:42صغيرة من تطوير المنتج

1:01:44، لكن هذه القصص تساعد

1:01:46في الواقع على توليد

1:01:47نتائج إبداعية لوظائف

1:01:50المنتجات الجديدة .

1:01:52سيكون الاهتمام

1:01:53بالتفاصيل هنا مهماً

1:01:55للغاية لكل واحد منكم .

1:01:59حسناً ، وهناك ثلاث

1:02:01نقاط تلي ذلك . جيد .

1:02:04الأولى ، ضعوا العملاء

1:02:06في المقام الأول . تضع

1:02:10قصص المستخدمين

1:02:11المستخدمين النهائيين

1:02:13في مركز المحادثة .

1:02:15مكون مهم من إطار عمل

1:02:18أجايل ( Agile ) . بعد ذلك ،

1:02:22يمكن للفريق تحديد

1:02:24الأولويات واحتياجات

1:02:26المستخدمين ، وسيتعين

1:02:28عليهم التركيز على

1:02:29كيفية المساهمة في خلق

1:02:31تجربة مستخدم إيجابية .

1:02:36حسنًا ، النقطة

1:02:40الثانية هي تعزيز

1:02:41الحلول المبتكرة . كلما

1:02:46تعمقتم في فهم ملف

1:02:48تعريف المستخدم

1:02:49النهائي ، أصبحت حلول

1:02:51البرمجيات أكثر

1:02:52ابتكارًا . يعود هذا

1:02:57إلى ضرورة التركيز على

1:02:59احتياجات المستخدمين ،

1:03:00التي يمكن ربطها

1:03:02بأهداف العمل

1:03:03الداخلية . كلما زاد

1:03:07التزامكم تجاه أنواع

1:03:09المستخدمين الذين

1:03:11تستهدفونهم ، كانت

1:03:12النتائج أكثر فعالية .

1:03:16وبعد ذلك النقطة

1:03:18الثالثة ، تعزيز

1:03:19التعاون الجماعي .

1:03:24عندما يقوم العديد من

1:03:26أعضاء الفريق بتحليل

1:03:27وتحديد أولويات قصص

1:03:29المستخدم ، سيزدهر

1:03:31التعاون في مكان العمل

1:03:33بشكل كبير . سيؤدي هذا

1:03:37إلى توليد وجهات نظر

1:03:39متعددة تأخذ في

1:03:40الاعتبار تقديم حلول

1:03:42جديدة ، وتجاوز

1:03:43العقبات الموجودة

1:03:45لديكم ، بدءًا من

1:03:46النتائج القابلة

1:03:48للقياس وصولًا إلى فهم

1:03:50متطلبات المنتج . كلما

1:03:56زاد تواصل الفريق ، كان

1:03:58الوصول إلى النتائج

1:04:00المرجوة أسهل . ومن

1:04:06الواضح أن هذا سيولد

1:04:08قيمة مضافة لتجربة

1:04:09المستخدم . إن وضع

1:04:13المستخدم النهائي في

1:04:14المقام الأول هو وسيلة

1:04:16فعالة لتركيز

1:04:17المحادثات حول

1:04:18احتياجات المستخدمين

1:04:20النهائيين . حسنًا . وفي

1:04:22نهاية المطاف ، سيؤدي

1:04:24ذلك إلى خلق قيمة أكبر .

1:04:27من خلال إجراء محادثات

1:04:28حول تجربة المستخدم

1:04:30النهائي . ستتمكنون من

1:04:32إنشاء حلول برمجية

1:04:34أكثر ابتكارًا من

1:04:35شأنها تحسين عملية

1:04:37تطوير المنتجات . إذا

1:04:40تخيلتم أنكم مستخدمون

1:04:42نهائيون و قال التطبيق

1:04:46: " نعم ، لكنني لا أحب

1:04:48هذا ، فأنا من فريق

1:04:50سكرام . " حسنًا ، أنا

1:04:52المطور ، وأنا كل شيء ،

1:04:54ولكن إذا لم يعجبكم

1:04:56الأمر ، فلن تقدروا

1:04:58قيمته ، وبالتالي

1:05:00سيضيع هذا البرنامج .

1:05:02لهذا السبب يجب أن

1:05:04تكونوا دائمًا على

1:05:05تواصل مع المستخدم

1:05:07النهائي ، واسألوه عما

1:05:09يريد تغييره ، وما لا

1:05:10يراه مناسبًا ، فقد

1:05:12يرغب في الوظائف بطرق

1:05:14مختلفة . هنا تكمن

1:05:16أهمية التواصل ،

1:05:18التفكير في الأمر ،

1:05:20رؤيته ، ماذا يحتاج ،

1:05:22هذا لا يعجبني ، أرى أن

1:05:24هذا يمكن القيام به

1:05:26بطريقة مختلفة . لذلك ،

1:05:29يتم أحيانًا دعوة

1:05:31المستخدم النهائي إلى

1:05:32بعض الاجتماعات ليعطي

1:05:34رأيه ويذكر الأشياء

1:05:36التي لا تعجبه أو

1:05:37الأشياء التي تحتاج

1:05:39إلى تحسين . حسناً ، هذا

1:05:43في نموذج الشلال ، أو

1:05:45النموذج الحلزوني ، أو

1:05:47التقليدي ، لم يكن

1:05:48مستخدماً ، كان الأمر

1:05:50مختلفاً ، كما كنت

1:05:52أخبركم ، كان يتم

1:05:54التحليل ، ثم التصميم ،

1:05:56ثم التطوير ، ثم اختبار

1:05:58الجودة . هناك مشاريع

1:06:02عملت بها ، تم تطويرها

1:06:04لمدة 9 أشهر ، ثم جاء

1:06:06دور اختبار الجودة

1:06:08ليجد أخطاء في كل مكان .

1:06:11كان ملف Word يحتوي على ،

1:06:14لا أعرف ، 90 صفحة . كان

1:06:16لدينا ، لا أعرف ، كم

1:06:18عدد حالات الاختبار

1:06:19التي يجب تجربتها ؟ ما

1:06:21الذي كان يحدث ؟ مجموعة

1:06:23التطوير تلك كانت قد

1:06:25بدأت بالفعل في تطوير

1:06:27آخر ، ثم قيل لهم : "

1:06:28انظروا ، اختبار

1:06:29الجودة وجد ، لنقل على

1:06:31سبيل المثال ، 250 خطأ

1:06:33برمجياً " . يا إلهي ، هذا

1:06:35كثير جداً . لا أعرف

1:06:36ماذا أقول . كان على

1:06:38المطور بعد شهر ونصف

1:06:40أن يعود ليرى ما لديه

1:06:42في الكود ، وكان يتأخر

1:06:44كثيراً . حسناً ،

1:06:46المشروع كان يفشل هناك

1:06:48، ولهذا ظهرت هذه

1:06:49المنهجية الجديدة وهي

1:06:51منهجية أجايل ( Agile ) .

1:06:54حسناً ، من هنا بدأ كل

1:06:56شيء وتغير الأمر . منذ

1:07:01سنوات عديدة بدأ

1:07:03استخدام هذا وهو أمر

1:07:05جيد ، ومهم ، ويبدو لي

1:07:07أنني أستخدمه منذ وقت

1:07:10طويل وأستفيد منه بشكل

1:07:12جيد . لا أعرف إذا كان

1:07:18أي منكم يعمل به ، يبدو

1:07:20لي أن نعم . سمعتكم

1:07:22تذكرون موضوع

1:07:24المنهجية ، أنا أتحدث

1:07:26على مستوى واسع ، نعم ،

1:07:28على مستوى آخر ، مستوى

1:07:31عالٍ . ربما أنتم

1:07:33تعملون داخل خلية

1:07:34وترون الأمر بطرق

1:07:36مختلفة ، ولكن مع هذا

1:07:38يمكنكم رؤية كيف يعمل

1:07:40نموذج أجايل من الأعلى

1:07:42. كان هنا شخص يعمل

1:07:45بهذه الطريقة .

1:07:52>> أنا أعلم ذلك ، لكنني

1:07:54لا أتذكر .

1:07:55>> أنا من جانبي ، للتعامل

1:07:58مع شيء ما ، أستخدم "

1:08:00كانبان " ( Kanban ) .

1:08:01>> حسناً ،

1:08:02>> إنه مشروع بدأ بالفعل

1:08:04>> وهو في مرحلة الصيانة .

1:08:06نعم . ونحن نعمل على

1:08:08>> تحسينه أكثر فأكثر .

1:08:11وتعملون باجتماعات

1:08:13التخطيط

1:08:16>> والاجتماعات اليومية (

1:08:18dailies ) ، ونحن ، أي

1:08:19المطورين ، لا تصلنا

1:08:21المهام الأكثر أولوية

1:08:23، إذا جاز التعبير .

1:08:25>> ما هو دورك ؟

1:08:27>> مطور .

1:08:28>> مطور . حسناً . وهل

1:08:31الأشياء التي ذكرتها

1:08:33تحدث معك بشكل أو بآخر

1:08:35؟

1:08:36>> نعم ، نعم . أي أن كل

1:08:38فريق هو عالم بحد ذاته

1:08:40، أليس كذلك ؟ لكن

1:08:41الأمور تسير بتلك

1:08:43الطريقة .

1:08:44>> حسناً .

1:08:45>> نعم ، نعم . لهذا أسأل ،

1:08:48هل رأيت ؟ لأنه في بعض

1:08:51الأحيان تحدث هذه

1:08:53الأمور ، وحسناً ،

1:08:54أحياناً هكذا تسير

1:08:58الأمور يا شباب . يعني

1:09:00أحياناً تكون متعارضة

1:09:02، هذا الذي ... الأمر ليس

1:09:07بالخطية التي أخبركم

1:09:09بها . حسناً . حسناً ، هل

1:09:12من أسئلة ؟ معلومات

1:09:21كثيرة ، ولكن لكي نختصر

1:09:23، فهي عملية توحيد

1:09:24للمعايير أيضاً ، أليس

1:09:26كذلك ؟ لأن جميع

1:09:28الأقسام ، بكونها

1:09:29مكتوبة بلغة غير تقنية

1:09:31، بل باللغة الأصلية ،

1:09:34لنقل ، طبعاً باللغة

1:09:35الأصلية ، تفهم جميع

1:09:37الأقسام ما يتم تطويره

1:09:40في تلك اللحظة .

1:09:41>> طبعاً . نعم ، ولهذا

1:09:44أقول لكم هذا لأن ...

1:09:48>> لأن المختبر ( التيستر )

1:09:50الذي لا يعرف البرمجة

1:09:52أو لا يكتب الكود ،

1:09:54يفهم الوظيفة مباشرة .

1:09:56طبعاً . نعم . إيه ، نعم ،

1:09:59سمِّه ... لنقل سمِّه

1:10:02هكذا ، حسناً ، لكن هذا

1:10:05وراءه ... المشكلة أنك لم

1:10:07تعمل عليه ، أليس كذلك ؟

1:10:10مثل الـ ...

1:10:12>> ها ؟ نعم ، لا ، لكن لكي

1:10:14أشمل كل شيء ، لأنها

1:10:16كانت 12 شريحة عرض مع

1:10:17الكثير من المعلومات

1:10:19خلفها .

1:10:20>> نعم ، نعم . دعونا نرى ،

1:10:22الأمر أكثر من ذلك ،

1:10:24انظروا ، لقد وجدت

1:10:25واحدة ، سأريكم كيف

1:10:27سيكون هذا . لنقم

1:10:28بالأمر وكأننا في

1:10:30تدريب عملي .

1:10:32>> حسناً ، لا ترتبكوا يا

1:10:34شباب مما سترونه .

1:10:36حسناً ، انظروا ، هذه

1:10:39ستكون قصة مستخدم ( User

1:10:41Story ) . حسناً ، هذه ستكون

1:10:44من جيرا ( Jira ) . حسناً ،

1:10:46لدي هنا ملف PDF ، لكنه

1:10:48نفس الشيء . هنا سيكون

1:10:50لدينا كيف يبدو هذا .

1:10:52الأمر يتعلق بشيك

1:10:54إلكتروني . حسناً ، هذا

1:10:56نموذج لقصة مستخدم .

1:10:58كنت أقول لكم ، حسناً ،

1:11:00قصة المستخدم يجب أن

1:11:02تحتوي على وصف . حسناً .

1:11:05ونأتي إلى هنا ونجد

1:11:06الوصف . كيف أريد لكي ... ؟

1:11:10لا ، لا تحاولوا قراءته

1:11:12، سأخبركم أنا ، أي ما

1:11:14هو مفتاح هذا الأمر .

1:11:16هنا لدينا الوصف .

1:11:17لاحظوا أن الوصف

1:11:19أخبرتكم أنه يجب أن

1:11:20يكون جملة مفهومة . من

1:11:22الواضح أنكم لستم في

1:11:24المشروع ولن تفهموه .

1:11:26إذن ، ماذا لدينا بعد

1:11:28ذلك ؟ بعد ذلك لدينا

1:11:31شروط البدء ، وما الذي

1:11:33قلته لكم ، ما الذي

1:11:35يحتاجه الـ QA لتصميم

1:11:37حالات الاختبار ولكي

1:11:39يتمكن المطور أيضاً من

1:11:41تطوير معايير القبول ؟

1:11:46بما أنه عندما ... هنا

1:11:48بالطبع هذه وظيفة ، بما

1:11:50أنه يحدث كذا وكذا ،

1:11:52فهذا سيكون شرطاً آخر .

1:11:55بعد ذلك لدينا

1:11:56التفاصيل . حسناً ، هنا

1:11:59يتم شرح ما يدور حوله

1:12:01الأمر ، وبعد ذلك لدينا

1:12:03التدفق الأساسي ، وهنا

1:12:05يوجد التدفق

1:12:06والاعتبارات . بعيداً

1:12:10عن هذا ، تخيلوا أنكم

1:12:12في المشروع . تخيلوا

1:12:14أنكم ، البعض منكم

1:12:15مطورون والبعض الآخر

1:12:17من فريق ضمان الجودة ،

1:12:18وعلي أن أقول لكم : "

1:12:20حسناً يا شباب ، كم

1:12:21سيستغرق المطور من

1:12:23الوقت في هذا ؟ " " حسناً ،

1:12:25سيقولون : لا ، أنا

1:12:26أحتاج يومين لتطوير

1:12:28هذا . " " حسناً ، انتهينا . "

1:12:30ويقول مسؤول الجودة : "

1:12:32أنا أحتاج 3 أيام

1:12:33لاختباره . " " جاهز . " هكذا

1:12:36يتم إنجاز دورة العمل (

1:12:38السبرنت ) . بعد ذلك ،

1:12:40سأعرض عليكم قصة

1:12:41مستخدم أخرى وسيقول

1:12:43مدير المشروع : " يا رفاق

1:12:45، انظروا ، نحن نقترب

1:12:46من الوصول للسعة

1:12:48القصوى للفريق ولا

1:12:49يمكننا تجاوز هذا

1:12:51التطوير لأكثر من ، على

1:12:53سبيل المثال ، ثلاث قصص

1:12:55مستخدم . " " حسناً ، " هنا

1:12:58من الواضح ، حسناً ، هذا

1:13:00جزء خاص بالنظام ، أليس

1:13:02كذلك ؟ لأن من الواضح

1:13:04هنا لا أعرف ما الذي

1:13:05يحتويه ، لكن يجب أن

1:13:07يكون خاصاً بما هو

1:13:08موجود هنا : التصميم ،

1:13:10الواجهة ، المستجدات ،

1:13:12حسناً ما هي ملفات الـ

1:13:14XML هذه ؛ لا أعرف ما هي ،

1:13:15وبالطبع سنراها

1:13:17لاحقاً ، لكن هنا مثلاً

1:13:18، لدينا بالفعل إنشاء

1:13:20حالات الاختبار . ما

1:13:22الذي فعله هنا ؟ قام

1:13:24كابينو بالفعل بإنشاء

1:13:26حالات الاختبار كمهمة

1:13:28فرعية . حسناً ، هذا ،

1:13:32انظروا ، أنا أعرض

1:13:33عليكم قصة مستخدم ،

1:13:34ولهذا قلت لكم لا داعي

1:13:36للخوف يا شباب ، هذا

1:13:38كبير جداً بالنسبة لكم

1:13:39، لكن لكي تأخذوا فكرة

1:13:41عن طبيعة الحياة

1:13:42العملية . لكنكم

1:13:43ستفعلون ، نعم ، أنتم لا

1:13:45تفهمون ، نعم ، أنتم لا

1:13:46تفهمون يا شباب لأنكم

1:13:47لستم داخل فريق العمل

1:13:49ولا تفهمون طبيعة عمل

1:13:50الشركة . حسناً ، إذا

1:13:52كنتم داخل العمل

1:13:53وتفهمونه ، ستتمكنون

1:13:55من تحديد الوقت الذي

1:13:56سيستغرقه المطورون في

1:13:58التطوير والوقت الذي

1:14:00سيستغرقه المختبرون

1:14:02في الاختبار . ليس ذلك

1:14:05فحسب ، قلت لكم في

1:14:06بداية الدورة

1:14:07التدريبية إن المساق

1:14:09يشبه المروحة . أنا

1:14:14أفتحها تدريجياً ، نعم

1:14:16، أوسعها أكثر فأكثر ،

1:14:18لأنني من هنا سأتعمق

1:14:20أكثر في مجال ضمان

1:14:22الجودة وسنستكشف

1:14:23المزيد وسنرى المزيد

1:14:25من المهام اليومية

1:14:27لمسؤول الجودة ،

1:14:28وسأستمر في تقديم

1:14:30المزيد من الجوانب

1:14:32النظرية . بعد ذلك ،

1:14:36بالطبع ، من خلال

1:14:38المشاريع العملية ( TP )

1:14:40سترون الجانب

1:14:41التطبيقي . لماذا ؟

1:14:43لأنني أستخدم

1:14:44المشاريع 1 و 2 و 3 لكي

1:14:46تقوموا بالجزء العملي

1:14:48وتتمكنوا من استخدام

1:14:50المفاهيم التي قدمتها

1:14:52لكم ، أي النظرية

1:14:54وتطبيقها عملياً . هل

1:14:59يريد أحدكم التحدث ؟

1:15:06يشعرني " المعطى "

1:15:07بالدوار ، أعني ،

1:15:08بالإنجليزية لن

1:15:10يربكني ، لكن

1:15:11بالإسبانية نعم . عندما

1:15:14،

1:15:14>> بالطبع ، لو رأيته هناك

1:15:16لتجاهلته وانتقلت

1:15:18مباشرة إلى الإسبانية

1:15:20بجانبه .

1:15:21>> ولكن الأمر سيان ، كيف

1:15:23أريد أن ؟ المشكلة أنها

1:15:25تبدو غريبة ككلمة "

1:15:26مستجدات " .

1:15:27>> آه ، حسناً .

1:15:29>> حسناً ، إنه " المعطى

1:15:31عندما " ، أي أنه نفس

1:15:32الشيء .

1:15:34>> جيد ،

1:15:37>> على أي حال لم يخبرونا

1:15:38كم تستغرق السبرنتات .

1:15:40سيء ، هذا سيء ،

1:15:42>> أليس كذلك ؟ نعم موجود .

1:15:44المشكلة أنه قديم وهذا

1:15:46لم أقم به . هذا أحتفظ

1:15:48به للاختبار . هذا نعم ،

1:15:51نعم . أعني ، يجب أن يكون

1:15:53معلوماً ، لكن هذا

1:15:55البرنامج كله ، كما

1:15:57أخبرتكم ، جيرا . جيد ،

1:15:59ولكن على أي حال سنرى

1:16:01هذا لاحقاً . أسئلة ،

1:16:05استفسارات .

1:16:07>> لدي سؤال حول " Invest " .

1:16:09عندما تكون في جزء "

1:16:11صغير " ، هنا يدخل

1:16:12الجانب القابل

1:16:13للتفاوض ، أليس كذلك ؟

1:16:14لأن

1:16:15>> بالطبع ،

1:16:17>> دائماً قصة المستخدم ،

1:16:19اعذرني دائماً قصة

1:16:21المستخدم ، يجب أن تتضح

1:16:23لك عما تدور القصة . قصة

1:16:26المستخدم قابلة

1:16:27للتفاوض . إذا رأيتم

1:16:31قصة مستخدم وكأنني

1:16:33قدمت لكم قصة ، فالأمر

1:16:36ليس كذلك . في الحياة

1:16:40الواقعية يا شباب ،

1:16:42سيأتي مالك المنتج ( PO )

1:16:44بجملة من أربع ، لا

1:16:46أعرف ، 30 كلمة ويقول : "

1:16:48مهلاً ، أين معايير

1:16:50القبول هنا ؟ " " لم أضع

1:16:52لكم معايير القبول ،

1:16:54ولهذا أخبرتكم ،

1:16:55معايير القبول يجب أن

1:16:57تطالبوا بها ، وإلا لن

1:16:58تستطيعوا تقدير القصة .

1:17:00" " ما الذي يحدث ؟ " أنتم

1:17:04تقدرون شيئاً ولا

1:17:06تعرفون ما الذي يتم

1:17:07تقديره ، وسيقول مالك

1:17:09المنتج أو محلل

1:17:11الأعمال : " لكنك لم تسأل

1:17:13عن شيء الآن " ، لذا أنتم

1:17:15وقعتم في مشكلة في تلك

1:17:17اللحظة . جيد ، ولهذا

1:17:21يجب أن تكونوا يقظين .

1:17:23يجب أن تفهموا قصة

1:17:25المستخدم ، لكن لا

1:17:26يمكنكم فهمها من الألف

1:17:28إلى الياء . أعني ،

1:17:30عندما تسألون عن قصة

1:17:32مستخدم ، مهندس الجودة

1:17:34( QA ) ، دعونا نركز على

1:17:35الـ QA ، فهو في رأسه

1:17:37يتخيل بالفعل

1:17:38سيناريوهات الاختبار .

1:17:40بهذا سأقوم بعمل ، لنرى

1:17:42، حوالي 15 سيناريو

1:17:44اختبار . جيد . آه ، ما

1:17:48أقوله للشباب هو إذا

1:17:50كنتم تتخيلون خمسة أو

1:17:52ستة سيناريوهات

1:17:53للاختبار ، فأنتم

1:17:55تقللون من التقدير ،

1:17:57هذا تقدير خاطئ

1:17:58وستقعون في مشكلة يا

1:18:00شباب . من المهم جداً في

1:18:05هذا النموذج ضمن

1:18:07منهجية SHI ، أن تقوموا

1:18:09بالتقدير بشكل جيد .

1:18:14أقول لكم هذا مسبقاً ،

1:18:16يجب عليكم التفكير

1:18:18بعمق في قصة المستخدم

1:18:20عند طرحها . يسمى هذا

1:18:23باجتماع التخطيط .

1:18:26حسناً . آه ،

1:18:28>> لأنني كنت أفكر ، على

1:18:29سبيل المثال ، قد يأتي

1:18:31العميل ويقول لي : " انظر

1:18:32، أريد تنفيذ بوابة

1:18:34دفع على الموقع " .

1:18:35>> لا ، لا . وهذا شيء آخر

1:18:37كنت سأقوله لكم تالياً

1:18:39. قصص المستخدم في بعض

1:18:41الأحيان ، كما يقدمها

1:18:42مسؤول المنتج ( PO ) ، تكون

1:18:44عبارة عن خمس قصص

1:18:45مستخدم . ولكن لماذا ؟

1:18:47لأنه لا يمكن تقديرها .

1:18:49إنها طويلة جداً . كلما

1:18:52كانت أكثر تفصيلاً ،

1:18:53كان الأمر أسوأ . هنا يا

1:18:55شباب ، يجب علينا

1:18:57القراءة والتحليل ، لا

1:18:58خيار آخر أمامنا . إذاً

1:19:01، كلما كانت القصة

1:19:02أكثر تفصيلاً

1:19:04وتحليلاً ، فدائماً ما

1:19:06ستنقصها أشياء عند

1:19:07تقديمها يا شباب .

1:19:09سيتعين عليكم دائماً

1:19:11المطالبة بأشياء

1:19:12إضافية . وإذا لم

1:19:13تطالبوا بأي شيء ،

1:19:15فالمطور ومسؤول

1:19:16الاختبار ( QA ) يجب أن

1:19:18يتواصلا بشكل جيد ،

1:19:20لأنهما يجب أن يفهما

1:19:21القصة معاً ؛ فالمطور

1:19:23سيبرمجها ، والمختبر

1:19:25سيختبرها . حسناً ، ليس

1:19:27هذا فقط ، تخيلوا أن

1:19:29المشروع قيد التشغيل

1:19:31بالفعل وفي مرحلة

1:19:33الصيانة . عندما تُعرض

1:19:36عليكم قصة مستخدم

1:19:38لوظيفة جديدة ، يجب

1:19:40عليكم دمجها في النظام

1:19:42، وهنا يجب طرح عدة

1:19:44أسئلة . مهلاً ، بالنسبة

1:19:46لهذه الوظيفة ، هل يمكن

1:19:48استخراجها من هنا ؟

1:19:49إنها مختلفة . حسناً ،

1:19:51يجب عليكم تكليف مسؤول

1:19:53المنتج بالعودة

1:19:54والتحليل لأنه لم يكتب

1:19:56قصة المستخدم بشكل جيد

1:19:58. حسناً ، انتبهوا لذلك

1:20:01لأن يأتي بها ويعتقد

1:20:05أن من خلالكم أنتم

1:20:10سيتم

1:20:10>> بالطبع . وعندما يحدث

1:20:13ذلك أثناء الدورة ( Sprint )

1:20:15، لا مجال للتراجع يا

1:20:18شباب ، لأن الدورة

1:20:19ستضيع وتفشل ، تخيلوا

1:20:22أنكم تهتم ، تظهر مشاكل

1:20:24، ولم تُفهم القصة ،

1:20:26فات الأوان . الوقت

1:20:29المناسب هو اجتماع

1:20:30التخطيط . حسناً ،

1:20:34>> هذا أمر مهم .

1:20:35>> قد تغفل عن اعتمادية

1:20:37لم يخبرك بها مسؤول

1:20:39المنتج ، فتفاجأ بها ،

1:20:41وتصبح لديك وظيفتان ،

1:20:43وتتضاعف الدورة لأنك

1:20:45ستضطر للتطوير .

1:20:46>> حسناً ، ماذا يحدث هنا ؟

1:20:48لقد ضاعت دورة العمل (

1:20:50السبرنت ) . مفهوم .

1:20:52>> من ستلومون في ذلك ؟

1:20:54>> المسؤول عن ضمان

1:20:55الجودة أم الـ

1:20:57>> كلاهما . لأنه لم يفهم

1:20:59أي منهما القصة . لذلك

1:21:01أقول لكم دائماً ،

1:21:03اشربوا ثلاثة أكواب

1:21:04قهوة قبل بدء الاجتماع

1:21:06لأن عليكم أن تكونوا

1:21:07في كامل يقظتكم . عادةً

1:21:09عندما يكون الأمر كذلك

1:21:11، الكثيرون يستخدمون

1:21:12أيام الاثنين ، وبعضهم

1:21:14أيام الثلاثاء . حسناً ،

1:21:15إنه يوم يجب أن تكونوا

1:21:17فيه مستيقظين تماماً

1:21:19للقيام بذلك . حسناً .

1:21:22>> نعم .

1:21:24>> أي أسئلة أو استفسارات

1:21:26؟ حسناً ، من لم ينهِ

1:21:33العمل العملي يا شباب ،

1:21:35يمكنه إنهاؤه وإرساله

1:21:37لي . أنصحكم ، كما أفعل

1:21:40في كل فصل دراسي ، بأن

1:21:42تبدؤوا بمراجعة

1:21:44النظرية يا شباب .

1:21:47حسناً ، لكي تبدؤوا

1:21:49بالانسجام مع

1:21:50الامتحان الجزئي ،

1:21:52لأنكم إذا أردتم

1:21:53مراجعة كل شيء لاحقاً

1:21:55فسيكون الأمر كثيراً

1:21:57جداً . حسناً ،

1:22:01>> حسناً .

1:22:02>> أسئلة ، استفسارات ؟

1:22:08نعم ، هل ستؤكد على

1:22:10الفرق بين النموذج

1:22:12التزايدي و

1:22:15>> أوه ، لقد

1:22:16>> النموذج التكراري ،

1:22:17>> أليس كذلك ؟ بالنسبة لي

1:22:19هما شيء واحد . طالما

1:22:21أنكم تعرفون كيف تتم

1:22:23التكرارية ، أي دورة

1:22:25عمل للتحليل ، التطوير

1:22:26، الاختبار ، ثم

1:22:28الإطلاق للإنتاج ،

1:22:29سواء كان ذلك حسب

1:22:31الإصدار أو رقم الدورة

1:22:33، سموه كما شئتم ،

1:22:34فالأمر سيان .

1:22:36>> رائع .

1:22:39>> هل هناك أسئلة أو

1:22:40استفسارات ؟ حسناً ،

1:22:45يوم الأربعاء ، أرجوكم

1:22:47استغلوا حصة الأربعاء

1:22:48وراجعوا يا شباب ، لأن

1:22:50الأمور ستتراكم عليكم

1:22:52لاحقاً . الامتحان

1:22:53الجزئي الأول ، للأسف ،

1:22:55يحتوي على الكثير من

1:22:57النظرية يا شباب . من لم

1:22:58يقم بالعمل العملي

1:23:00يمكنه إرساله لي ،

1:23:01وسألقي نظرة عليه

1:23:03لاحقاً . حسناً ، إذن

1:23:05انتهينا اليوم . نلتقي

1:23:09يوم الاثنين وأرجوكم

1:23:10استغلوا يوم الأربعاء .

1:23:13حسناً ،

1:23:15>> فكرة يوم الأربعاء هي

1:23:17أن تراجعوا ما تم شرحه

1:23:18يوم الاثنين . هكذا

1:23:20يكون الأمر أسهل عند

1:23:21اقتراب الامتحان .

1:23:24حسناً ، هل هناك أي

1:23:26سؤال أو استفسار ؟ إذا

1:23:27لم يكن هناك ، سأترككم

1:23:29ويمكنكم الذهاب بسلام .

1:23:31>> إلى اللقاء يوم

1:23:32الاثنين .

1:23:33>> نراك يا أستاذ . شكراً .

1:23:35نلتقي .

1:23:36>> وداعاً .

1:23:37>> وداعاً . نراك . وداعاً .

1:23:40لا .

More from MecaHormiga

Recently added transcripts

Browse the whole transcript library

This transcript was generated from the captions YouTube publishes for this video. Get the transcript of any YouTube video atfreeyoutubetranscribe.com, free, unlimited, no sign-up.