Posts

Showing posts from December, 2025

The 12 Agile Principles

  المبادئ الـ 12 للأجايل (The 12 Agile Principles) الأجايل (Agile) مش مجرد Framework ولا طريقة شغل في Software Development ، ده Mindset أو عقلية شغل. فكرته الأساسية إنك تشتغل بمرونة (Flexibility) ، وتوصل قيمة حقيقية (Business Value) للعميل بسرعة ومن غير تعقيد. خلّينا نفهم The 12 Agile Principles واحدة واحدة. 1. رضا العميل قبل أي حاجة (Customer Satisfaction) أهم هدف في الأجايل هو إرضاء العميل (Customer Satisfaction) عن طريق تسليم شغل شغال (Working Software) بشكل مستمر (Continuous Delivery) . العميل يشوف نتيجة بدري = Trust أعلى. 2. التغيير مش عدو (Welcome Changing Requirements) في الأجايل، التغيير (Change) مرحّب بيه، حتى لو حصل متأخر في المشروع (Late in Development) . ده بيساعد إن المنتج النهائي يطلع مناسب للسوق (Market Needs) . 3. سلّم شغل شغال على فترات قصيرة (Deliver Working Software Frequently) بدل ما تشتغل فترة طويلة وبعدين تسلّم، الأجايل بيشجع على التسليم كل Iteration / Sprint قصيرة (أسبوعين أو شهر). Small Increments أحسن من مشروع كبير مش شغال. ...

Document Data vs Key–Value Data

Document Data vs Key–Value Data — Technical Comparison A concise comparison to help you choose the right NoSQL model for your workload. Overview Both document databases and key–value stores are types of NoSQL data stores. They differ primarily in data model complexity, query capabilities, and typical use cases. Below you'll find a practical comparison across structure, querying, performance, scaling, and recommended scenarios. 1. Data Structure and Format Document Data Stored as self-describing documents (JSON, BSON, or XML). Supports nested objects and arrays. { "id": "123", "name": "Hany", "address": { "city": "Riyadh", "zip": "12345" } } Key–Value Data The simplest model: a unique key mapped to an opaque value (string, blob, or JSON). The store doesn't interpret the value. Key: user:123 Value: {"name":"Hany","city":"Riyadh"} 2. Que...

Big Data Architectures: Lambda vs. Kappa

Lambda vs. Kappa Architecture and A/B Testing Big Data Architectures: Lambda vs. Kappa This document provides a side-by-side comparison of the Lambda and Kappa Big Data architectures, followed by practical use case examples for each, and a detailed explanation of the A/B Test Conversion Rate metric often used in conjunction with these systems. 1. Lambda Architecture (Three Layers) The Lambda Architecture is designed to handle **large, historical data** while also providing **real-time insights**. It achieves high data accuracy by combining the results of two different paths. Layer Purpose Key Function Batch Layer Accuracy. Stores the master dataset and pre-computes historical, highly accurate views. Processes all data history to correct errors and ensure a canonica...

Microsoft Entra ID (formerly Azure Active Directory)

  Understanding Microsoft Entra ID and Its Full Feature Set Microsoft Entra ID—formerly known as Azure Active Directory (Azure AD)—is Microsoft’s cloud-based identity and access management (IAM) service. It sits at the center of Microsoft’s security ecosystem and helps organizations manage users, devices, applications, authentication, access control, and compliance. Whether you're securing a large enterprise or building modern cloud apps, Entra ID provides a unified platform that handles identity across hybrid and cloud environments. 🔐 1. Identity Management Entra ID handles everything related to user identities: ✔ User & Group Management Create, update, and organize users. Use security groups and Microsoft 365 groups. Manage roles and delegate permissions with Role-Based Access Control (RBAC). ✔ Lifecycle Automation Automate provisioning and de-provisioning. Integrate with HR systems like Workday or SAP. Use Entra ID Connect or cloud provisioning fo...

POC in Azure APIM

  في عالم Azure API Management (APIM)، كلمة POC معناها: ✔ Proof of Concept إثبات الفكرة / نموذج تجريبي نفس معناها العام… بس استخدامها في APIM ليه سياق تقني شائع جدًا. --- 🎯 طيب… POC في APIM بيستخدم في إيه بالظبط؟ لما فريق DevOps أو Cloud Engineer أو Backend Developer عايز يجرّب: إضافة API جديدة في APIM سياسة معينة (Policies مثل Rate Limiting, JWT Validation…) سيناريو Security Integration زي ربط APIM مع Entra ID Internal vs External API exposure VNET integration Caching policy Versioning strategy … كل ده قبل ما المشروع يبدأ رسميًا. بيعملوا POC في APIM يشوفوا: ✔ هل السيناريو قابل للتنفيذ؟ ✔ هل الـ policies هتشتغل زي المتوقع؟ ✔ هل الـ API هتعدّي من الـ Gateway بدون مشاكل؟ ✔ هل في latency؟ ✔ هل التكلفة مناسبة؟ ✔ هل لازم Architecture مختلفة؟ --- 🧪 أمثلة على POC داخل APIM 1️⃣ POC لربط APIM مع Microsoft Entra ID تجربة: JWT validation policy OAuth 2.0 flow Protecting backend APIs 2️⃣ POC لعمل API Caching “هل caching من APIM يقلل الحمل على الـ backend؟” 3️⃣ POC لعمل Transformation مثلاً: ...

The "Story" Of Vision → Strategy → Roadmap → ART Backlog → Prioritization → Delivery → Inspect & Adapt

  🎞️ 🎬 الفيلم الكامل: “رحلة كريم من فكرة لـ LMS عالمي” (Vision → Strategy → Roadmap → ART Backlog → Prioritization → Delivery → Inspect & Adapt) 📌 المشهد 1 – الشرارة الأولى: الـVision كان كريم واقف لوحده في مكتب صغير في آخر اليوم… بيفكر: “ليه معظم منصات التعليم بتتجاهل أبسط احتياجات المعلّم؟ ليه لازم نعمل واحد أحسن؟” كتب رؤية بسيطة على لوحة: “منصة تعليم رقمية بسيطة، فعّالة، وبتحترم وقت المعلّم قبل الطالب.” وده كان المفتاح. رؤية قصيرة… بسيطة… بس قوية بما يكفي إنها تجمع حواليها فريق كامل. 📌 المشهد 2 – رسم الخريطة: Product Strategy & Roadmap قعد كريم مع الإدارات، ومع المدارس، ومع المعلمين الحقيقيين… سمع مشاكل كتير: حضور الطلاب مش واضح تصحيح الواجبات بيموت الوقت التواصل مع أولياء الأمور ضعيف المحتوى مش مترتب حوّل كل ده إلى 3 مسارات استراتيجية: Make teaching easy تقليل وقت المعلّم على المنصة. Make learning engaging إن الطالب يحب يكمّل. Make administration transparent إن المدير يشوف الحقيقة مش التقارير “الرسمية”. وبعدين حولهم إلى ...