🌊 Lecture 14 · Process Models & Scrum

Software Process Models

Waterfall · Iterative · Agile · RUP · Scrum (Q1.09-Q1.13 in every exam). الـ Scrum roles, sprints, retrospective — دول بييجوا في كل امتحان يا صاحبي، متغفلش عنهم!

7
Chapters
5
Process Models
12
Agile Principles
8
Exam Qs
01

Software Life Cycle

المراحل الـ 9 اللي أي software product بيعدي بيهم — من أول فكرة في دماغك لحد ما يتصان.

🔄 9 Phases
  1. Conception — الفكرة الأولانية للمشروع، يعني أول حاجة بتيجي في دماغك.
  2. Feasibility Study / Domain Analysis — بتدرسوا هل المشروع ده يستاهل ولا لأ، وبتتعرفوا على المجال.
  3. Requirements' Gathering — بتاخدوا المتطلبات من العميل، يعني هو عايز ايه بالظبط.
  4. Overall Design — بترسموا الشكل العام للنظام.
  5. Detailed Design — بترسموا تفاصيل كل جزء في النظام.
  6. Development (Coding, Programming) — بتكتبوا الكود الفعلي.
  7. Testing (Unit, Integration, Acceptance) — بتختبروا على كل المستويات.
  8. Deployment / Training — بترفعوا النظام وبتدربوا الناس عليه.
  9. Maintenance and Evolution — صيانة وتطوير مستمر.
💡 الـ 4 أنشطة الأساسية
  • Specification: المراحل 1-5 — يعني بتحددوا إيه اللي عايزينه.
  • Development: المرحلة 6 — يعني البناء الفعلي للنظام.
  • Validation: المرحلة 7 — بتتأكدوا إنه شغّال صح.
  • Evolution: المراحل 8-9 — تطوير وصيانة مستمرة.
02

Software Process Models

كل process model بيوصفلك: الأنشطة اللي بتتعمل، ترتيبها، مين المسؤول عنها، وبيطلع منها ايه.

📖 Definition

الـ software process model بيوصفلك:

  • الـ Activities اللي لازم تتعمل عشان تطلع software.
  • ترتيب الأنشطة دي بعضها مع بعض.
  • الـ roles اللي مسؤولة عن كل نشاط.
  • الـ deliverables (artifacts) اللي بتطلع من كل مرحلة.
🌟 الـ 5 Main Models

🌊 Waterfall

خطي · مرحلة بمرحلة

🔂 Iterative / Incremental

Mini-waterfalls لكل increment

🚀 Agile

مستمر · مرن

🏗️ RUP

Framework تكراري

⚡ Scrum

Sprints · أدوار · اجتماعات

📌 Winter 2023 Q1.06"What is true about software process models?"
الإجابة الصح: All three — (I) بتشمل الـ linear زي Waterfall والـ agile زي XP · (II) بتحدد مين بيعمل ايه وامتى والمخرجات · (III) طرق مختلفة لتنظيم أنشطة تطوير الـ software.
03

Waterfall Model — النموذج الخطي الكلاسيكي

أقدم وأبسط model. سهلة وبسيطة، بس صارم جداً — مفيش رجعة للمرحلة اللي فاتت خالص.

🌊 The Stages
5. Testing
4. Implementation
3. Design
2. Analysis
1. Requirements

كل مرحلة لازم تخلص وتسلّم حاجة "متجمّدة" قبل ما اللي بعدها تبدأ. مفيش رجعة خالص.

Strengths — نقط القوة
  • سهلة وبسيطة في الفهم والاستخدام.
  • بيوفّر هيكل واضح للناس اللي مش عندهم خبرة كبيرة.
  • الـ milestones واضحة ومحددة.
  • بيقفّل الـ requirements من الأول.
  • تمام جداً للـ management control: تخطيط، توظيف، ومتابعة.
  • بيشتغل كويس لما الـ quality أهم من الـ cost والـ schedule.
Deficiencies — نقط الضعف
  • لازم كل الـ requirements تكون معروفة من الأول — وده صعب في الواقع.
  • الـ deliverables متجمّدة — مفيش مرونة خالص.
  • ممكن يدي إحساس زيف إن الشغل ماشي كويس.
  • مش بيشبه طبيعة حل المشاكل الحقيقية في الحياة.
  • الـ integration بيحصل مرة واحدة كبيرة في الآخر — الـ big bang integration ده وجع.
  • العميل مش بيشوف حاجة شغّالة إلا في الآخر.
🎯 امتى نستخدم Waterfall؟
  • الـ requirements معروفة كويس جداً من الأول.
  • تعريف المنتج مستقر ومش هيتغير.
  • الـ technology مفهومة ومعروفة.
  • لما بتعمل version جديد من منتج موجود.
  • لما بتنقل (porting) منتج موجود لـ platform جديدة.
04

Incremental / Iterative Model — التطوير التدريجي

يعني شغلك بقى مجموعة mini-waterfalls صغيرين. كل increment بيطلع منه software شغّال فعلاً.

🔂 الفكرة
  • بتبني جزء من النظام الأول — مش لازم كله دفعة واحدة.
  • بتضيف وظائف جديدة بالتدريج مع الوقت.
  • بتعمل prioritize للـ requirements وبتطبقهم في مجموعات.
  • كل release بيزوّد وظائف على اللي قبله، لحد ما النظام يكمل.
Strengths — نقط القوة
  • بتطوّر الحاجات الـ high-risk أو الأهم الأول.
  • كل release = منتج شغّال فعلاً.
  • العميل يقدر يرد على كل build.
  • بيقلل تكلفة أول تسليم.
  • أول تسليم بيطلع أسرع.
  • العملاء بياخدوا الوظائف المهمة بدري.
  • خطر تغيير الـ requirements بيقل كتير.
Weaknesses — نقط الضعف
  • محتاج تخطيط وتصميم كويس من الأول.
  • لازم النظام الكامل يكون متعرّف من الأول.
  • محتاج interfaces واضحة بين الـ modules.
  • التكلفة الكلية للنظام مش أقل من الـ Waterfall — متوهمش كده.
05

Agile SDLCs — التطوير المرن

تكراري وتدريجي وتخطيطه مرن — وبيتكيف مع التغيير بسهولة.

🚀 خصائص الـ Agile
  • غالباً أقل رسمية وبـ scope أصغر — ما فيهاش تعقيدات زيادة.
  • بتوفّر في الـ documentation.
  • بتدمج أنشطة الجودة جوّا عملية التطوير مش في الآخر.
  • بتتستخدم للتطبيقات اللي عليها ضغط وقت (time-critical).
📜 12 Agile Principles (Agile Manifesto) — الـ 12 مبدأ
  1. أعلى أولوية: إرضاء العميل من خلال تسليم بدري ومستمر.
  2. نرحّب بـ تغيير الـ requirements، حتى لو في مراحل متأخرة — مش بنتضايق.
  3. نسلّم software شغّال باستمرار — أسابيع مش شهور، وكل ما يكون أقصر أحسن.
  4. الـ business people + الـ developers يشتغلوا مع بعض يومياً — مش كل شوية.
  5. نبني حول أفراد motivated — نوفرلهم البيئة والدعم ونثق فيهم.
  6. Face-to-face conversation = أكفأ طريقة للتواصل — أحسن من أي إيميل.
  7. Working software = المقياس الأساسي للتقدم — مش الدوكيومنت.
  8. نشجّع وتيرة تطوير مستدامة — محدش يحترق.
  9. اهتمام مستمر بالـ technical excellence والتصميم الكويس.
  10. Simplicity — نزوّد الشغل اللي مش محتاجين نعمله.
  11. أحسن architectures/requirements/designs بتطلع من self-organizing teams.
  12. الفريق بيراجع نفسه بانتظام عشان يتحسّن كل sprint.
🎭 Agile Methods
  • ASD — Adaptive Software Development
  • FDD — Feature Driven Development
  • Crystal Clear
  • DSDM — Dynamic Software Development Method
  • RAD — Rapid Application Development
  • Scrum
  • XP — Extreme Programming
06

RUP — Rational Unified Process

Framework تكراري من IBM — بتعدّله براحتك، مش صارم زي الـ Waterfall.

📊 RUP — 4 Phases
  1. Inception — بتحددوا الـ scope والرؤية والـ business case.
  2. Elaboration — بتبنوا الـ architecture وبتنقّحوا الـ requirements.
  3. Construction — بناء النظام الفعلي.
  4. Transition — تسليم وتدريب ونشر.

جوّا كل phase فيه iterations متعددة. كل iteration بيشمل Business Modeling، Requirements، Analysis، Design، Implementation، Test، Deployment — بس بنسب مختلفة.

👥 RUP Roles (UPEDU)

Analyst · Designer · Implementer · Integrator · Tester · Change Control Manager · Configuration Manager · Project Manager · Reviewer · Stakeholder

07

Scrum ⭐⭐⭐

الـ exam بيغرق فيه! ممكن تلاقي 4 أو 5 أسئلة في الامتحان عن الـ Scrum بس — خد بالك.

عناصر الـ Scrum
  • Gathering Requirements — بتكتبوا User Stories وبتحطوهم في الـ Product Backlog.
  • Team Roles — 3 أدوار بس، مش أكتر.
  • Release Planning — بتختاروا الـ stories وبترتبوهم وبتقدّروا الوقت.
  • Sprints — من 3 لـ 30 يوم، وغالباً أسبوعين.
  • Daily Scrum Meeting — اجتماع كل يوم 15 دقيقة وقوفاً.
  • Sprint Retrospective — مراجعة في آخر كل sprint.
  • Burndown Chart — عشان تتابعوا التقدم.
👥 3 Scrum Roles
🦸

Scrum Master

هو الـ team leader. بيسهّل الشغل، بيشيل الحواجز اللي قدام الفريق، وبيحميه. مش manager زي ما ناس بتفتكر.

👔

Product Owner

بيمثّل العميل والبيزنس جوّا الفريق. بيملك الـ product backlog وبيرتّبه حسب الأولوية.

👨‍💻

Team (Everyone Else)

أعضاء cross-functional: مطورين، مصممين، testers. بيديروا نفسهم. مفيش sub-roles جواهم.

📌 Fall 2021-22 Q1.09"Team leader in Scrum" = Scrum Master. (Not project manager, not client rep.)
📌 Winter 2021 Q1.09"Roles in Scrum team" = Scrum master, product owner, and everyone else.
🏃 Sprints

بتقسّم الـ release لـ sprints صغيرين (غالباً أسبوعين). كل sprint بيطلع منه user stories جاهزة للرفع.

Sprint 1
Weeks 1-2
Sprint 2
Weeks 3-4
Sprint 3
Weeks 5-6
Sprint 4
Weeks 7-8
☀️ Daily Standup Meeting
  • المدة: 15 دقيقة بالكتير — مش أكتر.
  • امتى: كل صبح في أول الشغل.
  • وقوف عشان ما حدش يطوّل.

3 أسئلة لكل فرد في الفريق:

  1. عملت ايه امبارح؟
  2. هتعمل ايه النهاردة؟
  3. فيه حاجة بتعيقك؟
📌 Winter 2021 Q1.10الإجابة: (1) What did you do yesterday? (2) What will you do today? (3) What obstacles do you face?
🔄 Sprint Retrospective

بتتعمل في آخر كل sprint. الفريق بيمتحن نفسه:

  • ايه اللي اشتغل كويس؟
  • ايه اللي كان على الوجه التاني؟
  • إزاي نعمل اللي جاي أحسن؟
📌 Fall 2021-22 Q1.10 الـ Retrospective بتتعمل في آخر الـ sprint عشان الفريق يراجع ايه اللي مشي كويس وايه اللي لازم يتحسّن.
📌 Winter 2025 Q1.13 ايه اللي مش صح عن الـ Scrum Retrospective؟ — الإجابة إن بتناقش خطة الـ release الجاية مع العميل دي غلط. الـ retrospective اجتماع جوّاني للفريق، مش مع العميل.
📡 إزاي Scrum بيحقق تواصل سريع مع العميل

من Winter 2023 Q1.07:

  • Short release cycles — دورات إصدار قصيرة: العميل بيشوف progress بسرعة.
  • ❌ Daily stand-up — ده اجتماع جوّاني للفريق مش مع العميل.
  • ✅ دور الـ Product Owner — ده هو اللي بيمثّل العميل جوّا الفريق.

الإجابة: Only I and III — دورات الإصدار القصيرة + دور الـ product owner.

🎯

Exam Bank — Lecture 14

8 أسئلة حقيقية. الـ Scrum داخل في كل امتحان final — متسيبش حاجة.

Question 1 Fall 2021–22 · Q1.09
The team leader in Scrum process is called:
A Product owner
B Project manager
C Scrum master
D Scrum supervisor
E Client representative
✅ الإجابة الصح: C — Scrum Master الـ Scrum Master هو الـ facilitator والـ team leader. مش project manager — الـ Scrum أصلاً مفيهوش دور PM. الـ Product Owner هو اللي بيمثّل العميل.
Question 2 Fall 2021–22 · Q1.10
Scrum retrospective meeting is done:
A Every day for 15 minutes to discuss progress and plan of the day
B At the beginning of the sprint to discuss priorities
C At the end of the sprint to reflect on what went well and what can be improved
D At the beginning of the project to discuss scope/duration/budget
✅ الإجابة الصح: C — آخر الـ sprint، مراجعة (A) ده بيوصف الـ daily standup مش الـ retrospective — متتهاونش في الفرق ده.
Question 3 Winter 2021 · Q1.09
The roles in the Scrum team are:
A Requirements engineer, programmer, manager
B Scrum master, product owner, and everyone else (other team members)
C Business analyst, Scrum developer, tester
D Scrum analyst, client, software engineer
✅ الإجابة الصح: B الـ Scrum فيه 3 أدوار بس: Scrum Master, Product Owner, والـ Team. الـ Team متعدد التخصصات ومفيش sub-roles جواه.
Question 4 Winter 2021 · Q1.10
Scrum daily meeting is done standing for 15 minutes to ask these questions for every team member:
A (1) What did you do yesterday? (2) What obstacles did you face? (3) What caused these obstacles?
B (1) What stories did you finish? (2) Which next? (3) How long?
C (1) What did you do yesterday? (2) What will you do today? (3) What obstacles do you face?
D (1) What did you do yesterday? (2) What today? (3) Who was with you?
✅ الإجابة الصح: C — امبارح / النهارده / العوائق دول الـ 3 أسئلة الكلاسيكية اللي بتتسأل في كل daily standup — احفظهم كده.
Question 5 Winter 2023 · Q1.06
What is true about software process models?
I. They include linear models like waterfall and agile models like XP.
II. They define who does what and when to produce which artifacts.
III. They are different ways for organizing the software development activities.
A Only I
B Only I and III
C Only II
D Only II and III
E All three
✅ الإجابة الصح: E — كلهم صح كل العبارات صحيحة. الـ Process models بتنظّم الشغل وبتحدد مين بيعمل ايه وامتى وبتشمل أنواع من الـ linear زي Waterfall للـ agile زي XP.
Question 6 Winter 2023 · Q1.07
How does Scrum achieve effective and quick communication with the client?
I. By adopting short release cycles
II. By holding a daily stand-up meeting
III. By having a product owner role
A Only I
B Only I and II
C Only II
D Only II and III
E Only I and III
✅ الإجابة الصح: E — I و III بس الـ release cycles القصيرة بتخلّي العميل يشوف التقدم بسرعة. والـ Product Owner هو اللي بيمثّل العميل جوّا الفريق.
II (الـ Daily standup) — ده اجتماع جوّاني، العميل مش جزء منه خالص.
Question 7 Winter 2025 · Q1.12
Given diagrams: (1) staircase rising, (2) iterations with feedback at each, (3) many small repeated mini-cycles — which model is which?
A (1) Waterfall, (2) Agile, (3) Iterative
B (1) Agile, (2) Iterative, (3) Waterfall
C (1) Waterfall, (2) Iterative, (3) Agile
D (1) Iterative, (2) Agile, (3) Waterfall
✅ الإجابة الصح: C سلّم طالع = Waterfall خطي. تكرارات قليلة مع feedback = Iterative. دورات صغيرة كتير = Agile.
Question 8 Winter 2025 · Q1.13
What is NOT true about Scrum Retrospective meeting?
A It discusses the plan of the next release with the client
B It discusses what went good or bad in the last sprint
C It discusses how we can improve in the next sprint
D It is held after the sprint is finished
✅ الإجابة الصح: A الـ Retrospective اجتماع جوّاني للفريق — مش مع العميل خالص. تواصل العميل بيكون من خلال حاجات تانية زي Sprint Review والـ Product Owner. الـ B, C, D كلهم صح.
📋

Cheat Sheet

Process models + Scrum reference.

🌊 Waterfall

Phases
Req → Design → Impl → Test → Maintain
Use when
Requirements stable, tech known
Weakness
No flexibility, big bang integration

🔂 Incremental

Each increment
Mini-waterfall
Strength
Customer responds to each build
Total cost
NOT lower than waterfall

🚀 Agile

Manifesto
12 principles
Priority #1
Satisfy customer through continuous delivery
Best com.
Face-to-face conversation
Progress
Working software

⚡ Scrum Roles (3)

Scrum Master
Team leader, facilitates
Product Owner
Represents client, owns backlog
Team
Everyone else (devs, testers, etc.)

📅 Scrum Ceremonies

Sprint
3-30 days, usually 2 weeks
Daily Standup
15 min, 3 questions (yesterday/today/obstacles)
Retrospective
End of sprint, internal — what went good/bad/improve

🎯 Scrum Client Comm.

✓ Short release cycles
Quick feedback
✓ Product Owner
Client representative
✗ Daily standup
Internal, NOT with client

Rapid Revision

3 Scrum roles؟
tap
Scrum Master · Product Owner · Team
Scrum team leader؟
tap
Scrum Master
Daily standup duration؟
tap
15 minutes max
3 daily standup questions؟
tap
Yesterday · Today · Obstacles
Retrospective when؟
tap
End of sprint
Sprint duration؟
tap
3-30 days, usually 2 weeks
Agile priority #1؟
tap
Customer satisfaction through continuous delivery
RUP 4 phases؟
tap
Inception · Elaboration · Construction · Transition
Waterfall when؟
tap
Stable requirements + known tech

🚨 أخطاء شائعة — خد بالك منهم!

1. Scrum Master ≠ Project Manager — الـ Scrum أصلاً مفيهوش دور PM. الـ Scrum Master بيسهّل الشغل ومش بيوجّه حد.
2. Daily Standup ≠ تواصل مع العميل — ده اجتماع جوّاني بس. التواصل مع العميل بيكون من خلال release cycles قصيرة + الـ Product Owner.
3. Retrospective ≠ Sprint Planning — الـ Retrospective = تحسين العملية في نفسها. الـ Sprint Planning = اختيار الـ stories. الاتنين منفصلين تماماً.